diff options
| author | Scott Moser <smoser@ubuntu.com> | 2012-08-10 17:27:42 -0400 |
|---|---|---|
| committer | Scott Moser <smoser@ubuntu.com> | 2012-08-14 15:26:35 -0400 |
| commit | b947ee558d168705d0080f55b4aac1ba1352df17 (patch) | |
| tree | 3f1626876d80d17f2498f1e2a1b09bae2c83fa5b /nova/openstack | |
| parent | 9deb489a8ba5ca2417787ba5e5429a60cf1712c2 (diff) | |
continue config-drive-v2, add openstack metadata api
This continues the work Michael did on blueprint config-drive-v2
Things added:
* web service /openstack/2012-08-10 with:
user_data
meta_data.json
* web service supporting /openstack/content
Things changed:
* Changed the name 'files' (/openstack/files) to be 'content'
This is to be more generic and apply to future re-use of it
for some purpose other than personalities (injected_files)
* 'meta_data.json' and 'user_data' are used for openstack
* 'user-data' (without .raw) in the ec2 config drive rendering
* 'content_path' is a attribute of each of the entries in the 'files'
its value is the path from the openstack metadata service root to
where the content is located.
This means that the user does not have to know anything explicit about
'/content'. They just have to take the 'content_path' and append it
to the top level entry point of metadata service.
Explicit example:
http://169.254.169.254/openstack/2012-08-10/meta_data.json
has:
files[{path: "/etc/passwd", content_path: "/content/0001"}]
To get the file, user appends 'content_path' to
http://169.254.169.254/openstack
* network config (Template) is available in /content also, and
the key that points to it is 'network_config'. This occurs only
if there are network's that are "injected" (same behavior as previously)
The meta_data.json now contains
uuid: <instance uuid>
meta: meta tags provided they will appear in a dict here
files:
This is a list of dicts, where each dict has 2 fields:
* 'path' (the path provided)
* 'content_id': the location in /content/ that will give the content
public-keys:
Dict of keyname : value
network_config:
This is a dict, containing 'content_path' and 'name' (network_config)
hostname: the hostname
name: the nova boot name
TODO:
* want to add other items into openstack metadata
* public-hostname
* IP addresses
* keystone-endpoint
* url of metadata service: ideally only show this if there
is a web service available. the path seems hard coded at the moment
to be http://169.254.169.254/openstack, but I do not know if there
is a way to determine if one is present or not.
* document config-drive-v2
Change-Id: I6b9097624a9c1a972e4851d79f6d557376f59d32
Diffstat (limited to 'nova/openstack')
0 files changed, 0 insertions, 0 deletions
