LeftHand Cinder Driver modifications to support REST interface

Registered by Jim Branen on 2013-11-18

Blueprint Overview

Currently, the existing OpenStack Block Storage HP LeftHand (LH) StoreVirtual iSCSI Driver communicates via SSH calls to the LH CLIQ interface. The SSH interface on LH array has connections and performance limitations. These problems will be resolved by moving to the new LH OS REST interface. The new driver will need to meet the exiting functionality of the exiting SSH based driver and any new features that are required by OpenStack Block Storage, see minimum requirements: https://github.com/openstack/cinder/blob/master/doc/source/devref/drivers.rst#minimum-features. The driver will require a python REST client that will reside in the Python Standard library (http://pypi.python.org/pypi) that will be developed to communicate with the LH array. The new driver will also add the following volume type extra specs support;

• Network RAID (networkRAID)
• Provisioning (provisioning)
• Adaptive Optimization (ao)
No additional changes would be made to OpenStack outside the HP LH iSCSI Block Storage (cinder) driver.

Implementation Details

This blueprint would move the existing SSH interface into the new driver to maintain backwards compatibility and add the new LH REST interface. Volume type support will also be added in the OpenStack HP LH iSCSI Cinder Driver using the new REST interface. The driver would call a new LH REST API on the LH storage array via the python REST client (hplefthandclient) that will reside in the pypi repository. This is the same mechanism the HP 3PAR Block Storage drivers are using.
The LH storage arrays allow setting volume type values on volumes. This change will also include the ability to create volumes with the following volume types in the REST version of the driver only;
1. Network RAID – Defaults to RAID 0 out of possible values Network RAID-0 (None), Network RAID-5 (Single Parity), Network RAID-10 (2-Way Mirror), Network RAID-10 (3-Way Mirror), Network RAID-10 (4-Way Mirror), and Network RAID-6 (Dual Parity) depending on the configuration of the LH storage array.
2. Provisioning – Defaults to thin provisioning, the valid values are thin or full.
3. Adaptive Optimization – Default is permitted, AO is permitted for volumes after the cluster is enable for AO allowing for tiering performance.

Blueprint information

Status:
Complete
Approver:
John Griffith
Priority:
Low
Drafter:
Jim Branen
Direction:
Approved
Assignee:
Jim Branen
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Jim Branen on 2013-11-18
Completed by
Jim Branen on 2014-02-12

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/lefthand-cinder-driver,n,z

Addressed by: https://review.openstack.org/65181
    New HP Lefthand array iSCSI driver

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.