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_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_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)¶
-
-
class
PureFCDriver
(*args, **kwargs)¶ Bases:
cinder.volume.drivers.pure.PureBaseVolumeDriver
,cinder.volume.driver.FibreChannelDriver
-
VERSION
= '3.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
= '5.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.