Allow adding scheduler hints when launching instance

Registered by Justin Pomeroy

Summary
=======
There is currently no way to add scheduler hints to an instance while launching from horizon. This blueprint will add the ability to add scheduler hints to an instance from the angular Launch Instance workflow.

Motivation
========
Users have the ability to add scheduler hints on the nova boot CLI but this option is not exposed through horizon. Users have asked for this feature on multiple occasions.

Description
=========
A new Scheduler Hints tab will be added to the angular Launch Instance workflow. This tab will use the angular metadata tree widget to allow users to add custom key-value pairs as instance scheduler hints. The metadata tree widget will also display properties from the "OS:Nova:Server" metadata definitions namespace with the "scheduler_hints" properties target.

UX
===
The new tab will match the UX of the other tabs in the Launch Instance workflow, and be very similar to the existing Metadata tab. The metadata definitions widget is the same one used for managing image, instance, and flavor metadata. The only difference will be in the description of the panel and in what available properties are displayed.

Testing
======
By default, no scheduler hints are specified when launching an instance and the result should be the same as it is currently, essentially no --hint options are specified at boot. If scheduler hints are specified then the hints should be passed in to nova when creating the instance. Properties from the "OS:Nova:Server" metadata definitions namespace with the "scheduler_hints" properties target should be loaded and displayed in the Available section of the metadata tree on the Launch Instance - Scheduler Hints tab.

Outside Dependencies
==================
The glance metadata definitions catalog will need to have the OS::Nova::Server namespace with the "scheduler_hints" properties target in order for these properties to show up as available properties in the metadata tree.

Requirements Update Required
========================
None

Doc Impact
=========
None

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
Medium
Drafter:
Justin Pomeroy
Direction:
Approved
Assignee:
Justin Pomeroy
Definition:
Approved
Series goal:
Accepted for 10.0.0-newton
Implementation:
Implemented
Milestone target:
None
Started by
Justin Pomeroy
Completed by
David Lyle

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-scheduler-hints,n,z

Addressed by: https://review.openstack.org/272635 -- MERGED
    Support scheduler hints when launching instance

[TravT 2015-01-26] Whether or not this is enabled should be controllable, policy based if possible. Many orgs may not want to allow users to send in hints (preferring to only use image properties, host aggregates, and flavors) to affect scheduling.

Addressed by: https://review.openstack.org/285868 -- MERGED
    Add policy support to workflow steps

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.