The cinder.volume.drivers.ibm.flashsystem_iscsi Module

Volume driver for IBM FlashSystem storage systems with iSCSI protocol.

Limitations: 1. Cinder driver only works when open_access_enabled=off.

class FlashSystemISCSIDriver(*args, **kwargs)

Bases: cinder.volume.drivers.ibm.flashsystem_common.FlashSystemDriver

IBM FlashSystem iSCSI volume driver.

Version history:

1.0.0 - Initial driver
1.0.1 - Code clean up
1.0.2 - Add lock into vdisk map/unmap, connection
        initialize/terminate
1.0.3 - Initial driver for iSCSI
1.0.4 - Split Flashsystem driver into common and FC
1.0.5 - Report capability of volume multiattach
1.0.6 - Fix bug #1469581, add I/T mapping check in
        terminate_connection
1.0.7 - Fix bug #1505477, add host name check in
        _find_host_exhaustive for FC
1.0.8 - Fix bug #1572743, multi-attach attribute
        should not be hardcoded, only in iSCSI
1.0.9 - Fix bug #1570574, Cleanup host resource
        leaking, changes only in iSCSI
1.0.10 - Fix bug #1585085, add host name check in
         _find_host_exhaustive for iSCSI
1.0.11 - Update driver to use ABC metaclasses
1.0.12 - Update driver to support Manage/Unmanage
         existing volume
CI_WIKI_NAME = ‘IBM_STORAGE_CI’
VERSION = ‘1.0.12’
do_setup(ctxt)

Check that we have all configuration details from the storage.

initialize_connection(*args, **kwargs)

Perform work so that an iSCSI connection can be made.

To be able to create an iSCSI connection from a given host to a volume, we must: 1. Translate the given iSCSI name to a host name 2. Create new host on the storage system if it does not yet exist 3. Map the volume to the host if it is not already done 4. Return the connection information for relevant nodes (in the proper I/O group)

terminate_connection(*args, **kwargs)

Cleanup after connection has been terminated.

When we clean up a terminated connection between a given connector and volume, we: 1. Translate the given connector to a host name 2. Remove the volume-to-host mapping if it exists 3. Delete the host if it has no more mappings (hosts are created automatically by this driver when mappings are created)

validate_connector(connector)

Check connector for enabled protocol.