Adding volume driver for X-IO ISE

Driver is implemented using one base class XIOISEDriver and two
classes, one for each storage protocol.

This change also addresses version 1.1.0 of the driver that
adds support for:
- QoS
- Volume affinity
- Thin
- Retype

Driver Cert results:
https://bugs.launchpad.net/cinder/+bug/1360078

Unit test tests all required interfaces for both driver types.

Change-Id: I2eeb44e768871e02e407f93243aabef993f96d53
Implements: blueprint xio-iscsi-fc-volume-driver
Implements: blueprint xio-volume-driver-1-1
This commit is contained in:
Richard Hedlind 2014-10-27 09:18:06 -06:00
parent efd080c39c
commit 6e289f3386
5 changed files with 2932 additions and 0 deletions

5
cinder/exception.py Normal file → Executable file
View File

@ -880,3 +880,8 @@ class ISCSITargetRemoveFailed(CinderException):
class ISCSITargetAttachFailed(CinderException):
message = _("Failed to attach iSCSI target for volume %(volume_id)s.")
# X-IO driver exception.
class XIODriverException(VolumeDriverException):
message = _("X-IO Volume Driver exception!")

1268
cinder/tests/test_xio.py Executable file

File diff suppressed because it is too large Load Diff

4
cinder/volume/driver.py Normal file → Executable file
View File

@ -127,6 +127,10 @@ volume_opts = [
default=None,
help='The path to the client certificate for verification, '
'if the driver supports it.'),
cfg.BoolOpt('driver_use_ssl',
default=False,
help='Tell driver to use SSL for connection to backend '
'storage if the driver supports it.'),
]
# for backward compatibility

1629
cinder/volume/drivers/xio.py Executable file

File diff suppressed because it is too large Load Diff

View File

@ -1110,6 +1110,10 @@
# driver supports it. (string value)
#driver_client_cert=<None>
# Tell driver to use SSL for connection to backend storage if
# the driver supports it. (boolean value)
#driver_use_ssl=false
#
# Options defined in cinder.volume.drivers.block_device
@ -2201,6 +2205,28 @@
#windows_iscsi_lun_path=C:\iSCSIVirtualDisks
#
# Options defined in cinder.volume.drivers.xio
#
# Default storage pool for volumes. (integer value)
#ise_storage_pool=1
# Raid level for ISE volumes. (integer value)
#ise_raid=1
# Number of retries (per port) when establishing connection to
# ISE management port. (integer value)
#ise_connection_retries=5
# Interval (secs) between retries. (integer value)
#ise_retry_interval=1
# Number on retries to get completion status after issuing a
# command to ISE. (integer value)
#ise_completion_retries=30
#
# Options defined in cinder.volume.drivers.zadara
#