Provide validation of QoS spec key/value pairs

Registered by Richard Hagarty

Summary:
Currently users manage the volume type QoS specs through the “QoS Specs” table located in Admin -> Volumes -> Volume Types. From this table, the user can create, edit, and delete QoS specs associated with a volume type. Both the creating and editing QoS spec key-value pairs is handled by a dialog the does not offer any validation as to whether or not the key/value pair is legitimate. Users can type in pretty much any key or any value and have no way of knowing whether the key/value pair is valid or not until the time that the volume type is used during the volume creation process.

Motivation:
Horizon should provide a process that helps to guide users into completing a task in a more intuitive way which consumes less time.

Description:
The purpose of this blueprint is to provide the QoS Spec key/value pair validation. The validation should happen right in the dialog where the key/value pair is being created or edited. This is so that users can be confident that the key/value pair they set up is legitimate and will not cause any issue down the road at the time of volume creation.

This blueprint depends on the completion of another blueprint: https://blueprints.launchpad.net/horizon/+spec/qos-specs-describe, which will replace the “Create" and "Edit" QoS Spec dialogs with a new widget.

UX:
When users finish entering values for the keys in the new “Create” QoS spec key-value widget, they can click the Save button. The validation of the new key/value pairs will happen at this point. If the validation succeeds, the pairs will be added to the OoS spec. Otherwise, the Cinder command will report the failed validation with an explanation. Users can then correct the values in the same widget. The error reporting feature have might already existed in the widget. If not, the widget will be enhanced to include the error handling and the ability to stay available to receive the new values until the validation succeeds.

Outside Dependencies:
An existing Cinder API and the corresponding command to set the volume extra specs will be enhanced to provide the extra-specs key/value pair validation. Please see the cinder specs proposal at https://review.openstack.org/127646 - specs/kilo/validate-vol-type-extra-specs-key-value.rst.

Requirements Update Required:
N/A

Doc Impact:
N/A

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Richard Hagarty
Direction:
Needs approval
Assignee:
Richard Hagarty
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
David Lyle

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.