The cinder.volume.drivers.pure Module¶
Volume driver for Pure Storage FlashArray storage system.
This driver requires Purity version 4.0.0 or later.
- 
class PureBaseVolumeDriver(*args, **kwargs)¶
- Bases: - cinder.volume.drivers.san.san.SanDriver- Performs volume management on Pure Storage FlashArray. - 
CI_WIKI_NAME= 'Pure_Storage_CI'¶
 - 
SUPPORTED_REST_API_VERSIONS= ['1.2', '1.3', '1.4', '1.5']¶
 - 
check_for_setup_error()¶
 - 
create_cgsnapshot(*args, **kwargs)¶
- Creates a cgsnapshot. 
 - 
create_cloned_volume(*args, **kwargs)¶
- Creates a clone of the specified volume. 
 - 
create_consistencygroup(*args, **kwargs)¶
- Creates a consistencygroup. 
 - 
create_consistencygroup_from_src(*args, **kwargs)¶
 - 
create_export(context, volume, connector)¶
 - 
create_group(ctxt, group)¶
- Creates a group. - Parameters: - ctxt – the context of the caller.
- group – the Group object of the group to be created.
 - Returns: - model_update 
 - 
create_group_from_src(ctxt, group, volumes, group_snapshot=None, snapshots=None, source_group=None, source_vols=None)¶
- Creates a group from source. - Parameters: - ctxt – the context of the caller.
- group – the Group object to be created.
- volumes – a list of Volume objects in the group.
- group_snapshot – the GroupSnapshot object as source.
- snapshots – a list of snapshot objects in group_snapshot.
- source_group – the Group object as source.
- source_vols – a list of volume objects in the source_group.
 - Returns: - model_update, volumes_model_update 
 - 
create_group_snapshot(ctxt, group_snapshot, snapshots)¶
- Creates a group_snapshot. - Parameters: - ctxt – the context of the caller.
- group_snapshot – the GroupSnapshot object to be created.
- snapshots – a list of Snapshot objects in the group_snapshot.
 - Returns: - model_update, snapshots_model_update 
 - 
create_snapshot(*args, **kwargs)¶
- Creates a snapshot. 
 - 
create_volume(*args, **kwargs)¶
- Creates a volume. 
 - 
create_volume_from_snapshot(*args, **kwargs)¶
- Creates a volume from a snapshot. 
 - 
delete_cgsnapshot(*args, **kwargs)¶
- Deletes a cgsnapshot. 
 - 
delete_consistencygroup(*args, **kwargs)¶
- Deletes a consistency group. 
 - 
delete_group(ctxt, group, volumes)¶
- Deletes a group. - Parameters: - ctxt – the context of the caller.
- group – the Group object of the group to be deleted.
- volumes – a list of Volume objects in the group.
 - Returns: - model_update, volumes_model_update 
 - 
delete_group_snapshot(ctxt, group_snapshot, snapshots)¶
- Deletes a group_snapshot. - Parameters: - ctxt – the context of the caller.
- group_snapshot – the GroupSnapshot object to be deleted.
- snapshots – a list of snapshot objects in the group_snapshot.
 - Returns: - model_update, snapshots_model_update 
 - 
delete_snapshot(*args, **kwargs)¶
- Deletes a snapshot. 
 - 
delete_volume(*args, **kwargs)¶
- Disconnect all hosts and delete the volume 
 - 
do_setup(context)¶
- Performs driver initialization steps that could raise exceptions. 
 - 
do_setup_replication()¶
 - 
ensure_export(context, volume)¶
 - 
extend_volume(*args, **kwargs)¶
- Extend volume to new_size. 
 - 
failover_host(*args, **kwargs)¶
- Failover backend to a secondary array - This action will not affect the original volumes in any way and it will stay as is. If a subsequent failover is performed we will simply overwrite the original (now unmanaged) volumes. 
 - 
get_manageable_snapshots(cinder_snapshots, marker, limit, offset, sort_keys, sort_dirs)¶
- List snapshots on the backend available for management by Cinder. 
 - 
get_manageable_volumes(cinder_volumes, marker, limit, offset, sort_keys, sort_dirs)¶
- List volumes on the backend available for management by Cinder. - Rule out volumes that are attached to a Purity host or that are already in the list of cinder_volumes. We return references of the volume names for any others. 
 - 
get_volume_stats(*args, **kwargs)¶
- Return the current state of the volume service. - If ‘refresh’ is True, run the update first. 
 - 
initialize_connection(volume, connector)¶
- Connect the volume to the specified initiator in Purity. - This implementation is specific to the host type (iSCSI, FC, etc). 
 - 
manage_existing(*args, **kwargs)¶
- Brings an existing backend storage object under Cinder management. - We expect a volume name in the existing_ref that matches one in Purity. 
 - 
manage_existing_get_size(*args, **kwargs)¶
- Return size of volume to be managed by manage_existing. - We expect a volume name in the existing_ref that matches one in Purity. 
 - 
manage_existing_snapshot(snapshot, existing_ref)¶
- Brings an existing backend storage object under Cinder management. - We expect a snapshot name in the existing_ref that matches one in Purity. 
 - 
manage_existing_snapshot_get_size(snapshot, existing_ref)¶
- Return size of snapshot to be managed by manage_existing. - We expect a snapshot name in the existing_ref that matches one in Purity. 
 - 
parse_replication_configs()¶
 - 
retype(context, volume, new_type, diff, host)¶
- Retype from one volume type to another on the same backend. - For a Pure Array there is currently no differentiation between types of volumes other than some being part of a protection group to be replicated. 
 - 
terminate_connection(*args, **kwargs)¶
- Terminate connection. 
 - 
unmanage(*args, **kwargs)¶
- Removes the specified volume from Cinder management. - Does not delete the underlying backend storage object. - The volume will be renamed with “-unmanaged” as a suffix 
 - 
unmanage_snapshot(snapshot)¶
- Removes the specified snapshot from Cinder management. - Does not delete the underlying backend storage object. - We expect a snapshot name in the existing_ref that matches one in Purity. 
 - 
update_consistencygroup(*args, **kwargs)¶
 - 
update_group(ctxt, group, add_volumes=None, remove_volumes=None)¶
- Updates a group. - Parameters: - ctxt – the context of the caller.
- group – the Group object of the group to be updated.
- add_volumes – a list of Volume objects to be added.
- remove_volumes – a list of Volume objects to be removed.
 - Returns: - model_update, add_volumes_update, remove_volumes_update 
 
- 
- 
class PureFCDriver(*args, **kwargs)¶
- Bases: - cinder.volume.drivers.pure.PureBaseVolumeDriver,- cinder.volume.driver.FibreChannelDriver- OpenStack Volume Driver to support Pure Storage FlashArray. - This version of the driver enables the use of Fibre Channel for the underlying storage connectivity with the FlashArray. It fully supports the Cinder Fibre Channel Zone Manager. - 
VERSION= '4.0.0'¶
 - 
initialize_connection(*args, **kwargs)¶
 - 
terminate_connection(*args, **kwargs)¶
 
- 
- 
class PureISCSIDriver(*args, **kwargs)¶
- Bases: - cinder.volume.drivers.pure.PureBaseVolumeDriver,- cinder.volume.drivers.san.san.SanISCSIDriver- OpenStack Volume Driver to support Pure Storage FlashArray. - This version of the driver enables the use of iSCSI for the underlying storage connectivity with the FlashArray. - 
VERSION= '6.0.0'¶
 - 
initialize_connection(*args, **kwargs)¶
- Allow connection to connector and return connection info. 
 
- 
- 
pure_driver_debug_trace(f)¶
- Log the method entrance and exit including active backend name. - This should only be used on VolumeDriver class methods. It depends on having a ‘self’ argument that is a PureBaseVolumeDriver.