cinder-specs/specs/kilo/support-iscsi-driver.rst
Mike Perez 8ca13afc49 Introduce use case section
This will now require a separate section "Use Cases". This was
originally within "Problem description", but use cases seems to be
missed when it was filled out. This will hopefully improve spec
submission.

Change-Id: I3615ca5ff5c46851e682739a8343242e2f1b0a8d
2015-04-15 22:20:56 -07:00

147 lines
3.6 KiB
ReStructuredText

..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
===============================================
Support iSER driver within the ISCSIDriver flow
===============================================
https://blueprints.launchpad.net/cinder/+spec/support-iscsi-driver
This purpose of this BP is to avoid code duplications of classes and
parameters, and to prevent instability in the iSER driver flow,
for the TGT and LIO cases.
Problem description
===================
#. Currently the iSER driver is supported over TGT only, without LIO support.
#. There are a couple of iSER classes that inherit from iSCSI driver/target
classes, but most of their functionality is the same as the iSCSI classes.
This code duplication causes instability in the iSER driver code, when new
features or changes are added to the iSCSI driver flow.
Use Cases
=========
Proposed change
===============
These two problems can be solved by adding a small fix, which includes a new
enable_iser parameter within iSCSI Tgt/LIO classes.
All that is needed for RDMA support over iSER, in the Tgt and LIO cases, is
to set just one extra parameter in the volume creation stage.
A deprecation alert will be added to ISERTgtAdm, since This change will act as
a replacement to the current iSER Tgt code.
The Nova part of this spec is specified at:
https://review.openstack.org/#/c/130721/
Alternatives
------------
Leaving ISERTgtAdm, LVMISERDriver, ISERDriver and iser_opts the way they are,
or just deprecating a part of them (but it will miss the purpose of this code
refactoring).
Data model impact
-----------------
None
REST API impact
---------------
None
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
None
Performance Impact
------------------
None
Other deployer impact
---------------------
Adding a new "enable_iser" parameter, set to "False" by default.
This parameter will be used in TGT or LIO volume creation for setting
RDMA based portals.
This single parameter will deprecate all iser_opts parameters, that are
a duplication from iscsi parameters.
Developer impact
----------------
This change will simplify the maintanance of the iSER driver flow, since no
extra classes or duplicated parameters will be used.
Implementation
==============
Assignee(s)
-----------
Aviram Bar-Haim <aviramb@mellanox.com>
Work Items
----------
#. Fix bug https://bugs.launchpad.net/cinder/+bug/1396265 and add the correct
driver parameter, with a configurable value to VOLUME_CONF and
VOLUME_CONF_WITH_CHAP_AUTH.
#. Add a new "enable_iser" parameter that is set to false by default.
#. Set the driver parameter at the VOLUME_CONFs template in TgtAdm for the
TGT case.
#. Add _set_iser(1) on the network portal object in rtslib for the LIO case,
according to "enable_iser" value.
#. Set ISCSIDriver's "driver_volume_type" to "iscsi" or "iser" value, according
to the "enable_iser" value.
Dependencies
============
None
Testing
=======
HW that supports RDMA is required in order to test volume attachment over
iSER.
A new unit test will be added with the new enable_iser parameter over
iSCSI volume driver.
Documentation Impact
====================
After adding the new enable_iser parameter, An updated iSER configuration
guidelines will be added to:
* https://wiki.openstack.org/wiki/Mellanox-Cinder
* http://docs.openstack.org/juno/config-reference/content/lvm-volume-driver.html
* http://community.mellanox.com/docs/DOC-1462
References
==========
None