cinder-specs/specs/liberty/huawei-sdshypervisor-driver.rst
zhangbailin e46d24be09 Modify some spelling errors
These changes are good for you to read this document better.
There are change "extention" to "extension" and "accross" to "across"
and so on.

Change-Id: I33337131bb3e19b390df75924191c5fc04529ef5
2017-08-17 04:44:39 -07:00

210 lines
5.7 KiB
ReStructuredText

..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
==============================================
Cinder volume driver for Huawei SDSHypervisor
==============================================
Include the URL of your launchpad blueprint:
https://blueprints.launchpad.net/cinder/+spec/huawei-sdshypervisor-driver
This proposal is to add Huawei SDSHypervisor driver to cinder.
Huawei SDSHypervisor is a storage virtualization solution, is a software
running in host, just focus on the data plane, the goal is to facilitate
the reuse of customer's existing old and low-end devices. SDSHypervisor does
not interact with the storage device in control plane, such as create volume,
create snapshot, do not need third-party device manufacturers to develop any
driver. Administrator just attaches Lun to the hypervisor node as hypervisor
storage entity and hypervisor will provide virtual volume based user's QoS
and patch advance feature to these Lun such as snapshot, link clone, cache,
thin provision and so on.
The purpose of this blue print is to add Huawei SDSHypervisor Driver to Cinder.
Currently there are many heterogeneous storage devices in user product
environment which is low-level device without advance feature, e.g. snapshot,
clone, cache, thin provision, QoS. So adding the SDShypervisor driver will
bring the following advantages:
* Better I/O performance using SDSHypervisor cache feature when there is
SSD in host.
* Facilitate the reuse of customer's existing old and low-end devices, patch
advance feature to these device via SDSHypervisor, e.g. snapshot, clone,
cache, thin provision, QoS
* Help customer use Openstack build his cloud OS. For Cinder, we can't allow
driver to unlimited expand. For manufacturers, they may not want to spend more
time to develop cinder driver for these obsolete and not be maintained
devices. But in the customer's environment there are such devices which need
to be accessed to openstack, in this situation customers can access these
devices to hypervisor, indirect access to Cinder, use Openstack build his
cloud OS.
Problem description
===================
Currently, user can't access Huawei SDShypervisor by Openstack Cinder.
Use Cases
=========
Proposed change
===============
We will add a new Cinder driver that uses socket API interact with Huawei
SDShypervisor storage. SDShypervisor data panel using private Key value
protocol, so we also add a new connector to realize attach/detach volume.
The following diagram shows the command and data paths.
::
+------------------+
| |
| Cinder + |
| Cinder Volume |
| |
| |
+------------------+
| |
| |
| |
| |
+---------------+-------+ +----+------------------+
| | | |
+ | | |
| SDShypervisor | | SDShypervisor Driver |
| connector | | |
| | | |
+-----------------------+ +-----------------------+
| |
| |
| |
CLI Socket API
| |
| |
| |
+--+-----------+---+
| |
| |
| SDShypervisor |
| storeage |
| |
+------------------+
Add new driver in /cinder/volume/drivers path, and realize cinder driver
minimum features:
* Volume Create/Delete
* Volume Attach/Detach
* Snapshot Create/Delete
* Create Volume from Snapshot
* Get Volume Stats
* Copy Image to Volume
* Copy Volume to Image
* Clone Volume
* Extend Volume
Add new connector in cinder/brick/initiator path, and realize abstract
connector methods:
* connect_volume
* disconnect_volume
Alternatives
------------
None
Data model impact
-----------------
None
REST API impact
---------------
None
Security impact
---------------
None
Notifications impact
--------------------
None
Other end user impact
---------------------
User will be able to use Huawei SDSHypervisor with Cinder.
Performance Impact
------------------
None
Other deployer impact
---------------------
None
Developer impact
----------------
None
Implementation
==============
Assignee(s)
-----------
Primary assignee:
zhangni <zhangni@huawei.com>
Other contributors:
None
Work Items
----------
Realize Cinder driver minimum features using socket API.
Realize new connector using CLI.
Add unit test code for Huawei SDShypervisor cinder driver and connector.
Dependencies
============
Because Huawei SDShypervisor data panel using private Key-Value protocol,
we will create a new libvirt volume driver in Nova to realize
attach/detach volume to instance. Nova BP page is
https://blueprints.launchpad.net/nova/+spec/huawei-sdshypervisor-volume-driver
Testing
=======
3rd party continuous integration will be done for Huawei SDSHypervisor Driver.
Documentation Impact
====================
The CinderSupportMatrix table and Block storage manual should be updated to
add Huawei SDShypervisor.
References
==========
https://wiki.openstack.org/wiki/Cinder/HuaweiSDSHypervisorDriver