The cinder.volume.drivers.dell_emc.vnx.driver Module

Cinder Driver for EMC VNX based on CLI.

class VNXDriver(*args, **kwargs)

Bases: cinder.volume.driver.ManageableVD, cinder.volume.driver.ManageableSnapshotsVD, cinder.volume.driver.MigrateVD, cinder.volume.driver.BaseVD

Dell EMC Cinder Driver for VNX using CLI.

Version history:

1.0.0 - Initial driver 2.0.0 - Thick/thin provisioning, robust enhancement 3.0.0 - Array-based Backend Support, FC Basic Support,

Target Port Selection for MPIO, Initiator Auto Registration, Storage Group Auto Deletion, Multiple Authentication Type Support, Storage-Assisted Volume Migration, SP Toggle for HA

3.0.1 - Security File Support 4.0.0 - Advance LUN Features (Compression Support,

Deduplication Support, FAST VP Support, FAST Cache Support), Storage-assisted Retype, External Volume Management, Read-only Volume, FC Auto Zoning

4.1.0 - Consistency group support 5.0.0 - Performance enhancement, LUN Number Threshold Support,

Initiator Auto Deregistration, Force Deleting LUN in Storage Groups, robust enhancement

5.1.0 - iSCSI multipath enhancement 5.2.0 - Pool-aware scheduler support 5.3.0 - Consistency group modification support 6.0.0 - Over subscription support

Create consistency group from cgsnapshot support Multiple pools support enhancement Manage/unmanage volume revise White list target ports support Snap copy support Support efficient non-disruptive backup
7.0.0 - Clone consistency group support
Replication v2 support(managed) Configurable migration rate support

8.0.0 - New VNX Cinder driver 9.0.0 - Use asynchronous migration for cloning 10.0.1 - Extend SMP size before aync migration when cloning from an

image cache volume
CI_WIKI_NAME = ‘EMC_VNX_CI’
VENDOR = ‘Dell EMC’
VERSION = ‘10.00.01’
backup_use_temp_snapshot()
check_for_export(context, volume_id)

Make sure volume is exported.

check_for_setup_error()
create_cloned_volume(volume, src_vref)

Creates a cloned volume.

create_export(context, volume, connector)

Driver entry point to get the export info for a new volume.

create_export_snapshot(context, snapshot, connector)

Creates a snapshot mount point for snapshot.

create_group(*args, **kwargs)

Creates a group.

create_group_from_src(*args, **kwargs)

Creates a group from source.

create_group_snapshot(*args, **kwargs)

Creates a group_snapshot.

create_snapshot(snapshot)

Creates a snapshot.

create_volume(volume)

Creates a volume.

create_volume_from_snapshot(volume, snapshot)

Creates a volume from a snapshot.

delete_group(*args, **kwargs)

Deletes a group.

delete_group_snapshot(*args, **kwargs)

Deletes a group_snapshot.

delete_snapshot(snapshot)

Deletes a snapshot.

delete_volume(volume)

Deletes a volume.

do_setup(context)
ensure_export(context, volume)

Driver entry point to get the export info for an existing volume.

extend_volume(volume, new_size)

Extend a volume.

failover_host(context, volumes, secondary_id=None)

Fail-overs volumes from primary device to secondary.

get_pool(volume)

Returns the pool name of a volume.

get_volume_stats(refresh=False)

Get volume stats.

Parameters:refresh – True to get updated data
initialize_connection(*args, **kwargs)
initialize_connection_snapshot(snapshot, connector, **kwargs)

Allows connection to snapshot.

manage_existing(volume, existing_ref)

Manage an existing lun in the array.

The lun should be in a manageable pool backend, otherwise error would return. Rename the backend storage object so that it matches the, volume[‘name’] which is how drivers traditionally map between a cinder volume and the associated backend storage object.

manage_existing_ref:{
‘source-id’:<lun id in VNX>

} or manage_existing_ref:{

‘source-name’:<lun name in VNX>

}

manage_existing_get_size(volume, existing_ref)

Return size of volume to be managed by manage_existing.

migrate_volume(ctxt, volume, host)

Migrate volume via EMC migration functionality.

remove_export(context, volume)

Driver entry point to remove an export for a volume.

remove_export_snapshot(context, snapshot)

Removes snapshot mount point for snapshot.

retype(ctxt, volume, new_type, diff, host)

Convert the volume to be of the new type.

terminate_connection(*args, **kwargs)
terminate_connection_snapshot(snapshot, connector, **kwargs)

Disallows connection to snapshot.

unmanage(volume)

Unmanages a volume.

update_group(*args, **kwargs)

Updates a group.

update_migrated_volume(context, volume, new_volume, original_volume_status=None)

Returns model update for migrated volume.

update_volume_stats()

Retrieve stats info from volume group.