The cinder.volume.drivers.dell_emc.vmax.masking Module¶
-
class
VMAXMasking(prtcl)¶ Bases:
objectMasking class for SMI-S based EMC volume drivers.
Masking code to dynamically create a masking view This masking class is for EMC volume drivers based on SMI-S. It supports VMAX arrays.
-
add_volume_to_storage_group(conn, controllerConfigService, storageGroupInstanceName, volumeInstance, volumeName, sgGroupName, extraSpecs)¶ Add a volume to an existing storage group.
Parameters: - conn – connection to ecom server
- controllerConfigService – the controller configuration service
- storageGroupInstanceName – storage group instance name
- volumeInstance – the volume instance
- volumeName – the name of the volume (String)
- sgGroupName – the name of the storage group (String)
- extraSpecs – additional info
Returns: int – rc the return code of the job
Returns: dict – the job dict
-
delete_storage_group(conn, controllerConfigService, storageGroupInstanceName, extraSpecs)¶ Delete a given storage group.
Parameters: - conn – connection to the ecom server
- controllerConfigService – controller config service
- storageGroupInstanceName – the storage group instance
- extraSpecs – the extra specifications
-
find_new_masking_view(conn, jobDict)¶ Find the newly created volume.
Parameters: - conn – the connection to the ecom server
- jobDict – the job dictionary
Returns: dict – maskingViewInstance
-
find_port_group(conn, controllerConfigService, portGroupName)¶ Given the port Group name get the port group instance name.
Parameters: - conn – connection to the ecom server
- controllerConfigService – the controller configuration service
- portGroupName – the name of the port group you are getting
Returns: foundPortGroupInstanceName
-
get_associated_masking_groups_from_device(conn, volumeInstanceName)¶ Get the associated storage groups from the volume Instance name.
Given the volume instance name get the associated storage group instance names.
Parameters: - conn – connection to the ecom server
- volumeInstanceName – the volume instance name
Returns: list – list of storage group instance names
-
get_devices_from_storage_group(conn, storageGroupInstanceName)¶ Get the associated volume Instance names.
Given the storage group instance name get the associated volume Instance names.
Parameters: - conn – connection to the ecom server
- storageGroupInstanceName – the storage group instance name
Returns: list – volumeInstanceNames list of volume instance names
-
get_initiator_group_from_masking_view(conn, maskingViewInstanceName)¶ Get initiator group in a masking view.
Parameters: - conn – the ecom connection
- maskingViewInstanceName – masking view instance name
Returns: initiatorGroupInstanceName or None if it is not found
-
get_masking_view_by_volume(conn, volumeInstance, connector)¶ Given volume, retrieve the masking view instance name.
Parameters: - conn – the ecom connection
- volumeInstance – the volume instance
- connector – the connector object
Returns: masking view instance name
-
get_masking_view_from_storage_group(conn, storageGroupInstanceName)¶ Get the associated maskingview instance name.
Given storage group instance name, get the associated masking view instance name.
Parameters: - conn – connection to the ecom server
- storageGroupInstanceName – the storage group instance name
Returns: instance name foundMaskingViewInstanceName
-
get_masking_views_by_initiator_group(conn, initiatorGroupInstanceName)¶ Given initiator group, retrieve the masking view instance name.
Retrieve the list of masking view instances associated with the initiator group instance name.Parameters: - conn – the ecom connection
- initiatorGroupInstanceName – the instance name of the initiator group
Returns: list of masking view instance names
-
get_masking_views_by_port_group(conn, portGroupInstanceName)¶ Given port group, retrieve the masking view instance name.
Parameters: - conn – the ecom connection
- portGroupInstanceName – the instance name of the port group
Returns: masking view instance names
-
get_or_create_masking_view_and_map_lun(conn, maskingViewDict, extraSpecs)¶ Get or Create a masking view and add a volume to the storage group.
Given a masking view tuple either get or create a masking view and add the volume to the associated storage group. If it is a live migration operation then we do not need to remove the volume from any storage group (default or otherwise).
Parameters: - conn – the connection to ecom
- maskingViewDict – the masking view dict
- extraSpecs – additional info
Returns: dict – rollbackDict
Raises: VolumeBackendAPIException
-
get_port_group_from_masking_view(conn, maskingViewInstanceName)¶ Get the port group in a masking view.
Parameters: - conn – the ecom connection
- maskingViewInstanceName – masking view instance name
Returns: portGroupInstanceName
-
get_target_wwns(conn, mvInstanceName)¶ Get the DA ports wwns.
Parameters: - conn – the ecom connection
- mvInstanceName – masking view instance name
Returns: list – the list of target wwns for the masking view
-
remove_and_reset_members(conn, controllerConfigService, volumeInstance, volumeName, extraSpecs, connector=None, reset=True)¶ This is called on a delete, unmap device or rollback.
If the connector is not None get the associated SG and remove volume from the storage group, otherwise it is a VMAX3 deletion.
Parameters: - conn – connection to the ecom server
- controllerConfigService – the controller configuration service
- volumeInstance – the volume Instance
- volumeName – the volume name
- extraSpecs – additional info
- connector – optional
- reset – reset, return to original SG (optional)
Returns: storageGroupInstanceName
-
remove_device_from_default_storage_group(conn, controllerConfigService, volumeInstanceName, volumeName, fastPolicyName, extraSpecs)¶ Remove the volume from the default storage group.
Remove the volume from the default storage group for the FAST policy and return the default storage group instance name.
Parameters: - conn – the connection to the ecom server
- controllerConfigService – the controller config service
- volumeInstanceName – the volume instance name
- volumeName – the volume name (String)
- fastPolicyName – the fast policy name (String)
- extraSpecs – additional info
Returns: instance name defaultStorageGroupInstanceName
-
remove_device_from_storage_group(conn, controllerConfigService, storageGroupInstanceName, volumeInstance, volumeName, storageGroupName, extraSpecs)¶ Remove a device from a storage group.
Parameters: - conn – the connection to the ecom server
- controllerConfigService – the controller config service
- storageGroupInstanceName – the sg instance
- volumeInstance – the volume instance
- extraSpecs – the extra specifications
-
return_volume_to_default_storage_group_v3(conn, controllerConfigurationService, volumeInstance, volumeName, extraSpecs)¶ Return volume to the default storage group in v3.
Parameters: - conn – the ecom connection
- controllerConfigurationService – controller config service
- volumeInstance – volumeInstance
- volumeName – the volume name
- extraSpecs – additional info
Raises: VolumeBackendAPIException
-
setup_masking_view(conn, maskingViewDict, extraSpecs)¶
-