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_replication_relationship(array, target_device_id, source_device_id, snap_name, extra_specs, wait_for_sync=True)

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
  • wait_for_sync – flag for wait for sync
create_storage_group(array, storagegroup_name, srp, slo, workload, extra_specs)

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
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_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_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

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

Returns:

wlp_enabled

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