ISCSI Drivers for EMC VMAX arrays based on SMI-S.
Bases: cinder.volume.driver.ISCSIDriver
EMC ISCSI 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)
- VMAX2/VMAX3 iscsi multipath support (iscsi only)
https://blueprints.launchpad.net/cinder/+spec/vmax-iscsi-multipath
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)
Make sure volume is exported.
Creates a cgsnapshot.
Creates a cloned volume.
Creates a consistencygroup.
Creates the consistency group from source.
Currently the source can only be a cgsnapshot.
Parameters: |
|
---|
Driver entry point to get the export info for a new volume.
Driver entry point to get the export info for a new snapshot.
Creates a snapshot.
Creates a VMAX volume.
Creates a volume from a snapshot.
Deletes a cgsnapshot.
Deletes a consistency group.
Deletes a snapshot.
Deletes an VMAX volume.
Driver entry point to get the export info for an existing volume.
Extend an existing volume.
Failover volumes to a secondary host/ backend.
Parameters: |
|
---|---|
Returns: | secondary_id, volume_update_list |
Populate iscsi dict to pass to nova.
Parameters: |
|
---|---|
Returns: | iscsi dict |
Get volume stats.
If ‘refresh’ is True, run update the stats first.
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 smis_get_iscsi_properties. Example return value:
{
'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',
'volume_id': '12345678-1234-4321-1234-123456789012',
}
}
‘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],
}
}
Allows connection to snapshot.
Parameters: |
|
---|---|
Returns: | iscsi dict |
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.
Return size of an existing VMAX volume to manage_existing.
Parameters: |
|
---|---|
Returns: | size of the volume in GB |
Migrate a volume from one Volume Backend to another.
Parameters: |
|
---|---|
Returns: | boolean – Always returns True |
Returns: | dict – Empty dict {} |
Driver entry point to remove an export for a volume.
Driver entry point to remove an export for a snapshot.
Migrate volume to another host using retype.
Parameters: |
|
---|---|
Returns: | boolean – True if retype succeeded, False if error |
Gets iscsi configuration.
We ideally get saved information in the volume entity, but fall back to discovery if need be. Discovery may be completely removed in future The properties are: :target_discovered: boolean indicating whether discovery was used :target_iqn: the IQN of the iSCSI target :target_portal: the portal of the iSCSI target :target_lun: the lun of the iSCSI target :volume_id: the UUID of the volume :auth_method:, :auth_username:, :auth_password:
the authentication details. Right now, either auth_method is not present meaning no authentication, or auth_method == CHAP meaning use CHAP with the specified credentials.
Disallow connection from connector.
Disallows connection to snapshot.
Parameters: |
|
---|
Export VMAX volume from Cinder.
Leave the volume intact on the backend array.
Updates LUNs in consistency group.
Retrieve stats info from volume group.