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.
- 
SUPPORTED_REST_API_VERSIONS = ['1.2', '1.3', '1.4', '1.5']
 
- 
check_for_setup_error()
 
- 
create_cgsnapshot(*args, **kwargs)
 
- 
create_cloned_volume(*args, **kwargs)
 
- 
create_consistencygroup(*args, **kwargs)
 
- 
create_consistencygroup_from_src(*args, **kwargs)
 
- 
create_export(context, volume, connector)
 
- 
create_snapshot(*args, **kwargs)
 
- 
create_volume(*args, **kwargs)
 
- 
create_volume_from_snapshot(*args, **kwargs)
 
- 
delete_cgsnapshot(*args, **kwargs)
 
- 
delete_consistencygroup(*args, **kwargs)
 
- 
delete_snapshot(*args, **kwargs)
 
- 
delete_volume(*args, **kwargs)
 
- 
do_setup(context)
 
Performs driver initialization steps that could raise exceptions.
- 
do_setup_replication()
 
- 
ensure_export(context, volume)
 
- 
extend_volume(*args, **kwargs)
 
- 
failover_host(*args, **kwargs)
 
- 
get_volume_stats(*args, **kwargs)
 
- 
initialize_connection(volume, connector, initiator_data=None)
 
Connect the volume to the specified initiator in Purity.
This implementation is specific to the host type (iSCSI, FC, etc).
- 
manage_existing(*args, **kwargs)
 
- 
manage_existing_get_size(*args, **kwargs)
 
- 
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)
 
- 
unmanage(*args, **kwargs)
 
- 
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)
 
- 
class PureFCDriver(*args, **kwargs)
 
Bases: cinder.volume.drivers.pure.PureBaseVolumeDriver, cinder.volume.driver.FibreChannelDriver
- 
VERSION = '2.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
- 
VERSION = '4.0.0'
 
- 
initialize_connection(*args, **kwargs)
 
- 
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.