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.

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.

Previous topic

The cinder.volume.drivers.prophetstor.options Module

Next topic

The cinder.volume.drivers.quobyte Module

Project Source

This Page