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

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.0 - Extend SMP size before async migration when cloning from an
             image cache volume
    10.1.0 - Add QoS support
    10.2.0 - Add replication group support
    10.2.1 - Fix failure of migration during cloning
    10.2.2 - Fix bug to
             make sure sg can be created again after it was destroyed
             under `destroy_empty_stroage_group` setting to `True`
VERSION = '10.02.02'
check_for_export(context, volume_id)

Make sure volume is exported.

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.


Creates a snapshot.


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.


Deletes a snapshot.


Deletes a volume.

disable_replication(context, group, volumes)
enable_replication(context, group, volumes)
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, groups=None)

Fail-overs volumes from primary device to secondary.

failover_replication(context, group, volumes, secondary_backend_id)

Returns the pool name of a volume.

get_replication_error_status(context, groups)

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.

    'source-id':<lun id in VNX>


    '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.


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.


Retrieve stats info from volume group.

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.