The cinder.volume.drivers.dell_emc.vmax.fc Module¶
- 
class VMAXFCDriver(*args, **kwargs)¶
- Bases: - cinder.volume.driver.FibreChannelDriver- EMC FC Drivers for VMAX using SMI-S. - Version history: - 1.0.0 - Initial driver 1.1.0 - Multiple pools and thick/thin provisioning, performance enhancement. 2.0.0 - Add driver requirement functions 2.1.0 - Add consistency group functions 2.1.1 - Fixed issue with mismatched config (bug #1442376) 2.1.2 - Clean up failed clones (bug #1440154) 2.1.3 - Fixed a problem with FAST support (bug #1435069) 2.2.0 - Add manage/unmanage 2.2.1 - Support for SE 8.0.3 2.2.2 - Update Consistency Group 2.2.3 - Pool aware scheduler(multi-pool) support 2.2.4 - Create CG from CG snapshot 2.3.0 - Name change for MV and SG for FAST (bug #1515181) - Fix for randomly choosing port group. (bug #1501919) - get_short_host_name needs to be called in find_device_number (bug #1520635) - Proper error handling for invalid SLOs (bug #1512795) - Extend Volume for VMAX3, SE8.1.0.3 https://blueprints.launchpad.net/cinder/+spec/vmax3-extend-volume - Incorrect SG selected on an attach (#1515176) - Cleanup Zoning (bug #1501938) NOTE: FC only - Last volume in SG fix - _remove_last_vol_and_delete_sg is not being called for VMAX3 (bug #1520549) - necessary updates for CG changes (#1534616) - Changing PercentSynced to CopyState (bug #1517103) - Getting iscsi ip from port in existing masking view - Replacement of EMCGetTargetEndpoints api (bug #1512791) - VMAX3 snapvx improvements (bug #1522821) - Operations and timeout issues (bug #1538214) 2.4.0 - EMC VMAX - locking SG for concurrent threads (bug #1554634) - SnapVX licensing checks for VMAX3 (bug #1587017) - VMAX oversubscription Support (blueprint vmax-oversubscription) - QoS support (blueprint vmax-qos) 2.5.0 - Attach and detach snapshot (blueprint vmax-attach-snapshot) - MVs and SGs not reflecting correct protocol (bug #1640222) - Storage assisted volume migration via retype (bp vmax-volume-migration) - Support for compression on All Flash - Volume replication 2.1 (bp add-vmax-replication) - rename and restructure driver (bp vmax-rename-dell-emc)- 
CI_WIKI_NAME= 'EMC_VMAX_CI'¶
 - 
VERSION= '2.5.0'¶
 - 
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 the consistency group from source. - Currently the source can only be a cgsnapshot. - Parameters: - context – the context
- group – the consistency group object to be created
- volumes – volumes in the consistency group
- cgsnapshot – the source consistency group snapshot
- snapshots – snapshots of the source volumes
- source_cg – the dictionary of a consistency group as source.
- source_vols – a list of volume dictionaries in the source_cg.
 
 - 
create_export(context, volume, connector)¶
- Driver entry point to get the export info for a new volume. 
 - 
create_export_snapshot(context, snapshot, connector)¶
- Driver entry point to get the export info for a new snapshot. 
 - 
create_snapshot(snapshot)¶
- Creates a snapshot. 
 - 
create_volume(volume)¶
- Creates a VMAX 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 an VMAX volume. 
 - 
ensure_export(context, volume)¶
- Driver entry point to get the export info for an existing volume. 
 - 
extend_volume(volume, new_size)¶
- Extend an existing volume. 
 - 
failover_host(context, volumes, secondary_id=None)¶
- Failover volumes to a secondary host/ backend. - Parameters: - context – the context
- volumes – the list of volumes to be failed over
- secondary_id – the backend to be failed over to, is ‘default’ if fail back
 - Returns: - secondary_id, volume_update_list 
 - 
get_volume_stats(refresh=False)¶
- Get volume stats. - Parameters: - refresh – boolean – If True, run update the stats first. - Returns: - dict – the stats dict 
 - 
initialize_connection(*args, **kwargs)¶
 - 
initialize_connection_snapshot(snapshot, connector, **kwargs)¶
- Allows connection to snapshot. - Parameters: - snapshot – the snapshot object
- connector – the connector object
- kwargs – additional parameters
 - Returns: - data dict 
 - 
manage_existing(volume, external_ref)¶
- Manages an existing VMAX Volume (import to Cinder). - Renames the Volume to match the expected name for the volume. Also need to consider things like QoS, Emulation, account/tenant. 
 - 
manage_existing_get_size(volume, external_ref)¶
- Return size of an existing VMAX volume to manage_existing. - Parameters: - self – reference to class
- volume – the volume object including the volume_type_id
- external_ref – reference to the existing volume
 - Returns: - size of the volume in GB 
 - 
migrate_volume(ctxt, volume, host)¶
- Migrate a volume from one Volume Backend to another. - Parameters: - ctxt – context
- volume – the volume object including the volume_type_id
- host – the host dict holding the relevant target(destination) information
 - Returns: - boolean – Always returns True - Returns: - dict – Empty dict {} 
 - 
populate_data(device_info, volume, connector)¶
- Populate data dict. - Add relevant data to data dict, target_lun, target_wwn and initiator_target_map. - Parameters: - device_info – device_info
- volume – the volume object
- connector – the connector object
 - Returns: - dict – the target_wwns and initiator_target_map 
 - 
remove_export(context, volume)¶
- Driver entry point to remove an export for a volume. 
 - 
remove_export_snapshot(context, snapshot)¶
- Driver entry point to remove an export for a snapshot. 
 - 
retype(ctxt, volume, new_type, diff, host)¶
- Migrate volume to another host using retype. - Parameters: - ctxt – context
- volume – the volume object including the volume_type_id
- new_type – the new volume type.
- diff – Unused parameter.
- host – the host dict holding the relevant target(destination) information
 - Returns: - boolean – True if retype succeeded, False if error 
 - 
terminate_connection(*args, **kwargs)¶
 - 
terminate_connection_snapshot(snapshot, connector, **kwargs)¶
- Disallows connection to snapshot. - Parameters: - snapshot – the snapshot object
- connector – the connector object
- kwargs – additional parameters
 
 - 
unmanage(volume)¶
- Export VMAX volume from Cinder. - Leave the volume intact on the backend array. 
 - 
update_consistencygroup(context, group, add_volumes, remove_volumes)¶
- Updates LUNs in consistency group. 
 - 
update_volume_stats()¶
- Retrieve stats info from volume group. 
 
-