Allow adding metadata when launching instance
Summary
=======
There is currently no way to add metadata to an instance during creation from horizon. This blueprint will add the ability to add key-value metadata to an instance from the Launch Instance panel.
Motivation
========
Users have the ability to add metadata on the nova boot CLI but this option is not exposed through horizon. This is especially a problem when an image supports configuration options that require certain metadata properties be set on the instance. In this case horizon cannot be used to launch the instance.
Description
=========
A new Metadata tab will be added to the angular Launch Instance workflow. It will be placed as the last tab in the workflow. This tab will use the angular metadata tree widget to allow users to add custom key-value pairs to the instance metadata. The metadata tree widget will also display values from the "OS:Nova:Instance" metadata definitions namespace.
UX
===
The new tab will match the UX of the other tabs in the Launch Instance workflow. The metadata definitions widget is the same one used for managing image metadata and will match that UX.
Testing
======
By default, no metadata is specified when launching an instance and the result should be the same as it is currently, essentially the --meta option is not specified at boot. If metadata is specified then the metadata should be displayed in the Metadata section on the instance details page. If the "OS:Nova:Instance" metadata definitions namespace exists then it should be loaded and displayed in the Available section of the metadata tree on the Launch Instance - Metadata tab.
Outside Dependencies
==================
The glance metadata definitions are already being queried in order to display them when choosing an image as the source. This will just add "OS:Nova:Instance" to the list of namespaces being queried.
Requirements Update Required
=======
None
Doc Impact
=========
None
Blueprint information
- Status:
- Complete
- Approver:
- David Lyle
- Priority:
- Medium
- Drafter:
- Justin Pomeroy
- Direction:
- Needs approval
- Assignee:
- Justin Pomeroy
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Implemented
- Milestone target:
- mitaka-2
- Started by
- Justin Pomeroy
- Completed by
- Justin Pomeroy
Related branches
Related bugs
Sprints
Whiteboard
From Travis Tripp: Hi Justin. If you are adding this to the existing launch instance panel, you might want to do this using the update metadata widget. We could talk about how to directly incorporate this into the existing launch instance wizard.
[jpomero 2014-10-15] Hi Travis. Using the metadata widget is part of my plan for this, at least at this early point. I think that makes a lot of sense. I will let you know if / when I run into trouble when I get around to this.
Gerrit topic: https:/
Addressed by: https:/
Add Metadata page to angular Launch Instance wizard