cinder.volume.drivers.dell_emc.vnx.driver
Module¶Cinder Driver for EMC VNX based on CLI.
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
11.0.0 - Fix failure of migration during cloning
CI_WIKI_NAME
= 'EMC_VNX_CI'¶VENDOR
= 'Dell EMC'¶VERSION
= '11.00.00'¶backup_use_temp_snapshot
()¶Get the configured setting for backup from snapshot.
If an inheriting driver does not support this operation, the driver should override this method to return false and log a warning letting the administrator know they have configured something that cannot be done.
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
(context, group)¶Creates a group.
create_group_from_src
(context, group, volumes, group_snapshot=None, snapshots=None, source_group=None, source_vols=None)¶Creates a group from source.
create_group_snapshot
(context, group_snapshot, snapshots)¶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
(context, group, volumes)¶Deletes a group.
delete_group_snapshot
(context, group_snapshot, snapshots)¶Deletes a group_snapshot.
delete_snapshot
(snapshot)¶Deletes a snapshot.
delete_volume
(volume)¶Deletes a volume.
disable_replication
(context, group, volumes)¶Disables replication for a group and volumes in the group.
Parameters: |
|
---|---|
Returns: | model_update - dict of group updates |
Returns: | volume_model_updates - list of dicts of volume updates |
do_setup
(context)¶Any initialization the volume driver does while starting.
enable_replication
(context, group, volumes)¶Enables replication for a group and volumes in the group.
Parameters: |
|
---|---|
Returns: | model_update - dict of group updates |
Returns: | volume_model_updates - list of dicts of volume updates |
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)¶Fails over replication for a group and volumes in the group.
Parameters: |
|
---|---|
Returns: | model_update - dict of group updates |
Returns: | volume_model_updates - list of dicts of volume updates |
get_pool
(volume)¶Returns the pool name of a volume.
get_replication_error_status
(context, groups)¶Returns error info for replicated groups and its volumes.
Returns: | group_model_updates - list of dicts of group updates |
---|
if error happens. For example, a dict of a group can be as follows:
{'group_id': xxxx,
'replication_status': fields.ReplicationStatus.ERROR}
Returns: | volume_model_updates - list of dicts of volume updates |
---|
if error happens. For example, a dict of a volume can be as follows:
{'volume_id': xxxx,
'replication_status': fields.ReplicationStatus.ERROR}
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.
is_consistent_group_snapshot_enabled
()¶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
(context, group, add_volumes=None, remove_volumes=None)¶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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.