The cinder.volume.drivers.dell_emc.vmax.fast
Module¶
-
class
VMAXFast
(prtcl)¶ Bases:
object
FAST Class for SMI-S based EMC volume drivers.
This FAST class is for EMC volume drivers based on SMI-S. It supports VMAX arrays.
-
add_storage_group_and_verify_tier_policy_assoc
(conn, controllerConfigService, storageGroupInstanceName, storageGroupName, fastPolicyName, extraSpecs)¶ Adds a storage group to a tier policy and verifies success.
Add a storage group to a tier policy rule and verify that it was successful by getting the association.
Parameters: - conn – the connection to the ecom server
- controllerConfigService – the controller config service
- storageGroupInstanceName – the storage group instance name
- storageGroupName – the storage group name (String)
- fastPolicyName – the fast policy name (String)
- extraSpecs – additional info
Returns: assocTierPolicyInstanceName
-
add_storage_group_to_tier_policy_rule
(conn, tierPolicyServiceInstanceName, storageGroupInstanceName, tierPolicyRuleInstanceName, storageGroupName, fastPolicyName, extraSpecs)¶ Add the storage group to the tier policy rule.
Parameters: - conn – the connection information to the ecom server
- tierPolicyServiceInstanceName – tier policy service
- storageGroupInstanceName – storage group instance name
- tierPolicyRuleInstanceName – tier policy instance name
- storageGroupName – the storage group name (String)
- fastPolicyName – the fast policy name (String)
- extraSpecs – additional info
Returns: int – return code
Raises: VolumeBackendAPIException
-
add_volume_to_default_storage_group_for_fast_policy
(conn, controllerConfigService, volumeInstance, volumeName, fastPolicyName, extraSpecs)¶ Add a volume to the default storage group for FAST policy.
The storage group must pre-exist. Once added to the storage group, check the association to make sure it has been successfully added.
Parameters: - conn – the ecom connection
- controllerConfigService – the controller configuration service
- volumeInstance – the volume instance
- volumeName – the volume name (String)
- fastPolicyName – the fast policy name (String)
- extraSpecs – additional info
Returns: assocStorageGroupInstanceName - the storage group associated with the volume
-
delete_storage_group_from_tier_policy_rule
(conn, tierPolicyServiceInstanceName, storageGroupInstanceName, tierPolicyRuleInstanceName, extraSpecs)¶ Disassociate the storage group from its tier policy rule.
Parameters: - conn – connection the ecom server
- tierPolicyServiceInstanceName – instance name of the tier policy service
- storageGroupInstanceName – instance name of the storage group
- tierPolicyRuleInstanceName – instance name of the tier policy associated with the storage group
- extraSpecs – additional information
-
format_default_sg_string
(fastPolicyName)¶ Format the default storage group name
Parameters: fastPolicyName – the fast policy name Returns: defaultSgName
-
get_and_verify_default_storage_group
(conn, controllerConfigService, volumeInstanceName, volumeName, fastPolicyName)¶ Retrieves and verifies the default storage group for a volume.
Given the volumeInstanceName get any associated storage group and check that it is the default storage group. The default storage group should have been already created. If not found error is logged.
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)
Returns: foundDefaultStorageGroupInstanceName, defaultSgName
-
get_associated_policy_from_storage_group
(conn, storageGroupInstanceName)¶ Get the tier policy instance name for a storage group instance name.
Parameters: - conn – the connection information to the ecom server
- storageGroupInstanceName – storage group instance name
Returns: foundTierPolicyInstanceName - instance name of the tier policy object
-
get_associated_pools_from_tier
(conn, storageTierInstanceName)¶ Given the storage tier instance name get the storage pools.
Parameters: - conn – the connection information to the ecom server
- storageTierInstanceName – the storage tier instance name
Returns: list – a list of storage tier instance names
-
get_associated_tier_from_tier_policy
(conn, tierPolicyRuleInstanceName)¶ Given the tierPolicyInstanceName get the associated tiers.
Parameters: - conn – the connection information to the ecom server
- tierPolicyRuleInstanceName – the tier policy rule instance name
Returns: list – a list of storage tier instance names
-
get_associated_tier_policy_from_storage_group
(conn, storageGroupInstanceName)¶ Given the tier policy instance name get the storage groups.
Parameters: - conn – the connection information to the ecom server
- storageGroupInstanceName – the storage group instance name
Returns: list – the list of tier policy instance names
-
get_capacities_associated_to_policy
(conn, arrayName, policyName)¶ Gets the total and un-used capacities for all pools in a policy.
Given the name of the policy, get the total capacity and un-used capacity in GB of all the storage pools associated with the policy.
Parameters: - conn – the ecom connection
- arrayName – the array
- policyName – the name of policy rule, a string value
Returns: int – total capacity in GB of all pools associated with the policy
Returns: int – real physical capacity in GB of all pools available to be used
Returns: int – (Provisioned capacity-EMCSubscribedCapacity) in GB is the capacity that has been provisioned
Returns: int – the maximum oversubscription ration
-
get_or_create_default_storage_group
(conn, controllerConfigService, fastPolicyName, volumeInstance, extraSpecs)¶ Create or get a default storage group for FAST policy.
Parameters: - conn – the ecom connection
- controllerConfigService – the controller configuration service
- fastPolicyName – the fast policy name (String)
- volumeInstance – the volume instance
- extraSpecs – additional info
Returns: defaultStorageGroupInstanceName - the default storage group instance name
-
get_policy_default_storage_group
(conn, controllerConfigService, policyName)¶ Returns the default storage group for a tier policy.
Given the tier policy instance name get the associated default storage group.
Parameters: - conn – the connection information to the ecom server
- controllerConfigService – ControllerConfigurationService instance name
- policyName – string value
Returns: storageGroupInstanceName - instance name of the default storage group
-
get_pool_associated_to_policy
(conn, fastPolicyName, arraySN, storageConfigService, poolInstanceName)¶ Given a FAST policy check that the pool is linked to the policy.
If it’s associated return the pool instance, if not return None. First check if FAST is enabled on the array.
Parameters: - conn – the ecom connection
- fastPolicyName – the fast policy name (String)
- arraySN – the array serial number (String)
- storageConfigService – the storage Config Service
- poolInstanceName – the pool instance we want to check for association with the fast storage tier
Returns: foundPoolInstanceName
-
get_tier_policy_by_name
(conn, arrayName, policyName)¶ Given the name of the policy, get the TierPolicyRule instance name.
Parameters: - conn – the ecom connection
- arrayName – the array
- policyName – string – the name of policy rule
Returns: tier policy instance name. None if not found
-
is_tiering_policy_enabled
(conn, tierPolicyServiceInstanceName)¶ Checks to see if tiering policy is supported.
We will only check if there is a fast policy specified in the config file.
Parameters: - conn – the connection information to the ecom server
- tierPolicyServiceInstanceName – the tier policy service instance name
Returns: boolean – foundIsSupportsTieringPolicies
-
is_tiering_policy_enabled_on_storage_system
(conn, storageSystemInstanceName)¶ Checks if tiering policy in enabled on a storage system.
True if FAST policy enabled on the given storage system; False otherwise.
Parameters: - conn – the ecom connection
- storageSystemInstanceName – a storage system instance name
Returns: boolean – isTieringPolicySupported
-
is_volume_in_default_SG
(conn, volumeInstanceName)¶ Check if the volume is already part of the default storage group.
Parameters: - conn – the ecom connection
- volumeInstanceName – the volume instance
Returns: boolean – True if the volume is already in default storage group. False otherwise
-