The cinder.interface.volume_management_driver Module¶
Manage/unmanage existing volume driver interface.
- 
class VolumeManagementDriver¶
- Bases: - cinder.interface.base.CinderInterface- Interface for drivers that support managing existing volumes. - 
manage_existing(volume, existing_ref)¶
- Brings an existing backend storage object under Cinder management. - existing_ref is passed straight through from the API request’s manage_existing_ref value, and it is up to the driver how this should be interpreted. It should be sufficient to identify a storage object that the driver should somehow associate with the newly-created cinder volume structure. - There are two ways to do this: - Rename the backend storage object so that it matches the, volume[‘name’] which is how drivers traditionally map between a cinder volume and the associated backend storage object.
- Place some metadata on the volume, or somewhere in the backend, that allows other driver requests (e.g. delete, clone, attach, detach...) to locate the backend storage object when required.
 - If the existing_ref doesn’t make sense, or doesn’t refer to an existing backend storage object, raise a ManageExistingInvalidReference exception. - The volume may have a volume_type, and the driver can inspect that and compare against the properties of the referenced backend storage object. If they are incompatible, raise a ManageExistingVolumeTypeMismatch, specifying a reason for the failure. - Parameters: - volume – Cinder volume to manage
- existing_ref – Dictionary with keys ‘source-id’, ‘source-name’ with driver-specific values to identify a backend storage object.
 - Raises: - ManageExistingInvalidReference If the existing_ref doesn’t make sense, or doesn’t refer to an existing backend storage object. - Raises: - ManageExistingVolumeTypeMismatch If there is a mismatch between the volume type and the properties of the existing backend storage object. 
 - 
manage_existing_get_size(volume, existing_ref)¶
- Return size of volume to be managed by manage_existing. - When calculating the size, round up to the next GB. - Parameters: - volume – Cinder volume to manage
- existing_ref – Dictionary with keys ‘source-id’, ‘source-name’ with driver-specific values to identify a backend storage object.
 - Raises: - ManageExistingInvalidReference If the existing_ref doesn’t make sense, or doesn’t refer to an existing backend storage object. 
 - 
unmanage(volume)¶
- Removes the specified volume from Cinder management. - Does not delete the underlying backend storage object. - For most drivers, this will not need to do anything. However, some drivers might use this call as an opportunity to clean up any Cinder-specific configuration that they have associated with the backend storage object. - Parameters: - volume – Cinder volume to unmanage 
 
-