Add ability to specify arbitrary key value pairs to be used by driver when launching instance

Registered by Dennis Kliban on 2014-01-13

The use case I would like to support is the passing of a kernel command line at instance launch time. The driver for docker could use this metadata to pass environment variables it needs. Some discussion around this took place on the mailing list: http://lists.openstack.org/pipermail/openstack-dev/2013-December/022363.html
That discussion started with: http://lists.openstack.org/pipermail/openstack-dev/2013-December/022346.html

With glance images we have a way to associate arbitrary metadata attributes with the image. I could see using this mechanism to associate some default set of environment variables.

eg use a 'env_' prefix for glance image attributes

We've got a couple of cases now where we want to overrides these same things on a per-instance basis. Kernel command line args is one other example. Other hardware overrides like disk/net device types are another possibility

Rather than invent new extensions for each, we should have a way to pass arbitrary attributes along with the boot
API call, that a driver would handle in much the same way as they do for glance image properties. Basically think of it as
a way to custom any image property per instance created.

Blueprint information

Status:
Started
Approver:
Russell Bryant
Priority:
Low
Drafter:
None
Direction:
Needs approval
Assignee:
Dennis Kliban
Definition:
Pending Approval
Series goal:
None
Implementation:
Needs Code Review
Milestone target:
milestone icon next
Started by
Dennis Kliban on 2014-01-13

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-ability-to-pass-driver-meta-when-starting-instance,n,z

Addressed by: https://review.openstack.org/68146
    Enabled passing of metadata to driver when creating instance

I went ahead and approved this for icehouse-3. However, please update the blueprint with some more design info. In particular, what does the API addition look like? How would you use it from novaclient? --russellb

OK, the only patch present appears to be abandoned, deferring this to Juno now --johnthetubaguy (3rd March 2014)

We need to move this to Nova-Docker - https://blueprints.launchpad.net/nova-docker/ -- dims (Dec 17,2014)

This is now obsoleted by

https://blueprints.launchpad.net/nova/+spec/virt-image-props-boot-override

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.