The cinder.volume.drivers.dell_emc.vmax.provision_v3
Module¶
-
class
VMAXProvisionV3
(prtcl)¶ Bases:
object
Provisioning Class for SMI-S based EMC volume drivers.
This Provisioning class is for EMC volume drivers based on SMI-S. It supports VMAX arrays.
-
activate_snap_relationship
(conn, repServiceInstanceName, syncInstanceName, extraSpecs)¶ Activate snap relationship and start copy operation.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – instance name of the replication service
- syncInstanceName – instance name of the SE_StorageSynchronized_SV_SV object
- extraSpecs – additional info
Returns: int – return code
Returns: job object of the replica creation operation
-
break_replication_relationship
(conn, repServiceInstanceName, syncInstanceName, operation, extraSpecs, force=False)¶ Deletes the relationship between the clone/snap and source volume.
Makes an SMI-S call to break clone relationship between the clone volume and the source.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – instance name of the replication service
- syncInstanceName – instance name of the SE_StorageSynchronized_SV_SV object
- operation – operation code
- extraSpecs – additional info
- force – force to break replication relationship if True
Returns: rc - return code
Returns: job - job object of the replica creation operation
-
create_element_replica
(conn, repServiceInstanceName, cloneName, syncType, sourceInstance, extraSpecs, targetInstance=None, rsdInstance=None, copyState=None)¶ Make SMI-S call to create replica for source element.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – replication service
- cloneName – clone volume name
- syncType – 7=snapshot, 8=clone
- sourceInstance – source volume instance
- extraSpecs – additional info
- targetInstance – Target volume instance. Default None
- rsdInstance – replication settingdata instance. Default None
Returns: int – rc - return code
Returns: job - job object of the replica creation operation
Raises: VolumeBackendAPIException
-
create_group_replica
(conn, replicationService, srcGroupInstanceName, tgtGroupInstanceName, relationName, extraSpecs)¶ Make SMI-S call to create replica for source group.
Parameters: - conn – the connection to the ecom server
- replicationService – replication service
- srcGroupInstanceName – source group instance name
- tgtGroupInstanceName – target group instance name
- relationName – replica relationship name
- extraSpecs – additional info
Returns: int – return code
Returns: job object of the replica creation operation
Raises: VolumeBackendAPIException
-
create_remote_element_replica
(conn, repServiceInstanceName, cloneName, syncType, sourceInstance, targetInstance, rdfGroupInstance, extraSpecs)¶ Create a replication relationship between source and target.
Parameters: - conn – the ecom connection
- repServiceInstanceName – the replication service
- cloneName – the name of the target volume
- syncType – the synchronization type
- sourceInstance – the source volume instance
- targetInstance – the target volume instance
- rdfGroupInstance – the rdf group instance
- extraSpecs – additional info
Returns: rc, job
-
create_storage_group_v3
(conn, controllerConfigService, groupName, srp, slo, workload, extraSpecs, doDisableCompression)¶ Create the volume in the specified pool.
Parameters: - conn – the connection information to the ecom server
- controllerConfigService – the controller configuration service
- groupName – the group name (String)
- srp – the SRP (String)
- slo – the SLO (String)
- workload – the workload (String)
- extraSpecs – additional info
- doDisableCompression – disable compression flag
Returns: storageGroupInstanceName - storage group instance name
-
create_volume_dict
(volumeInstanceName)¶ Create volume dictionary
Parameters: volumeInstanceName – the instance of a job Returns: dict – volumeDict - an instance of a volume
-
create_volume_from_sg
(conn, storageConfigService, volumeName, sgInstanceName, volumeSize, extraSpecs)¶ Create the volume and associate it with a storage group.
We use EMCCollections parameter to supply a Device Masking Group to contain a newly created storage volume.
Parameters: - conn – the connection information to the ecom server
- storageConfigService – the storage configuration service
- volumeName – the volume name (String)
- sgInstanceName – the storage group instance name associated with an SLO
- volumeSize – volume size (String)
- extraSpecs – additional info
Returns: dict – volumeDict - the volume dict
Returns: int – return code
Raises: VolumeBackendAPIException
-
delete_volume_from_pool
(conn, storageConfigservice, volumeInstanceName, volumeName, extraSpecs)¶ Given the volume instance remove it from the pool.
Parameters: - conn – connection to the ecom server
- storageConfigservice – volume created from job
- volumeInstanceName – the volume instance name
- volumeName – the volume name (String)
- extraSpecs – additional info
Returns: int – return code
Raises: VolumeBackendAPIException
-
extend_volume_in_SG
(conn, storageConfigService, volumeInstanceName, volumeName, volumeSize, extraSpecs)¶ Extend a volume instance.
Parameters: - conn – connection to the ecom server
- storageConfigservice – the storage configuration service
- volumeInstanceName – the volume instance name
- volumeName – the volume name (String)
- volumeSize – the volume size
- extraSpecs – additional info
Returns: volumeDict
Returns: int – return code
Raises: VolumeBackendAPIException
-
failback_volume
(conn, repServiceInstanceName, storageSynchronizationSv, extraSpecs)¶ Failback a volume to the source device.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – the replication service
- storageSynchronizationSv – the storage synchronized object
- extraSpecs – the extra specifications
-
failover_volume
(conn, repServiceInstanceName, storageSynchronizationSv, extraSpecs)¶ Failover a volume to its target device.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – the replication service
- storageSynchronizationSv – the storage synchronized object
- extraSpecs – the extra specifications
-
get_or_create_default_sg
(conn, extraSpecs, storageSystemName, doDisableCompression)¶ Get or create default storage group for a replica.
Parameters: - conn – the connection to the ecom server
- extraSpecs – the extra specifications
- storageSystemName – the storage system name
- doDisableCompression – flag for compression
Returns: sgInstanceName, instance of storage group
-
get_rdf_group_instance
(conn, repServiceInstanceName, RDFGroupName)¶ Get the SRDF group instance.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – the replication service
- RDFGroupName – the element name of the RDF group
Returns: foundRDFGroupInstanceName
-
get_srp_pool_stats
(conn, arrayInfo)¶ Get the totalManagedSpace, remainingManagedSpace.
Parameters: - conn – the connection to the ecom server
- arrayInfo – the array dict
Returns: totalCapacityGb
Returns: remainingCapacityGb
Returns: subscribedCapacityGb
Returns: array_reserve_percent
Returns: wlpEnabled
-
get_storage_pool_capability
(conn, poolInstanceName)¶ Get the pool capability.
Parameters: - conn – the connection information to the ecom server
- poolInstanceName – the pool instance
Returns: the storage pool capability instance. None if not found
-
get_storage_pool_setting
(conn, storagePoolCapability, slo, workload)¶ Get the pool setting for pool capability.
Parameters: - conn – the connection information to the ecom server
- storagePoolCapability – the storage pool capability instance
- slo – the slo string e.g Bronze
- workload – the workload string e.g DSS_REP
Returns: the storage pool setting instance
-
get_volume_dict_from_job
(conn, jobInstance)¶ Given the jobInstance determine the volume Instance.
Parameters: - conn – the ecom connection
- jobInstance – the instance of a job
Returns: dict – volumeDict - an instance of a volume
-
get_volume_from_job
(conn, jobInstance)¶ Given the jobInstance determine the volume Instance.
Parameters: - conn – the ecom connection
- jobInstance – the instance of a job
Returns: dict – volumeDict - an instance of a volume
-
get_volume_range
(conn, storageConfigService, poolInstanceName, slo, workload, extraSpecs)¶ Get upper and lower range for volume for slo/workload combination.
Parameters: - conn – the connection information to the ecom server
- storageConfigService – the storage config service
- poolInstanceName – the pool instance
- slo – slo string e.g Bronze
- workload – workload string e.g DSS
- extraSpecs – additional info
Returns: supportedSizeDict
-
return_to_resource_pool
(conn, repServiceInstanceName, syncInstanceName, extraSpecs)¶ Return the snap target resources back to the pool.
Parameters: - conn – the connection to the ecom server
- repServiceInstanceName – instance name of the replication service
- syncInstanceName – instance name of the
- extraSpecs – additional info
Returns: rc - return code
Returns: job object of the replica creation operation
-