Merge lp:~0x44/nova/extdoc into lp:~annegentle/nova/extdoc

Proposed by Christopher MacGown
Status: Merged
Merged at revision: 1578
Proposed branch: lp:~0x44/nova/extdoc
Merge into: lp:~annegentle/nova/extdoc
Diff against target: 215 lines (+211/-0)
1 file modified
nova/api/openstack/contrib/doc/ext_config_drive.rst (+211/-0)
To merge this branch: bzr merge lp:~0x44/nova/extdoc
Reviewer Review Type Date Requested Status
Anne Gentle Approve
Review via email: mp+75838@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Anne Gentle (annegentle) wrote :

Thanks so much!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'nova/api/openstack/contrib/doc/ext_config_drive.rst'
2--- nova/api/openstack/contrib/doc/ext_config_drive.rst 1970-01-01 00:00:00 +0000
3+++ nova/api/openstack/contrib/doc/ext_config_drive.rst 2011-09-17 01:04:25 +0000
4@@ -0,0 +1,211 @@
5+About This Extension
6+====================
7+The config-drive extension enables attaching a separate drive to the Compute guest on instance create. It is used with the OpenStack Compute 1.1 API to write configuration data into guest for those guests whose root filesystems cannot be mounted by the Compute host.
8+
9+To use this extension, you must have installed Compute, with libvirt or Xen using local disk.
10+
11+.. Are there any pre-requisites prior to using it such as special hardware or configuration?
12+
13+To obtain current information the extensions available to you, issue an EXTENSION query on the OpenStack system where it is installed, such as http://mycloud.com/v1.1/tenant/extensions.
14+
15+Extension Overview
16+------------------
17+
18+Name
19+ Config Drive
20+
21+Namespace
22+ http://docs.openstack.org/ext/config-drive/api/v1.1
23+
24+Alias
25+ ORG-EXT
26+
27+Contact
28+ Christopher MacGown <chris@pistoncloud.com>
29+ Name <email@mailingaddress.net>
30+
31+Status
32+ Alpha
33+
34+Extension Version
35+ v1.0 (2011-09-16)
36+
37+Dependencies
38+ Compute API 1.1
39+
40+Doc Link (PDF)
41+ http://
42+
43+Doc Link (WADL)
44+ http://
45+
46+Short Description
47+ This extension enables the assignment of config-drives to a compute guest on instance create running in an OpenStack cloud.
48+
49+Sample Query Responses
50+----------------------
51+
52+As shown below, responses to an EXTENSION query in XML or JSON provide basic information about the extension.
53+
54+Extension Query Response: XML::
55+
56+
57+Extension Query Response: JSON::
58+
59+
60+Document Change History
61+-----------------------
62+
63+============= =====================================
64+Revision Date Summary of Changes
65+2011-09-16 Initial draft
66+============= =====================================
67+
68+
69+Summary of Changes
70+==================
71+This extension to the OpenStack Compute API allows the addition of a configuration drive to an instance.
72+
73+To support these new actions, the extension also issues new (faults, headers, resources, states, you name it.)
74+
75+New Action
76+----------
77+None
78+
79+New Faults
80+----------
81+
82+None
83+
84+New Headers
85+-----------
86+None
87+
88+New Resources
89+-------------
90+This extension to the OpenStack Compute API adds the following resources:
91+
92+A config_drive attribute to the servers API that is None by default, but can optionally be True or the imageRef of a config-drive image.
93+
94+Upon instance create, a guest built with a True config_drive attribute will create a local volume and partition it as a fat32 drive, all passed in metadata, networks, and keys will be written to the config_drive which is associated as the last available disk on the instance.
95+Upon instance create, a guest built with an imageRef config_drive attribute will create a local volume from the image.
96+
97+New States
98+----------
99+
100+Changes to the Cloud Servers Specification
101+------------------------------------------
102+
103+In section 4.1.2 (Create Servers) of the API Specification: Examples 4.3 and 4.4 should optionally add the config-drive attribute as in the below examples:
104+
105+
106+Example XML with config_drive attribute = True:
107+
108+<?xml version="1.0" encoding="UTF-8"?>
109+<server xmlns="http://docs.openstack.org/compute/api/v1.1"
110+ imageRef="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
111+ flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
112+ name="new-server-test"
113+ config=drive="True"
114+ >
115+ <metadata>
116+ <meta key="My Server Name">Apache1</meta>
117+ </metadata>
118+ <personality>
119+ <file path="/etc/banner.txt">
120+ ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
121+ dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
122+ IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
123+ c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
124+ QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
125+ ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
126+ dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
127+ c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
128+ b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
129+ </file>
130+ </personality>
131+</server>
132+
133+
134+Example XML with config_drive attribute is an imageRef:
135+
136+<?xml version="1.0" encoding="UTF-8"?>
137+<server xmlns="http://docs.openstack.org/compute/api/v1.1"
138+ imageRef="http://servers.api.openstack.org/1234/images/
139+52415800-8b69-11e0-9b19-734f6f006e54"
140+ flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
141+ name="new-server-test"
142+ config_drive="http://servers.api.openstack.org/1234/images/52415800-8b69-1341-9b19-734f6f006e54"
143+ >
144+ <metadata>
145+ <meta key="My Server Name">Apache1</meta>
146+ </metadata>
147+ <personality>
148+ <file path="/etc/banner.txt">
149+ ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
150+ dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
151+ IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
152+ c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
153+ QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
154+ ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
155+ dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
156+ c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
157+ b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
158+ </file>
159+ </personality>
160+</server>
161+
162+
163+Example JSON with config_drive attribute is true:
164+{
165+ "server" : {
166+ "name" : "new-server-test",
167+ "imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
168+ "flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
169+ "config_drive" : "true",
170+ "metadata" : {
171+ "My Server Name" : "Apache1"
172+ },
173+ "personality" : [
174+ {
175+ "path" : "/etc/banner.txt",
176+ "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
177+ dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
178+ IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
179+ c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
180+ QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
181+ ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
182+ dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
183+ c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
184+ b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
185+ }
186+ ]
187+ }
188+}
189+
190+Example JSON with config_drive attribute is an imageRef:
191+{
192+ "server" : {
193+ "name" : "new-server-test",
194+ "imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
195+ "flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
196+ "config_drive" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
197+ "metadata" : {
198+ "My Server Name" : "Apache1"
199+ },
200+ "personality" : [
201+ {
202+ "path" : "/etc/banner.txt",
203+ "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
204+ dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
205+ IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
206+ c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
207+ QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
208+ ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
209+ dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
210+ c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
211+ b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
212+ }
213+ ]
214+ }
215+}

Subscribers

People subscribed via source and target branches