Fix rst formatting and cross-references

blueprint sphinx-doc-cleanup
bug 944385

- Fix formatting and markup issues that produce error messages
- Update TOC lists for missing/new files
- Fix a few links
- Update instructions with dependencies for building the documentation
- Updated base on review comments from oubiwann to fix trailing whitespace in modified files

Change-Id: I589152bfab9c543d2b11fa8bed2344259aa90675
This commit is contained in:
Doug Hellmann 2012-03-01 16:54:28 -05:00 committed by Lorin Hochstein
parent 8979743653
commit c16cd04cf6
31 changed files with 331 additions and 320 deletions

View File

@ -21,6 +21,7 @@
<Dave.Walker@canonical.com> <DaveWalker@ubuntu.com>
<derekh@redhat.com> <higginsd@gmail.com>
<devin.carlen@gmail.com> <devcamcar@illian.local>
<doug.hellmann@dreamhost.com> <doug.hellmann@gmail.com>
<dprince@redhat.com> <dan.prince@rackspace.com>
<edouard1.thuleau@orange.com> <thuleau@gmail.com>
<ewan.mellor@citrix.com> <emellor@silver>

View File

@ -2,7 +2,29 @@
Building the docs
=================
It is really easy. You'll need sphinx (the python one) and if you are using the virtualenv you'll need to install it in the virtualenv specifically so that it can load the nova modules.
Dependencies
============
Sphinx_
You'll need sphinx (the python one) and if you are
using the virtualenv you'll need to install it in the virtualenv
specifically so that it can load the nova modules.
::
pip install Sphinx
Graphviz_
Some of the diagrams are generated using the ``dot`` language
from Graphviz.
::
sudo apt-get install graphviz
.. _Sphinx: http://sphinx.pocoo.org
.. _Graphviz: http://www.graphviz.org/
Use `make`

View File

@ -15,7 +15,7 @@ do
# and make sure to emit that many '=' under
# it to avoid heading format errors
# in Sphinx.
let heading_len=$(echo "$heading" | wc -c)
heading_len=$(echo "$heading" | wc -c)
underline=$(head -c $heading_len < /dev/zero | tr '\0' '=')
( cat <<EOF
${heading}

View File

@ -37,7 +37,8 @@ Doc Link (WADL)
http://
Short Description
This extension enables the assignment of config-drives to a compute guest on instance create running in an OpenStack cloud.
This extension enables the assignment of config-drives to a
compute guest on instance create running in an OpenStack cloud.
Sample Query Responses
----------------------
@ -46,9 +47,16 @@ As shown below, responses to an EXTENSION query in XML or JSON provide basic inf
Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON::
TBD
.. todo:: Provide example of extension query JSON response.
Document Change History
-----------------------
@ -94,114 +102,122 @@ Changes to the Cloud Servers Specification
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:
Example XML with config_drive attribute = True::
Example XML with config_drive attribute = True:
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
imageRef="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
name="new-server-test"
config=drive="True"
>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<personality>
<file path="/etc/banner.txt">
ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
</file>
</personality>
</server>
::
Example XML with config_drive attribute is an imageRef::
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
imageRef="http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54"
flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
name="new-server-test"
config=drive="True"
>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<personality>
<file path="/etc/banner.txt">
ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
</file>
</personality>
</server>
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
imageRef="http://servers.api.openstack.org/1234/images/
52415800-8b69-11e0-9b19-734f6f006e54"
flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
name="new-server-test"
config_drive="http://servers.api.openstack.org/1234/images/52415800-8b69-1341-9b19-734f6f006e54"
>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<personality>
<file path="/etc/banner.txt">
ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
</file>
</personality>
</server>
Example XML with config_drive attribute is an imageRef:
::
<?xml version="1.0" encoding="UTF-8"?>
<server xmlns="http://docs.openstack.org/compute/api/v1.1"
imageRef="http://servers.api.openstack.org/1234/images/
52415800-8b69-11e0-9b19-734f6f006e54"
flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
name="new-server-test"
config_drive="http://servers.api.openstack.org/1234/images/52415800-8b69-1341-9b19-734f6f006e54"
>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<personality>
<file path="/etc/banner.txt">
ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==
</file>
</personality>
</server>
Example JSON with config_drive attribute is true::
Example JSON with config_drive attribute is true:
{
"server" : {
"name" : "new-server-test",
"imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"config_drive" : "true",
"metadata" : {
"My Server Name" : "Apache1"
},
"personality" : [
{
"path" : "/etc/banner.txt",
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
}
]
::
{
"server" : {
"name" : "new-server-test",
"imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"config_drive" : "true",
"metadata" : {
"My Server Name" : "Apache1"
},
"personality" : [
{
"path" : "/etc/banner.txt",
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
}
]
}
}
}
Example JSON with config_drive attribute is an imageRef::
Example JSON with config_drive attribute is an imageRef:
{
"server" : {
"name" : "new-server-test",
"imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"config_drive" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"metadata" : {
"My Server Name" : "Apache1"
},
"personality" : [
{
"path" : "/etc/banner.txt",
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
}
]
::
{
"server" : {
"name" : "new-server-test",
"imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"config_drive" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"metadata" : {
"My Server Name" : "Apache1"
},
"personality" : [
{
"path" : "/etc/banner.txt",
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
}
]
}
}
}

View File

@ -1,5 +1,6 @@
About The Floating IP DNS Extension
================================
===================================
The Floating IP DNS extension provides an interface for managing DNS records associated with IP addresses
allocated by the Floating Ips extension. Requests are dispatched to a DNS driver selected at startup.
@ -85,9 +86,10 @@ None
New Resources
-------------
Get a list of registered DNS Domains published by the DNS drivers:
GET /v1.1/<tenant_id>/os-floating-ip-dns/
Get a list of registered DNS Domains published by the DNS drivers::
GET /v1.1/<tenant_id>/os-floating-ip-dns/
# Sample Response:
{'domain_entries' : [
@ -97,9 +99,9 @@ Get a list of registered DNS Domains published by the DNS drivers:
{'domain': 'example.internal', 'scope': 'private', 'availability_zone': 'zone1'}]}
Create or modify a DNS domain:
Create or modify a DNS domain::
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
# Sample body, public domain:
{'domain_entry' :
@ -130,18 +132,18 @@ Create or modify a DNS domain:
Failure Response Code: 403 (Insufficient permissions.)
Delete a DNS domain and all associated host entries:
Delete a DNS domain and all associated host entries::
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>
Normal Response Code: 200
Failure Response Code: 404 (Domain to be deleted not found.)
Failure Response Code: 403 (Insufficient permissions to delete.)
Create or modify a DNS entry:
Create or modify a DNS entry::
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
PUT /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
# Sample body:
{ 'dns_entry' :
@ -154,9 +156,9 @@ Create or modify a DNS entry:
'name' : 'instance1' }}
Find unique DNS entry for a given domain and name:
Find unique DNS entry for a given domain and name::
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
# Sample Response:
{ 'dns_entry' :
@ -166,9 +168,9 @@ Find unique DNS entry for a given domain and name:
'name' : <name> }}
Find DNS entries for a given domain and ip:
Find DNS entries for a given domain and ip::
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries?ip=<ip>
GET /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries?ip=<ip>
# Sample Response:
{ 'dns_entries' : [
@ -182,9 +184,9 @@ Find DNS entries for a given domain and ip:
'name' : 'example2' }]}
Delete a DNS entry:
Delete a DNS entry::
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
DELETE /v1.1/<tenant_id>/os-floating-ip-dns/<domain>/entries/<name>
Normal Response Code: 200
Failure Response Code: 404 (Entry to be deleted not found)

View File

@ -44,6 +44,9 @@ As shown below, responses to an EXTENSION query in XML or JSON provide basic inf
Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON::
@ -91,4 +94,4 @@ None
Changes to the Cloud Servers Specification
------------------------------------------
This section lists the specific changes to the Compute API, namely adding a new section to the 4.3 Server Actions section.
This section lists the specific changes to the Compute API, namely adding a new section to the 4.3 Server Actions section.

View File

@ -47,6 +47,9 @@ As shown below, responses to an EXTENSION query in XML or JSON provide basic inf
Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON::
@ -92,4 +95,4 @@ List the specific changes to the API. For example:
In section 4.1.1 (List Servers) of the Cloud Servers Specification: Examples 4.1 and 4.2 should be replaced with Example 2.7 and Example 2.8 below.
Provide examples in XML and JSON
Provide examples in XML and JSON

View File

@ -1,5 +1,6 @@
About The Rescue Extension
==========================
The rescue extension lets you put a server into a "rescue" status when the virtual instance will be replaced with a "rescue" image and have its existing drive attached as a second disk so that a root user can log in and troubleshoot problems with the virtual server.
To put a server into "rescue" state, you do not have to be an administrator. The only requirement is that the base image used to build your instance must still be available.
@ -67,7 +68,7 @@ This extension to the OpenStack Compute API enables rescue of running instances.
To support these new actions, the extension also issues new states.
New Actions
----------
-----------
rescue
unrescue
@ -106,4 +107,4 @@ Error Response Code(s): computeFault (400, 500, …), serviceUnavailable (503),
Status Transition: ACTIVE -> RESCUING -> ACTIVE
This operation places the server into RESCUING status.
This operation places the server into RESCUING status.

View File

@ -46,18 +46,18 @@ As shown below, responses to an EXTENSION query in XML or JSON provide basic inf
Extension Query Response: XML::
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 3295
Date: Fri, 16 Sep 2011 21:06:55 GMT
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 3295
Date: Fri, 16 Sep 2011 21:06:55 GMT
<extensions xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<extension name="SecurityGroups" namespace="http://docs.openstack.org/ext/securitygroups/api/v1.1" alias="security_groups" updated="2011-07-21T00:00:00+00:00"><description>Security group support</description></extension>
</extensions>
<extensions xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<extension name="SecurityGroups" namespace="http://docs.openstack.org/ext/securitygroups/api/v1.1" alias="security_groups" updated="2011-07-21T00:00:00+00:00"><description>Security group support</description></extension>
</extensions>
Extension Query Response: JSON::
{"extensions": [{"updated": "2011-07-21T00:00:00+00:00", "name": "SecurityGroups", "links": [], "namespace": "http://docs.openstack.org/ext/securitygroups/api/v1.1", "alias": "security_groups", "description": "Security group support"}]}
{"extensions": [{"updated": "2011-07-21T00:00:00+00:00", "name": "SecurityGroups", "links": [], "namespace": "http://docs.openstack.org/ext/securitygroups/api/v1.1", "alias": "security_groups", "description": "Security group support"}]}
Document Change History
-----------------------
@ -110,4 +110,4 @@ List the specific changes to the API. For example:
In section 4.1.1 (List Servers) of the Cloud Servers Specification: Examples 4.1 and 4.2 should be replaced with Example 2.7 and Example 2.8 below.
Provide examples in XML and JSON
Provide examples in XML and JSON

View File

@ -69,7 +69,7 @@ Summary of Changes
This extension to the OpenStack Compute API enables listing of Virtual Interfaces of running instances.
New Actions
----------
-----------
virtual_interfaces
New Faults

View File

@ -48,10 +48,13 @@ As shown below, responses to an EXTENSION query in XML or JSON provide basic inf
Extension Query Response: XML::
TBD
.. todo:: Provide example of XML query and response for volumes extension.
Extension Query Response: JSON::
{"extensions": [{"updated": "2011-03-25T00:00:00+00:00", "name": "Volumes", "links": [], "namespace": "http://docs.openstack.org/ext/volumes/api/v1.1", "alias": "os-volumes", "description": "Volumes support"}]}
{"extensions": [{"updated": "2011-03-25T00:00:00+00:00", "name": "Volumes", "links": [], "namespace": "http://docs.openstack.org/ext/volumes/api/v1.1", "alias": "os-volumes", "description": "Volumes support"}]}
Document Change History
-----------------------
@ -97,4 +100,4 @@ List the specific changes to the API. For example:
In section 4.1.1 (List Servers) of the Cloud Servers Specification: Examples 4.1 and 4.2 should be replaced with Example 2.7 and Example 2.8 below.
Provide examples in XML and JSON
Provide examples in XML and JSON

View File

@ -1,10 +1,10 @@
About This Extension
====================
Describe the extension.
Describe the extension.
Who will use it and what project's API it is for?
Who will use it and what project's API it is for?
How can I find out more about it?
How can I find out more about it?
Are there any pre-requisites prior to using it such as special hardware or configuration?
@ -15,45 +15,46 @@ Extension Overview
Name
Name of Extension
Namespace
http://docs.openstack.org/<project>/api/ext/tla/v1.0
Alias
ORG-EXT
Contact
Name <email@mailingaddress.net>
Status
Alpha, Beta, or Released
Extension Version
v1.0 (year-mm-dd)
Dependencies
Name and Version of API
Doc Link (PDF)
http://
Doc Link (WADL)
http://
Short Description
This extension enables ...
Sample Query Responses
----------------------
As shown below, responses to an EXTENSION query in XML or JSON provide basic information about the extension.
As shown below, responses to an EXTENSION query in XML or JSON provide basic information about the extension.
Extension Query Response: XML::
N/A
N/A
Extension Query Response: JSON::
N/A
Document Change History
-----------------------
@ -72,7 +73,7 @@ To support these new actions, the extension also issues new (faults, headers, re
New Action
----------
List the actions each in a section. Enter "None" if there are no changes.
List the actions each in a section. Enter "None" if there are no changes.
Include the response codes, transitions if applicable, and XML and JSON examples.
@ -91,8 +92,8 @@ New States
Changes to the Cloud Servers Specification
------------------------------------------
List the specific changes to the API. For example:
List the specific changes to the API. For example:
In section 4.1.1 (List Servers) of the Cloud Servers Specification: Examples 4.1 and 4.2 should be replaced with Example 2.7 and Example 2.8 below.
In section 4.1.1 (List Servers) of the Cloud Servers Specification: Examples 4.1 and 4.2 should be replaced with Example 2.7 and Example 2.8 below.
Provide examples in XML and JSON
Provide examples in XML and JSON

View File

@ -1,92 +0,0 @@
Generating source/api/nova..adminclient.rst
Generating source/api/nova..api.cloud.rst
Generating source/api/nova..api.ec2.admin.rst
Generating source/api/nova..api.ec2.apirequest.rst
Generating source/api/nova..api.ec2.cloud.rst
Generating source/api/nova..api.ec2.images.rst
Generating source/api/nova..api.ec2.metadatarequesthandler.rst
Generating source/api/nova..api.openstack.auth.rst
Generating source/api/nova..api.openstack.backup_schedules.rst
Generating source/api/nova..api.openstack.faults.rst
Generating source/api/nova..api.openstack.flavors.rst
Generating source/api/nova..api.openstack.images.rst
Generating source/api/nova..api.openstack.servers.rst
Generating source/api/nova..api.openstack.sharedipgroups.rst
Generating source/api/nova..auth.dbdriver.rst
Generating source/api/nova..auth.fakeldap.rst
Generating source/api/nova..auth.ldapdriver.rst
Generating source/api/nova..auth.manager.rst
Generating source/api/nova..auth.signer.rst
Generating source/api/nova..cloudpipe.pipelib.rst
Generating source/api/nova..compute.disk.rst
Generating source/api/nova..compute.instance_types.rst
Generating source/api/nova..compute.manager.rst
Generating source/api/nova..compute.power_state.rst
Generating source/api/nova..context.rst
Generating source/api/nova..crypto.rst
Generating source/api/nova..db.api.rst
Generating source/api/nova..db.sqlalchemy.api.rst
Generating source/api/nova..db.sqlalchemy.models.rst
Generating source/api/nova..db.sqlalchemy.session.rst
Generating source/api/nova..exception.rst
Generating source/api/nova..fake.rabbit.rst
Generating source/api/nova..flags.rst
Generating source/api/nova..image.service.rst
Generating source/api/nova..manager.rst
Generating source/api/nova..network.linux_net.rst
Generating source/api/nova..network.manager.rst
Generating source/api/nova..objectstore.bucket.rst
Generating source/api/nova..objectstore.handler.rst
Generating source/api/nova..objectstore.image.rst
Generating source/api/nova..objectstore.stored.rst
Generating source/api/nova..process.rst
Generating source/api/nova..quota.rst
Generating source/api/nova..rpc.rst
Generating source/api/nova..scheduler.chance.rst
Generating source/api/nova..scheduler.driver.rst
Generating source/api/nova..scheduler.manager.rst
Generating source/api/nova..scheduler.simple.rst
Generating source/api/nova..server.rst
Generating source/api/nova..service.rst
Generating source/api/nova..test.rst
Generating source/api/nova..tests.access_unittest.rst
Generating source/api/nova..tests.api.fakes.rst
Generating source/api/nova..tests.api.openstack.fakes.rst
Generating source/api/nova..tests.api.openstack.test_api.rst
Generating source/api/nova..tests.api.openstack.test_auth.rst
Generating source/api/nova..tests.api.openstack.test_faults.rst
Generating source/api/nova..tests.api.openstack.test_flavors.rst
Generating source/api/nova..tests.api.openstack.test_images.rst
Generating source/api/nova..tests.api.openstack.test_servers.rst
Generating source/api/nova..tests.api.openstack.test_sharedipgroups.rst
Generating source/api/nova..tests.api.test_wsgi.rst
Generating source/api/nova..tests.api_integration.rst
Generating source/api/nova..tests.api_unittest.rst
Generating source/api/nova..tests.auth_unittest.rst
Generating source/api/nova..tests.cloud_unittest.rst
Generating source/api/nova..tests.compute_unittest.rst
Generating source/api/nova..tests.declare_flags.rst
Generating source/api/nova..tests.fake_flags.rst
Generating source/api/nova..tests.flags_unittest.rst
Generating source/api/nova..tests.network_unittest.rst
Generating source/api/nova..tests.objectstore_unittest.rst
Generating source/api/nova..tests.process_unittest.rst
Generating source/api/nova..tests.quota_unittest.rst
Generating source/api/nova..tests.real_flags.rst
Generating source/api/nova..tests.rpc_unittest.rst
Generating source/api/nova..tests.runtime_flags.rst
Generating source/api/nova..tests.scheduler_unittest.rst
Generating source/api/nova..tests.service_unittest.rst
Generating source/api/nova..tests.validator_unittest.rst
Generating source/api/nova..tests.virt_unittest.rst
Generating source/api/nova..tests.volume_unittest.rst
Generating source/api/nova..utils.rst
Generating source/api/nova..validate.rst
Generating source/api/nova..virt.connection.rst
Generating source/api/nova..virt.fake.rst
Generating source/api/nova..virt.images.rst
Generating source/api/nova..virt.libvirt_conn.rst
Generating source/api/nova..virt.xenapi.rst
Generating source/api/nova..volume.driver.rst
Generating source/api/nova..volume.manager.rst
Generating source/api/nova..wsgi.rst

View File

@ -34,7 +34,7 @@ Contributing Code
-----------------
To contribute code, sign up for a Launchpad account and sign a contributor license agreement,
available on the `OpenStack Wiki <http://wiki.openstack.org/CLA>`_. Once the CLA is signed you
available on the `OpenStack Wiki`_. Once the CLA is signed you
can contribute code through the Bazaar version control system which is related to your Launchpad
account. See the :doc:`devref/development.environment` page to get started.
@ -54,7 +54,9 @@ The wiki is a living source of knowledge. It is edited by the community, and
has collections of links and other sources of information. Typically the pages are a good place
to write drafts for specs or documentation, describe a blueprint, or collaborate with others.
* `OpenStack Wiki <http://wiki.openstack.org/>`_
* `OpenStack Wiki`_
.. _OpenStack Wiki: http://wiki.openstack.org/
Nova on Github

View File

@ -78,7 +78,12 @@ version = nova_version.canonical_version_string()
#today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build.
#unused_docs = []
unused_docs = [
'api_ext/rst_extension_template',
'man/novamanage',
'vmwareapi_readme',
'installer',
]
# List of directories, relative to source directory, that shouldn't be searched
# for source files.

View File

@ -1,5 +1,5 @@
..
Copyright 2010-2011 OpenStack LLC
Copyright 2010-2011 OpenStack LLC
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
@ -22,9 +22,9 @@ The interface is a mostly RESTful API. REST stands for Representational State Tr
Routing
-------
To map URLs to controllers+actions, OpenStack uses the Routes package, a clone of Rails routes for Python implementations. See http://routes.groovie.org/ fore more information.
To map URLs to controllers+actions, OpenStack uses the Routes package, a clone of Rails routes for Python implementations. See http://routes.groovie.org/ for more information.
URLs are mapped to "action" methods on "controller" classes in `nova/api/openstack/__init__/ApiRouter.__init__` .
URLs are mapped to "action" methods on "controller" classes in ``nova/api/openstack/__init__/ApiRouter.__init__`` .
See http://routes.groovie.org/manual.html for all syntax, but you'll probably just need these two:
- mapper.connect() lets you map a single URL to a single action on a controller.
@ -33,9 +33,9 @@ See http://routes.groovie.org/manual.html for all syntax, but you'll probably ju
Controllers and actions
-----------------------
Controllers live in `nova/api/openstack`, and inherit from nova.wsgi.Controller.
Controllers live in ``nova/api/openstack``, and inherit from nova.wsgi.Controller.
See `nova/api/openstack/servers.py` for an example.
See ``nova/api/openstack/servers.py`` for an example.
Action methods take parameters that are sucked out of the URL by mapper.connect() or .resource(). The first two parameters are self and the WebOb request, from which you can get the req.environ, req.body, req.headers, etc.
@ -44,7 +44,7 @@ Serialization
Actions return a dictionary, and wsgi.Controller serializes that to JSON or XML based on the request's content-type.
If you define a new controller, you'll need to define a _serialization_metadata attribute on the class, to tell wsgi.Controller how to convert your dictionary to XML. It needs to know the singular form of any list tag (e.g. <servers> list contains <server> tags) and which dictionary keys are to be XML attributes as opposed to subtags (e.g. <server id="4"/> instead of <server><id>4</id></server>).
If you define a new controller, you'll need to define a ``_serialization_metadata`` attribute on the class, to tell wsgi.Controller how to convert your dictionary to XML. It needs to know the singular form of any list tag (e.g. ``<servers>`` list contains ``<server>`` tags) and which dictionary keys are to be XML attributes as opposed to subtags (e.g. ``<server id="4"/>`` instead of ``<server><id>4</id></server>``).
See `nova/api/openstack/servers.py` for an example.

View File

@ -1,6 +1,6 @@
..
Copyright 2010-2011 United States Government as represented by the
Administrator of the National Aeronautics and Space Administration.
Administrator of the National Aeronautics and Space Administration.
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
@ -18,37 +18,45 @@
Setting Up a Development Environment
====================================
This page describes how to setup a working Python development environment that
can be used in developing nova on Ubuntu, Fedora or Mac OS X. These
instructions assume you're already familiar with git. Refer to
http://wiki.openstack.org/GettingTheCode for additional information.
This page describes how to setup a working Python development
environment that can be used in developing nova on Ubuntu, Fedora or
Mac OS X. These instructions assume you're already familiar with
git. Refer to GettingTheCode_ for additional information.
Following these instructions will allow you to run the nova unit tests. If you
want to be able to run nova (i.e., launch VM instances), you will also need to
install libvirt and at least one of the `supported
hypervisors`<http://wiki.openstack.org/HypervisorSupportMatrix>_. Running
nova is currently only supported on Linux, although you can run
the unit tests on Mac OS X. See :doc:`quickstart` for how to get a working
version of OpenStack Compute running as quickly as possible.
.. _GettingTheCode: http://wiki.openstack.org/GettingTheCode
Following these instructions will allow you to run the nova unit
tests. If you want to be able to run nova (i.e., launch VM instances),
you will also need to install libvirt and at least one of the
`supported hypervisors`_. Running nova is currently only supported on
Linux, although you can run the unit tests on Mac OS X. See
:doc:`../quickstart` for how to get a working version of OpenStack
Compute running as quickly as possible.
.. _supported hypervisors: http://wiki.openstack.org/HypervisorSupportMatrix
Virtual environments
--------------------
Nova development uses `virtualenv <http://pypi.python.org/pypi/virtualenv>`_
to track and manage Python dependencies while in development and testing. This
allows you to install all of the Python package dependencies in a virtual
environment or `virtualenv` (a special subdirectory of your nova directory),
instead of installing the packages at the system level.
Nova development uses `virtualenv <http://pypi.python.org/pypi/virtualenv>`__ to track and manage Python
dependencies while in development and testing. This allows you to
install all of the Python package dependencies in a virtual
environment or "virtualenv" (a special subdirectory of your nova
directory), instead of installing the packages at the system level.
Virtualenv is useful for running the unit tests, but is not typically used
for full integration testing or production usage.
.. note::
Virtualenv is useful for running the unit tests, but is not
typically used for full integration testing or production usage.
Linux Systems
-------------
Note: This section is tested for Nova on Ubuntu (10.10-64) and
Fedora-based (RHEL 6.1) distributions. Feel free to add notes and change
according to your experiences or operating system.
.. note::
This section is tested for Nova on Ubuntu (10.10-64) and
Fedora-based (RHEL 6.1) distributions. Feel free to add notes and
change according to your experiences or operating system.
Install the prerequisite packages.
@ -135,8 +143,10 @@ Contributing Your Work
----------------------
Once your work is complete you may wish to contribute it to the project. Add
your name and email address to the `Authors` file, and also to the `.mailmap`
your name and email address to the ``Authors`` file, and also to the ``.mailmap``
file if you use multiple email addresses. Your contributions can not be merged
into trunk unless you are listed in the Authors file. Nova uses the Gerrit
code review system. For information on how to submit your branch to Gerrit,
see http://wiki.openstack.org/GerritWorkflow
see GerritWorkflow_.
.. _GerritWorkflow: http://wiki.openstack.org/GerritWorkflow

View File

@ -45,7 +45,7 @@ The :mod:`nova.auth.fakeldap` Module
The :mod:`nova.testing.fake.rabbit` Module
---------------------------------
------------------------------------------
.. automodule:: nova.testing.fake.rabbit
:noindex:

View File

@ -36,11 +36,11 @@ Background Concepts for Nova
.. toctree::
:maxdepth: 3
architecture
threading
il8n
distributed_scheduler
multinic
zone
rabbit
Other Resources

View File

@ -1,19 +0,0 @@
Module Reference
================
.. toctree::
:maxdepth: 1
services
database
volume
compute
network
auth
api
scheduler
fakes
nova
cloudpipe
objectstore
glance

View File

@ -48,12 +48,13 @@ Key Concepts
cloud101
nova.concepts
swift.concepts
service.architecture
nova.object.model
swift.object.model
object.model
runnova/index
.. swift.concepts
.. swift.object.model
Developer Docs
==============

View File

@ -35,9 +35,11 @@ focuses on describing how Nova's implementation of those concepts is achieved.
This page outlines concepts that you will need to understand as a user or
administrator of an OpenStack installation. Each section links to more more
detailed information in the :doc:`adminguide/index`,
detailed information in the `OpenStack Compute Administration Guide`_
but you'll probably want to read this section straight-through before tackling
the specifics presented in the administration guide.
the specifics presented there.
.. _OpenStack Compute Administration Guide: http://docs.openstack.org/diablo/openstack-compute/admin/content/
Concept: Users and Projects
@ -163,7 +165,8 @@ The nova-manage command is used to perform many essential functions for
administration and ongoing maintenance of Nova, such as user creation,
vpn management, and much more.
See :doc:`nova.manage` in the Administration Guide for more details.
See :doc:`runnova/nova.manage` in the Administration Guide for more
details.
Concept: Flags
--------------

View File

@ -74,4 +74,4 @@ VLAN is the default network mode for Nova. Read more at :doc:`/runnova/network.v
IP Addresses
------------
Nova enables floating IP management.
Nova enables floating IP management.

View File

@ -18,8 +18,19 @@
Flags and Flagfiles
===================
Nova uses a configuration file containing flags located in /etc/nova/nova.conf. You can get the most recent listing of avaialble flags by running nova-(servicename) --help, for example, nova-api --help.
Nova uses a configuration file containing flags located in
``/etc/nova/nova.conf``. You can get the most recent listing of avaialble
flags by running ``nova-(servicename) --help``, for example:
A script for generating a sample nova.conf file is located in *<nova_root>/tools/conf/run.sh*. This script traverses through the source code and retrieves information of every option that is defined. A file named *nova.conf.sample* will be placed in the same directory.
::
The OpenStack wiki has a page with the flags listed by their purpose and use at http://wiki.openstack.org/FlagsGrouping.
nova-api --help
A script for generating a sample ``nova.conf`` file is located in
``<nova_root>/tools/conf/run.sh``. This script traverses through the
source code and retrieves information of every option that is
defined. A file named ``nova.conf.sample`` will be placed in the same
directory.
The OpenStack wiki has a page with the flags listed by their purpose
and use at http://wiki.openstack.org/FlagsGrouping.

View File

@ -53,9 +53,12 @@ For background on the core objects referenced in this section, see :doc:`../obje
managing.users
managing.projects
managing.instances
managing.instance.types
managing.images
managing.volumes
managing.networks
managingsecurity
.. managing.volumes
Deployment
----------
@ -66,7 +69,9 @@ For a starting multi-node architecture, you would start with two nodes - a cloud
.. toctree::
:maxdepth: 1
dbsync
binaries
.. dbsync
Networking

View File

@ -1,7 +1,7 @@
..
Copyright 2010-2011 United States Government as represented by the
Administrator of the National Aeronautics and Space Administration.
Overview Sections Copyright 2010-2011 Citrix
Overview Sections Copyright 2010-2011 Citrix
All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
@ -23,7 +23,7 @@ In Nova, users organize their cloud resources in projects. A Nova project consis
Nova Network Strategies
-----------------------
Currently, Nova supports three kinds of networks, implemented in three "Network Manager" types respectively: Flat Network Manager, Flat DHCP Network Manager, and VLAN Network Manager. The three kinds of networks can co-exist in a cloud system. However, the scheduler for selecting the type of network for a given project is not yet implemented. Here is a brief description of each of the different network strategies, with a focus on the VLAN Manager in a separate section.
Currently, Nova supports three kinds of networks, implemented in three "Network Manager" types respectively: Flat Network Manager, Flat DHCP Network Manager, and VLAN Network Manager. The three kinds of networks can co-exist in a cloud system. However, the scheduler for selecting the type of network for a given project is not yet implemented. Here is a brief description of each of the different network strategies, with a focus on the VLAN Manager in a separate section.
Read more about Nova network strategies here:
@ -37,6 +37,11 @@ Read more about Nova network strategies here:
Network Management Commands
---------------------------
.. todo::
Reformat command line app instructions for ``nova-manage`` using
``:command:``, ``:option:``, and ``.. program::``. (bug-947261)
Admins and Network Administrators can use the 'nova-manage' command to manage network resources:
VPN Management

View File

@ -25,15 +25,22 @@ Although the original ec2 api only supports users, nova adds the concept of proj
The api will return NotAuthorized if a normal user attempts to make requests for a project that he or she is not a member of. Note that admins or users with special admin roles skip this check and can make requests for any project.
To create a project, use the `project create` command of nova-manage. The syntax is nova-manage project create projectname manager_id [description] You must specify a projectname and a manager_id. For example::
nova-manage project create john_project john "This is a sample project"
You can add and remove users from projects with `project add` and `project remove`::
nova-manage project add john_project john
nova-manage project remove john_project john
Project Commands
----------------
.. todo::
Reformat command line app instructions for ``nova-manage`` using
``:command:``, ``:option:``, and ``.. program::``. (bug-947261)
Admins and Project Managers can use the 'nova-manage project' command to manage project resources:
* project add: Adds user to project
@ -63,6 +70,8 @@ Nova utilizes a quota system at the project level to control resource consumptio
* Number of processor cores which may be allocated
* Publicly accessible IP addresses
Use the following command to set quotas for a project
Use the following command to set quotas for a project
* project quota: Set or display quotas for project
* arguments: project_id [key] [value]

View File

@ -48,7 +48,7 @@ RBAC management is exposed through the dashboard for simplified user management.
User Commands
~~~~~~~~~~~~
~~~~~~~~~~~~~
Users, including admins, are created through the ``user`` commands.

View File

@ -226,7 +226,7 @@ Concept: Plugins
Concept: IPC/RPC
----------------
Rabbit is the main messaging queue, used for all communication between Nova components and it also does the remote procedure calls and inter-process communication.
Rabbit is the main messaging queue, used for all communication between Nova components and it also does the remote procedure calls and inter-process communication.
Concept: Fakes
@ -252,7 +252,7 @@ Security groups
Concept: Certificate Authority
------------------------------
Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns <../cloudpipe>` and decrypting bundled images.
Nova does a small amount of certificate management. These certificates are used for :ref:`project vpns <cloudpipe>` and decrypting bundled images.
Concept: Images

View File

@ -33,6 +33,7 @@ In general, a VNC console Connection works like so:
the session ends
Note that in general, the vnc proxy performs multiple functions:
* Bridges between public network (where clients live) and private network
(where vncservers live)
* Mediates token authentication
@ -52,6 +53,8 @@ Getting an Access Url
Nova provides the ability to create access_urls through the os-consoles extension.
Support for accessing this url is provided by novaclient:
::
nova get-vnc-console [server_id] [xvpvnc|novnc]
@ -67,14 +70,18 @@ nova-xvpvncproxy service, which you should run to enable this feature.
* :option:`--xvpvncproxy_host=[host]` - host to bind (defaults to 0.0.0.0)
As a client, you will need a special Java client, which is
a version of TightVNC slightly modified to support our token auth::
a version of TightVNC slightly modified to support our token auth:
::
git clone https://github.com/cloudbuilders/nova-xvpvncviewer
cd nova-xvpvncviewer
make
Then, to create a session, first request an access url using python-novaclient
and then run the client like so::
and then run the client like so:
::
# Retrieve access url
nova get-vnc-console [server_id] xvpvnc
@ -90,6 +97,9 @@ http://github.com/cloudbuilders/noVNC.git (in a branch called vnc_redux while
this patch is in review).
To use this nova-novncproxy:
::
git clone http://github.com/cloudbuilders/noVNC.git
git checkout vnc_redux
utils/nova-novncproxy --flagfile=[path to flagfile]
@ -111,6 +121,8 @@ Accessing a vnc console through a web browser
Retrieving an access_url for a web browser is similar to the flow for
the java client:
::
# Retrieve access url
nova get-vnc-console [server_id] novnc
# Then, paste the url into your web browser
@ -135,3 +147,9 @@ Important Options
management ip on the same network as the proxies.
For multi-host libvirt deployments this can be set to a host
management ip on the same network as the proxies.
.. todo::
Reformat command line app instructions for commands using
``:command:``, ``:option:``, and ``.. program::``. (bug-947261)

View File

@ -105,10 +105,11 @@ Note:- Due to a faulty wsdl being shipped with ESX vSphere 4.1 we need a working
Debug flag
----------
::
suds logging is very verbose and turned off by default. If you need to
debug the VMware API calls, change the default_log_levels flag appropriately.
.. note::
suds logging is very verbose and turned off by default. If you need to
debug the VMware API calls, change the default_log_levels flag appropriately.
VLAN Network Manager