The cinder.volume.api Module

Handles all requests relating to volumes.

class API(db_driver=None, image_service=None)

Bases: cinder.db.base.Base

API for interacting with the volume manager.

AVAILABLE_MIGRATION_STATUS = (None, 'deleting', 'error', 'success')
accept_transfer(context, target_obj, *args, **kwargs)
attach(context, target_obj, *args, **kwargs)
attachment_create(context, target_obj, *args, **kwargs)

Create an attachment record for the specified volume.

attachment_delete(context, target_obj, *args, **kwargs)
attachment_update(context, target_obj, *args, **kwargs)

Update an existing attachment record.

begin_detaching(context, target_obj, *args, **kwargs)
check_volume_filters(filters, strict=False)

Sets the user filter value to accepted format

copy_volume_to_image(context, target_obj, *args, **kwargs)

Create a new image from the specified volume.

create(context, size, name, description, snapshot=None, image_id=None, volume_type=None, metadata=None, availability_zone=None, source_volume=None, scheduler_hints=None, source_replica=None, consistencygroup=None, cgsnapshot=None, multiattach=False, source_cg=None, group=None, group_snapshot=None, source_group=None)
create_snapshot(context, volume, name, description, metadata=None, cgsnapshot_id=None, group_snapshot_id=None)
create_snapshot_force(context, volume, name, description, metadata=None)
create_snapshot_in_db(context, volume, name, description, force, metadata, cgsnapshot_id, commit_quota=True, group_snapshot_id=None)
create_snapshots_in_db(context, volume_list, name, description, cgsnapshot_id, group_snapshot_id=None)
create_volume_metadata(context, target_obj, *args, **kwargs)

Creates volume metadata.

delete(context, target_obj, *args, **kwargs)
delete_snapshot(context, target_obj, *args, **kwargs)
delete_snapshot_metadata(context, target_obj, *args, **kwargs)

Delete the given metadata item from a snapshot.

delete_volume_metadata(context, target_obj, *args, **kwargs)

Delete the given metadata item from a volume.

detach(context, target_obj, *args, **kwargs)
extend(context, target_obj, *args, **kwargs)
failover(ctxt, host, cluster_name, secondary_id=None)
freeze_host(ctxt, host, cluster_name)
get(context, volume_id, viewable_admin_meta=False)
get_all(context, marker=None, limit=None, sort_keys=None, sort_dirs=None, filters=None, viewable_admin_meta=False, offset=None)
get_all_snapshots(context, search_opts=None, marker=None, limit=None, sort_keys=None, sort_dirs=None, offset=None)
get_list_volumes_image_metadata(context, volume_id_list)
get_manageable_snapshots(context, host, cluster_name, marker=None, limit=None, offset=None, sort_keys=None, sort_dirs=None)
get_manageable_volumes(context, host, cluster_name, marker=None, limit=None, offset=None, sort_keys=None, sort_dirs=None)
get_snapshot(context, snapshot_id)
get_snapshot_metadata(context, target_obj, *args, **kwargs)

Get all metadata associated with a snapshot.

get_snapshot_metadata_value(snapshot, key)
get_volume(context, volume_id)
get_volume_admin_metadata(context, target_obj, *args, **kwargs)

Get all administration metadata associated with a volume.

get_volume_image_metadata(context, target_obj, *args, **kwargs)
get_volume_metadata(context, target_obj, *args, **kwargs)

Get all metadata associated with a volume.

get_volume_summary(context, filters=None)
get_volumes_image_metadata(context)
initialize_connection(context, target_obj, *args, **kwargs)
list_availability_zones(enable_cache=False)

Describe the known availability zones

:retval tuple of dicts, each with a ‘name’ and ‘available’ key

manage_existing(context, host, cluster_name, ref, name=None, description=None, volume_type=None, metadata=None, availability_zone=None, bootable=False)
manage_existing_snapshot(context, ref, volume, name=None, description=None, metadata=None)
migrate_volume(context, target_obj, *args, **kwargs)

Migrate the volume to the specified host or cluster.

migrate_volume_completion(context, target_obj, *args, **kwargs)
reserve_volume(context, target_obj, *args, **kwargs)
retype(context, target_obj, *args, **kwargs)

Attempt to modify the type associated with an existing volume.

roll_detaching(context, target_obj, *args, **kwargs)
terminate_connection(context, target_obj, *args, **kwargs)
thaw_host(ctxt, host, cluster_name)
unreserve_volume(context, target_obj, *args, **kwargs)
update(context, target_obj, *args, **kwargs)
update_readonly_flag(context, target_obj, *args, **kwargs)
update_snapshot(context, target_obj, *args, **kwargs)
update_snapshot_metadata(context, target_obj, *args, **kwargs)

Updates or creates snapshot metadata.

If delete is True, metadata items that are not specified in the metadata argument will be deleted.

update_volume_admin_metadata(context, target_obj, *args, **kwargs)

Updates or creates volume administration metadata.

If delete is True, metadata items that are not specified in the metadata argument will be deleted.

update_volume_metadata(context, target_obj, *args, **kwargs)

Updates volume metadata.

If delete is True, metadata items that are not specified in the metadata argument will be deleted.

class HostAPI(db_driver=None)

Bases: cinder.db.base.Base

Sub-set of the Volume Manager API for managing host operations.

get_host_uptime(context, host)

Returns the result of calling “uptime” on the target host.

host_power_action(context, host, action)
set_host_enabled(context, host, enabled)

Sets the specified host’s ability to accept new volumes.

set_host_maintenance(context, host, mode)

Start/Stop host maintenance window.

On start, it triggers volume evacuation.

check_policy(context, action, target_obj=None)
wrap_check_policy(func)

Check policy corresponding to the wrapped methods prior to execution

This decorator requires the first 3 args of the wrapped function to be (self, context, volume)