The cinder.volume.drivers.emc.emc_vmax_provision Module

class EMCVMAXProvision(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.

add_members_to_masking_group(conn, controllerConfigService, storageGroupInstanceName, volumeInstanceName, volumeName)

Add a member to a masking group group. :param conn: the connection to the ecom server :param controllerConfigService: the controller configuration service :param storageGroupInstanceName: the instance name of the storage group :param volumeInstanceName: the instance name of the volume :param volumeName: the volume name (String)

create_and_get_storage_group(conn, controllerConfigService, storageGroupName, volumeInstanceName)

Create a storage group and return it.

Parameters:
  • conn – the connection information to the ecom server
  • controllerConfigService – the controller configuration service
  • storageGroupName – the storage group name (String
  • volumeInstanceName – the volume instance name
Returns:

foundStorageGroupInstanceName - instance name of the default storage group

create_composite_volume(conn, elementCompositionService, volumeSize, volumeName, poolInstanceName, compositeType, numMembers)

Create a new volume using the auto meta feature.

Parameters:
  • conn – the connection the the ecom server
  • elementCompositionService – the element composition service
  • volumeSize – the size of the volume
  • volumeName – user friendly name
  • poolInstanceName – the pool to bind the composite volume to
  • compositeType – the proposed composite type of the volume e.g striped/concatenated
  • numMembers – the number of meta members to make up the composite. If it is 1 then a non composite is created
Returns:

rc

Returns:

errordesc

create_element_replica(conn, repServiceInstanceName, cloneName, sourceName, sourceInstance)

Make SMI-S call to create replica for source element.

Parameters:
  • conn – the connection to the ecom server
  • repServiceInstanceName – instance name of the replication service
  • cloneName – replica name
  • sourceName – source volume name
  • sourceInstance – source volume instance
Returns:

rc - return code

Returns:

job - job object of the replica creation operation

create_new_composite_volume(conn, elementCompositionService, compositeHeadInstanceName, compositeMemberInstanceName, compositeType)

Creates a new composite volume.

Given a bound composite head and an unbound composite member create a new composite volume.

Parameters:
  • conn – the connection the the ecom server
  • elementCompositionService – the element composition service
  • compositeHeadInstanceName – the composite head. This can be bound
  • compositeMemberInstanceName – the composite member. This must be unbound
  • compositeType – the composite type e.g striped or concatenated
Returns:

rc - return code

Returns:

errordesc - descriptions of the error

create_storage_group_no_members(conn, controllerConfigService, groupName)

Create a new storage group that has no members.

Parameters:
  • conn – connection the ecom server
  • controllerConfigService – the controller configuration service
  • groupName – the proposed group name
Returns:

foundStorageGroupInstanceName - the instance Name of the storage group

create_volume_from_pool(conn, storageConfigService, volumeName, poolInstanceName, volumeSize)

Create the volume in the specified pool.

Parameters:
  • conn – the connection information to the ecom server
  • storageConfigService – the storage configuration service
  • volumeName – the volume name (String)
  • poolInstanceName – the pool instance name to create the dummy volume in
  • volumeSize – volume size (String)
Returns:

volumeDict - the volume dict

delete_clone_relationship(conn, repServiceInstanceName, syncInstanceName, cloneName, sourceName)

Deletes the relationship between the clone 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
  • cloneName – replica name
  • sourceName – source volume name
  • sourceInstance – source volume instance
Returns:

rc - return code

Returns:

job - job object of the replica creation operation

delete_volume_from_pool(conn, storageConfigservice, volumeInstanceName, volumeName)

Given the volume instance remove it from the pool.

Parameters:
  • conn – connection the the ecom server
  • storageConfigservice – volume created from job
  • volumeInstanceName – the volume instance name
  • volumeName – the volume name (String)
  • rc – return code
get_target_endpoints(conn, storageHardwareService, hardwareId)

Given the hardwareId get the

Parameters:
  • conn – the connection to the ecom server
  • storageHardwareService – the storage HardwareId Service
  • hardwareId – the hardware Id
Returns:

rc

Returns:

targetendpoints

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:

volumeDict - an instance of a volume

migrate_volume_to_storage_pool(conn, storageRelocationServiceInstanceName, volumeInstanceName, targetPoolInstanceName)

Given the storage system name, get the storage relocation service.

Parameters:
  • conn – the connection to the ecom server
  • storageRelocationServiceInstanceName – the storage relocation service
  • volumeInstanceName – the volume to be migrated
  • targetPoolInstanceName – the target pool to migrate the volume to.
Returns:

rc

modify_composite_volume(conn, elementCompositionService, theVolumeInstanceName, inVolumeInstanceName)

Given a composite volume add a storage volume to it.

Parameters:
  • conn – the connection to the ecom
  • elementCompositionService – the element composition service
  • theVolumeInstanceName – the existing composite volume
  • inVolumeInstanceName – the volume you wish to add to the composite volume
Returns:

rc - return code

Returns:

job - job

remove_device_from_storage_group(conn, controllerConfigService, storageGroupInstanceName, volumeInstanceName, volumeName)

Remove a volume from a storage group.

Parameters:
  • conn – the connection to the ecom server
  • controllerConfigService – the controller configuration service
  • storageGroupInstanceName – the instance name of the storage group
  • volumeInstanceName – the instance name of the volume
  • volumeName – the volume name (String)
Returns:

rc - the return code of the job

unbind_volume_from_storage_pool(conn, storageConfigService, poolInstanceName, volumeInstanceName, volumeName)

Unbind a volume from a pool and return the unbound volume.

Parameters:
  • conn – the connection information to the ecom server
  • storageConfigService – the storage configuration service instance name
  • poolInstanceName – the pool instance name
  • volumeInstanceName – the volume instance name
  • volumeName – the volume name
Returns:

unboundVolumeInstance - the unbound volume instance

Previous topic

The cinder.volume.drivers.emc.emc_vmax_masking Module

Next topic

The cinder.volume.drivers.emc.emc_vmax_utils Module

This Page