cinder.volume.rpcapi module¶
- class VolumeAPI¶
- Bases: - RPCAPI- Client side of the volume rpc API. - API version history: - 1.0 - Initial version. 1.1 - Adds clone volume option to create_volume. 1.2 - Add publish_service_capabilities() method. 1.3 - Pass all image metadata (not just ID) in copy_volume_to_image. 1.4 - Add request_spec, filter_properties and allow_reschedule arguments to create_volume(). 1.5 - Add accept_transfer. 1.6 - Add extend_volume. 1.7 - Adds host_name parameter to attach_volume() to allow attaching to host rather than instance. 1.8 - Add migrate_volume, rename_volume. 1.9 - Add new_user and new_project to accept_transfer. 1.10 - Add migrate_volume_completion, remove rename_volume. 1.11 - Adds mode parameter to attach_volume() to support volume read-only attaching. 1.12 - Adds retype. 1.13 - Adds create_export. 1.14 - Adds reservation parameter to extend_volume(). 1.15 - Adds manage_existing and unmanage_only flag to delete_volume. 1.16 - Removes create_export. 1.17 - Add replica option to create_volume, promote_replica and sync_replica. 1.18 - Adds create_consistencygroup, delete_consistencygroup, create_cgsnapshot, and delete_cgsnapshot. Also adds the consistencygroup_id parameter in create_volume. 1.19 - Adds update_migrated_volume 1.20 - Adds support for sending objects over RPC in create_snapshot() and delete_snapshot() 1.21 - Adds update_consistencygroup. 1.22 - Adds create_consistencygroup_from_src. 1.23 - Adds attachment_id to detach_volume. 1.24 - Removed duplicated parameters: snapshot_id, image_id, source_volid, source_replicaid, consistencygroup_id and cgsnapshot_id from create_volume. All off them are already passed either in request_spec or available in the DB. 1.25 - Add source_cg to create_consistencygroup_from_src. 1.26 - Adds support for sending objects over RPC in create_consistencygroup(), create_consistencygroup_from_src(), update_consistencygroup() and delete_consistencygroup(). 1.27 - Adds support for replication V2 1.28 - Adds manage_existing_snapshot 1.29 - Adds get_capabilities. 1.30 - Adds remove_export 1.31 - Updated: create_consistencygroup_from_src(), create_cgsnapshot() and delete_cgsnapshot() to cast method only with necessary args. Forwarding CGSnapshot object instead of CGSnapshot_id. 1.32 - Adds support for sending objects over RPC in create_volume(). 1.33 - Adds support for sending objects over RPC in delete_volume(). 1.34 - Adds support for sending objects over RPC in retype(). 1.35 - Adds support for sending objects over RPC in extend_volume(). 1.36 - Adds support for sending objects over RPC in migrate_volume(), migrate_volume_completion(), and update_migrated_volume(). 1.37 - Adds old_reservations parameter to retype to support quota checks in the API. 1.38 - Scaling backup service, add get_backup_device() and secure_file_operations_enabled() 1.39 - Update replication methods to reflect new backend rep strategy 1.40 - Add cascade option to delete_volume(). ... Mitaka supports messaging version 1.40. Any changes to existing methods in 1.x after that point should be done so that they can handle the version_cap being set to 1.40. 2.0 - Remove 1.x compatibility 2.1 - Add get_manageable_volumes() and get_manageable_snapshots(). 2.2 - Adds support for sending objects over RPC in manage_existing(). 2.3 - Adds support for sending objects over RPC in initialize_connection(). 2.4 - Sends request_spec as object in create_volume(). 2.5 - Adds create_group, delete_group, and update_group 2.6 - Adds create_group_snapshot, delete_group_snapshot, and create_group_from_src(). ... Newton supports messaging version 2.6. Any changes to existing methods in 2.x after that point should be done so that they can handle the version_cap being set to 2.6. 3.0 - Drop 2.x compatibility 3.1 - Remove promote_replica and reenable_replication. This is non-backward compatible, but the user-facing API was removed back in Mitaka when introducing cheesecake replication. 3.2 - Adds support for sending objects over RPC in get_backup_device(). 3.3 - Adds support for sending objects over RPC in attach_volume(). 3.4 - Adds support for sending objects over RPC in detach_volume(). 3.5 - Adds support for cluster in retype and migrate_volume 3.6 - Switch to use oslo.messaging topics to indicate backends instead of @backend suffixes in server names. 3.7 - Adds do_cleanup method to do volume cleanups from other nodes that we were doing in init_host. 3.8 - Make failover_host cluster aware and add failover_completed. 3.9 - Adds new attach/detach methods 3.10 - Returning objects instead of raw dictionaries in get_manageable_volumes & get_manageable_snapshots 3.11 - Removes create_consistencygroup, delete_consistencygroup, create_cgsnapshot, delete_cgsnapshot, update_consistencygroup, and create_consistencygroup_from_src. 3.12 - Adds set_log_levels and get_log_levels 3.13 - Add initialize_connection_snapshot, terminate_connection_snapshot, and remove_export_snapshot. 3.14 - Adds enable_replication, disable_replication, failover_replication, and list_replication_targets. 3.15 - Add revert_to_snapshot method 3.16 - Add no_snapshots to accept_transfer method 3.17 - Make get_backup_device a cast (async) 3.18 - Add reimage method 3.19 - Add extend_volume_completion method 3.20 - Add image_snap parameter to reimage method- BINARY = 'cinder-volume'¶
 - RPC_API_VERSION = '3.20'¶
 - RPC_DEFAULT_VERSION = '3.0'¶
 - TOPIC = 'cinder-volume'¶
 - accept_transfer(ctxt, volume, new_user, new_project, no_snapshots=False)¶
 - attach_volume(ctxt, volume, instance_uuid, host_name, mountpoint, mode)¶
 - attachment_delete(ctxt, attachment_id, vref)¶
 - attachment_update(ctxt, vref, connector, attachment_id)¶
 - copy_volume_to_image(ctxt, volume, image_meta)¶
 - create_group(ctxt: RequestContext, group: Group) None¶
 - create_group_from_src(ctxt, group, group_snapshot=None, source_group=None)¶
 - create_group_snapshot(ctxt, group_snapshot)¶
 - create_snapshot(ctxt: RequestContext, volume: Volume, snapshot: Snapshot) None¶
 - create_volume(ctxt: RequestContext, volume: Volume, request_spec: dict | None, filter_properties: dict | None, allow_reschedule: bool = True) None¶
 - delete_group(ctxt, group)¶
 - delete_group_snapshot(ctxt, group_snapshot)¶
 - delete_snapshot(ctxt, snapshot, unmanage_only=False)¶
 - delete_volume(ctxt: RequestContext, volume: Volume, unmanage_only: bool = False, cascade: bool = False) None¶
 - detach_volume(ctxt, volume, attachment_id)¶
 - disable_replication(ctxt, group)¶
 - do_cleanup(ctxt, cleanup_request)¶
- Perform this service/cluster resource cleanup as requested. 
 - enable_replication(ctxt, group)¶
 - extend_volume(ctxt, volume, new_size, reservations)¶
 - extend_volume_completion(ctxt, volume, new_size, reservations, error)¶
 - failover(ctxt, service, secondary_backend_id=None)¶
- Failover host to the specified backend_id (secondary). 
 - failover_completed(ctxt, service, updates)¶
- Complete failover on all services of the cluster. 
 - failover_replication(ctxt, group, allow_attached_volume=False, secondary_backend_id=None)¶
 - freeze_host(ctxt, service)¶
- Set backend host to frozen. 
 - get_backup_device(ctxt, backup, volume)¶
 - get_capabilities(ctxt, backend_id, discover)¶
 - get_log_levels(context, service, log_request)¶
 - get_manageable_snapshots(ctxt, service, marker, limit, offset, sort_keys, sort_dirs)¶
 - get_manageable_volumes(ctxt, service, marker, limit, offset, sort_keys, sort_dirs)¶
 - initialize_connection(ctxt, volume, connector)¶
 - initialize_connection_snapshot(ctxt, snapshot, connector)¶
 - list_replication_targets(ctxt, group)¶
 - manage_existing(ctxt, volume, ref)¶
 - manage_existing_snapshot(ctxt, snapshot, ref, backend)¶
 - migrate_volume(ctxt, volume, dest_backend, force_host_copy)¶
 - migrate_volume_completion(ctxt, volume, new_volume, error)¶
 - publish_service_capabilities(ctxt)¶
 - reimage(ctxt, volume, image_meta, image_snap=None)¶
 - remove_export(ctxt, volume, sync=False)¶
 - remove_export_snapshot(ctxt, snapshot, sync=False)¶
 - retype(ctxt, volume, new_type_id, dest_backend, migration_policy='never', reservations=None, old_reservations=None)¶
 - revert_to_snapshot(ctxt, volume, snapshot)¶
 - secure_file_operations_enabled(ctxt, volume)¶
 - set_log_levels(context, service, log_request)¶
 - terminate_connection(ctxt, volume, connector, force=False)¶
 - terminate_connection_snapshot(ctxt, snapshot, connector, force=False)¶
 - thaw_host(ctxt, service)¶
- Clear the frozen setting on a backend host. 
 - update_group(ctxt, group, add_volumes=None, remove_volumes=None)¶
 - update_migrated_volume(ctxt, volume, new_volume, original_volume_status)¶
 
