The cinder.volume.drivers.emc.emc_cli_iscsi
Module¶
iSCSI Drivers for EMC VNX array based on CLI.
-
class
EMCCLIISCSIDriver
(*args, **kwargs)¶ Bases:
cinder.volume.driver.ISCSIDriver
EMC ISCSI Drivers 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 HA3.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 Zoning4.1.0 - Consistency group support 5.0.0 - Performance enhancement, LUN Number Threshold Support,
Initiator Auto Deregistration, Force Deleting LUN in Storage Groups, robust enhancement5.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
-
backup_use_temp_snapshot
()¶
-
check_for_export
(context, volume_id)¶ Make sure volume is exported.
-
check_for_setup_error
()¶
-
create_cgsnapshot
(context, cgsnapshot, snapshots)¶ Creates a cgsnapshot.
-
create_cloned_volume
(volume, src_vref)¶ Creates a cloned volume.
-
create_consistencygroup
(context, group)¶ Creates a consistencygroup.
-
create_consistencygroup_from_src
(context, group, volumes, cgsnapshot=None, snapshots=None, source_cg=None, source_vols=None)¶ Creates a consistency group from source.
-
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_snapshot
(snapshot)¶ Creates a snapshot.
-
create_volume
(volume)¶ Creates a VNX volume.
-
create_volume_from_snapshot
(volume, snapshot)¶ Creates a volume from a snapshot.
-
delete_cgsnapshot
(context, cgsnapshot, snapshots)¶ Deletes a cgsnapshot.
-
delete_consistencygroup
(context, group, volumes)¶ Deletes a consistency group.
-
delete_snapshot
(snapshot)¶ Deletes a snapshot.
-
delete_volume
(volume)¶ Deletes a VNX volume.
-
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_backend_id)¶ Failovers volume from primary device to secondary.
-
get_pool
(volume)¶ Returns the pool name of a volume.
-
get_volume_stats
(refresh=False)¶ Get volume status.
If ‘refresh’ is True, run update the stats first.
-
initialize_connection
(volume, connector)¶ Initializes the connection and returns connection info.
The iscsi driver returns a driver_volume_type of ‘iscsi’. the format of the driver data is defined in vnx_get_iscsi_properties. Example return value (multipath is not enabled):
{ 'driver_volume_type': 'iscsi' 'data': { 'target_discovered': True, 'target_iqn': 'iqn.2010-10.org.openstack:volume-00000001', 'target_portal': '127.0.0.0.1:3260', 'target_lun': 1, } }
Example return value (multipath is enabled):
{ 'driver_volume_type': 'iscsi' 'data': { 'target_discovered': True, 'target_iqns': ['iqn.2010-10.org.openstack:volume-00001', 'iqn.2010-10.org.openstack:volume-00002'], 'target_portals': ['127.0.0.1:3260', '127.0.1.1:3260'], 'target_luns': [1, 1], } }
-
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)¶
-
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
(volume, connector, **kwargs)¶ Disallow connection from connector.
-
terminate_connection_snapshot
(snapshot, connector, **kwargs)¶ Disallows connection to snapshot.
-
unmanage
(volume)¶ Unmanages a volume.
-
update_consistencygroup
(context, group, add_volumes, remove_volumes)¶ Updates LUNs in consistency group.
-
update_migrated_volume
(context, volume, new_volume, original_volume_status=None)¶ Returns model update for migrated volume.
-
update_volume_stats
()¶ Retrieve status info from volume group.