The cinder.volume.drivers.dell_emc.vmax.provision Module

The cinder.volume.drivers.dell_emc.vmax.provision Module

class VMAXProvision(rest)

Bases: object

Provisioning Class for Dell EMC VMAX volume drivers.

It supports VMAX arrays.

break_rdf_relationship(array, device_id, target_device, rdf_group, rep_extra_specs, state)

Break the rdf relationship between a pair of devices.

Parameters:
  • array – the array serial number
  • device_id – the source device id
  • target_device – target device id
  • rdf_group – the rdf group number
  • rep_extra_specs – replication extra specs
  • state – the state of the rdf pair
break_replication_relationship(array, target_device_id, source_device_id, snap_name, extra_specs)

Unlink a snapshot from its target volume.

Parameters:
  • array – the array serial number
  • source_device_id – source volume device id
  • target_device_id – target volume device id
  • snap_name – the name for the snap shot
  • extra_specs – extra specifications
create_group_replica(array, source_group, snap_name, extra_specs)

Create a replica (snapVx) of a volume group.

Parameters:
  • array – the array serial number
  • source_group – the source group name
  • snap_name – the name for the snap shot
  • extra_specs – extra specifications
create_storage_group(array, storagegroup_name, srp, slo, workload, extra_specs, do_disable_compression=False)

Create a new storage group.

Parameters:
  • array – the array serial number
  • storagegroup_name – the group name (String)
  • srp – the SRP (String)
  • slo – the SLO (String)
  • workload – the workload (String)
  • extra_specs – additional info
  • do_disable_compression – disable compression flag
Returns:

storagegroup - storage group object

create_volume_from_sg(array, volume_name, storagegroup_name, volume_size, extra_specs)

Create a new volume in the given storage group.

Parameters:
  • array – the array serial number
  • volume_name – the volume name (String)
  • storagegroup_name – the storage group name
  • volume_size – volume size (String)
  • extra_specs – the extra specifications
Returns:

dict – volume_dict - the volume dict

create_volume_group(array, group_name, extra_specs)

Create a generic volume group.

Parameters:
  • array – the array serial number
  • group_name – the name of the group
  • extra_specs – the extra specifications
Returns:

volume_group

create_volume_replica(array, source_device_id, target_device_id, snap_name, extra_specs, create_snap=False)

Create a snap vx of a source and copy to a target.

Parameters:
  • array – the array serial number
  • source_device_id – source volume device id
  • target_device_id – target volume device id
  • snap_name – the name for the snap shot
  • extra_specs – extra specifications
  • create_snap – Flag for create snapvx
create_volume_snapvx(array, source_device_id, snap_name, extra_specs)

Create a snapVx of a volume.

Parameters:
  • array – the array serial number
  • source_device_id – source volume device id
  • snap_name – the snapshot name
  • extra_specs – the extra specifications
delete_group_replica(array, snap_name, source_group_name)

Delete the snapshot.

Parameters:
  • array – the array serial number
  • snap_name – the name for the snap shot
  • source_group_name – the source group name
delete_temp_volume_snap(array, snap_name, source_device_id)

Delete the temporary snapshot created for clone operations.

There can be instances where the source and target both attempt to delete a temp snapshot simultaneously, so we must lock the snap and then double check it is on the array. :param array: the array serial number :param snap_name: the snapshot name :param source_device_id: the source device id

delete_volume_from_srp(array, device_id, volume_name)

Delete a volume from the srp.

Parameters:
  • array – the array serial number
  • device_id – the volume device id
  • volume_name – the volume name
delete_volume_snap(array, snap_name, source_device_id)

Delete a snapVx snapshot of a volume.

Parameters:
  • array – the array serial number
  • snap_name – the snapshot name
  • source_device_id – the source device id

Check if a snap has any links before deletion.

If a snapshot has any links, break the replication relationship before deletion. :param array: the array serial number :param snap_name: the snapshot name :param source_device: the source device id :param extra_specs: the extra specifications

extend_volume(array, device_id, new_size, extra_specs)

Extend a volume.

Parameters:
  • array – the array serial number
  • device_id – the volume device id
  • new_size – the new size (GB)
  • extra_specs – the extra specifications
Returns:

status_code

failover_volume(array, device_id, rdf_group, extra_specs, local_vol_state, failover)

Failover or back a volume pair.

Parameters:
  • array – the array serial number
  • device_id – the source device id
  • rdf_group – the rdf group number
  • extra_specs – extra specs
  • local_vol_state – the local volume state
  • failover – flag to indicate failover or failback – bool
get_or_create_group(array, group_name, extra_specs)

Get or create a generic volume group.

Parameters:
  • array – the array serial number
  • group_name – the group name
  • extra_specs – the extra specifications
Returns:

group name

get_or_create_volume_group(array, group, extra_specs)

Get or create a volume group.

Sometimes it may be necessary to recreate a volume group on the backend - for example, when the last member volume has been removed from the group, but the cinder group object has not been deleted. :param array: the array serial number :param group: the group object :param extra_specs: the extra specifications :return: group name

get_slo_workload_settings_from_storage_group(array, sg_name)

Get slo and workload settings from a storage group.

Parameters:
  • array – the array serial number
  • sg_name – the storage group name
Returns:

storage group slo settings

get_srp_pool_stats(array, array_info)

Get the srp capacity stats.

Parameters:
  • array – the array serial number
  • array_info – the array dict
Returns:

total_capacity_gb

Returns:

remaining_capacity_gb

Returns:

subscribed_capacity_gb

Returns:

array_reserve_percent

Links a group snap and breaks the relationship.

Parameters:
  • array – the array serial
  • source_group_name – the source group name
  • target_group_name – the target group name
  • snap_name – the snapshot name
  • extra_specs – extra specifications
  • delete_snapshot – delete snapshot flag
verify_slo_workload(array, slo, workload, srp)

Check if SLO and workload values are valid.

Parameters:
  • array – the array serial number
  • slo – Service Level Object e.g bronze
  • workload – workload e.g DSS
  • srp – the storage resource pool name
Returns:

boolean

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.