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

View File

@@ -2,7 +2,29 @@
Building the docs 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` Use `make`

View File

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

View File

@@ -37,7 +37,8 @@ Doc Link (WADL)
http:// http://
Short Description 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 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:: Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON:: Extension Query Response: JSON::
TBD
.. todo:: Provide example of extension query JSON response.
Document Change History 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: 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"?> Example XML with config_drive attribute is an imageRef:
<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" <?xml version="1.0" encoding="UTF-8"?>
name="new-server-test" <server xmlns="http://docs.openstack.org/compute/api/v1.1"
config_drive="http://servers.api.openstack.org/1234/images/52415800-8b69-1341-9b19-734f6f006e54" imageRef="http://servers.api.openstack.org/1234/images/
> 52415800-8b69-11e0-9b19-734f6f006e54"
<metadata> flavorRef="52415800-8b69-11e0-9b19-734f1195ff37"
<meta key="My Server Name">Apache1</meta> name="new-server-test"
</metadata> config_drive="http://servers.api.openstack.org/1234/images/52415800-8b69-1341-9b19-734f6f006e54"
<personality> >
<file path="/etc/banner.txt"> <metadata>
ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp <meta key="My Server Name">Apache1</meta>
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k </metadata>
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs <personality>
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g <file path="/etc/banner.txt">
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
b25zLiINCg0KLVJpY2hhcmQgQmFjaA== QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
</file> ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
</personality> dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
</server> 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", "server" : {
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37", "name" : "new-server-test",
"config_drive" : "true", "imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"metadata" : { "flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"My Server Name" : "Apache1" "config_drive" : "true",
}, "metadata" : {
"personality" : [ "My Server Name" : "Apache1"
{ },
"path" : "/etc/banner.txt", "personality" : [
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp {
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k "path" : "/etc/banner.txt",
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" 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", "server" : {
"flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37", "name" : "new-server-test",
"config_drive" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54", "imageRef" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
"metadata" : { "flavorRef" : "52415800-8b69-11e0-9b19-734f1195ff37",
"My Server Name" : "Apache1" "config_drive" : "http://servers.api.openstack.org/1234/images/52415800-8b69-11e0-9b19-734f6f006e54",
}, "metadata" : {
"personality" : [ "My Server Name" : "Apache1"
{ },
"path" : "/etc/banner.txt", "personality" : [
"contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp {
dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k "path" : "/etc/banner.txt",
IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs "contents" : "ICAgICAgDQoiQSBjbG91ZCBkb2VzIG5vdCBrbm93IHdoeSBp
c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g dCBtb3ZlcyBpbiBqdXN0IHN1Y2ggYSBkaXJlY3Rpb24gYW5k
QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo IGF0IHN1Y2ggYSBzcGVlZC4uLkl0IGZlZWxzIGFuIGltcHVs
ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv c2lvbi4uLnRoaXMgaXMgdGhlIHBsYWNlIHRvIGdvIG5vdy4g
dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy QnV0IHRoZSBza3kga25vd3MgdGhlIHJlYXNvbnMgYW5kIHRo
c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6 ZSBwYXR0ZXJucyBiZWhpbmQgYWxsIGNsb3VkcywgYW5kIHlv
b25zLiINCg0KLVJpY2hhcmQgQmFjaA==" dSB3aWxsIGtub3csIHRvbywgd2hlbiB5b3UgbGlmdCB5b3Vy
} c2VsZiBoaWdoIGVub3VnaCB0byBzZWUgYmV5b25kIGhvcml6
] b25zLiINCg0KLVJpY2hhcmQgQmFjaA=="
}
]
}
} }
}

View File

@@ -1,5 +1,6 @@
About The Floating IP DNS Extension About The Floating IP DNS Extension
================================ ===================================
The Floating IP DNS extension provides an interface for managing DNS records associated with IP addresses 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. allocated by the Floating Ips extension. Requests are dispatched to a DNS driver selected at startup.
@@ -85,9 +86,10 @@ None
New Resources 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: # Sample Response:
{'domain_entries' : [ {'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'}]} {'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: # Sample body, public domain:
{'domain_entry' : {'domain_entry' :
@@ -130,18 +132,18 @@ Create or modify a DNS domain:
Failure Response Code: 403 (Insufficient permissions.) 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 Normal Response Code: 200
Failure Response Code: 404 (Domain to be deleted not found.) Failure Response Code: 404 (Domain to be deleted not found.)
Failure Response Code: 403 (Insufficient permissions to delete.) 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: # Sample body:
{ 'dns_entry' : { 'dns_entry' :
@@ -154,9 +156,9 @@ Create or modify a DNS entry:
'name' : 'instance1' }} '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: # Sample Response:
{ 'dns_entry' : { 'dns_entry' :
@@ -166,9 +168,9 @@ Find unique DNS entry for a given domain and name:
'name' : <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: # Sample Response:
{ 'dns_entries' : [ { 'dns_entries' : [
@@ -182,9 +184,9 @@ Find DNS entries for a given domain and ip:
'name' : 'example2' }]} '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 Normal Response Code: 200
Failure Response Code: 404 (Entry to be deleted not found) 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:: Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON:: Extension Query Response: JSON::
@@ -91,4 +94,4 @@ None
Changes to the Cloud Servers Specification 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:: Extension Query Response: XML::
TBD
.. todo:: Provide example of extension query XML response.
Extension Query Response: JSON:: 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. 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 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. 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. 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. To support these new actions, the extension also issues new states.
New Actions New Actions
---------- -----------
rescue rescue
unrescue unrescue
@@ -106,4 +107,4 @@ Error Response Code(s): computeFault (400, 500, …), serviceUnavailable (503),
Status Transition: ACTIVE -> RESCUING -> ACTIVE 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:: Extension Query Response: XML::
HTTP/1.1 200 OK HTTP/1.1 200 OK
Content-Type: application/xml Content-Type: application/xml
Content-Length: 3295 Content-Length: 3295
Date: Fri, 16 Sep 2011 21:06:55 GMT 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"> <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> <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>
Extension Query Response: JSON:: 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 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. 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. This extension to the OpenStack Compute API enables listing of Virtual Interfaces of running instances.
New Actions New Actions
---------- -----------
virtual_interfaces virtual_interfaces
New Faults 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:: Extension Query Response: XML::
TBD
.. todo:: Provide example of XML query and response for volumes extension.
Extension Query Response: JSON:: 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 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. 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 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? Are there any pre-requisites prior to using it such as special hardware or configuration?
@@ -15,45 +15,46 @@ Extension Overview
Name Name
Name of Extension Name of Extension
Namespace Namespace
http://docs.openstack.org/<project>/api/ext/tla/v1.0 http://docs.openstack.org/<project>/api/ext/tla/v1.0
Alias Alias
ORG-EXT ORG-EXT
Contact Contact
Name <email@mailingaddress.net> Name <email@mailingaddress.net>
Status Status
Alpha, Beta, or Released Alpha, Beta, or Released
Extension Version Extension Version
v1.0 (year-mm-dd) v1.0 (year-mm-dd)
Dependencies Dependencies
Name and Version of API Name and Version of API
Doc Link (PDF) Doc Link (PDF)
http:// http://
Doc Link (WADL) Doc Link (WADL)
http:// http://
Short Description Short Description
This extension enables ... This extension enables ...
Sample Query Responses 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:: Extension Query Response: XML::
N/A N/A
Extension Query Response: JSON:: Extension Query Response: JSON::
N/A
Document Change History Document Change History
----------------------- -----------------------
@@ -72,7 +73,7 @@ To support these new actions, the extension also issues new (faults, headers, re
New Action 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. Include the response codes, transitions if applicable, and XML and JSON examples.
@@ -91,8 +92,8 @@ New States
Changes to the Cloud Servers Specification 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, 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 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. 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 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. 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 Nova on Github

View File

@@ -78,7 +78,12 @@ version = nova_version.canonical_version_string()
#today_fmt = '%B %d, %Y' #today_fmt = '%B %d, %Y'
# List of documents that shouldn't be included in the build. # 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 # List of directories, relative to source directory, that shouldn't be searched
# for source files. # for source files.

View File

@@ -1,5 +1,5 @@
.. ..
Copyright 2010-2011 OpenStack LLC Copyright 2010-2011 OpenStack LLC
All Rights Reserved. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may 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 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: 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. - 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 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. 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. 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. 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 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. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -18,37 +18,45 @@
Setting Up a Development Environment Setting Up a Development Environment
==================================== ====================================
This page describes how to setup a working Python development environment that This page describes how to setup a working Python development
can be used in developing nova on Ubuntu, Fedora or Mac OS X. These environment that can be used in developing nova on Ubuntu, Fedora or
instructions assume you're already familiar with git. Refer to Mac OS X. These instructions assume you're already familiar with
http://wiki.openstack.org/GettingTheCode for additional information. git. Refer to GettingTheCode_ for additional information.
Following these instructions will allow you to run the nova unit tests. If you .. _GettingTheCode: http://wiki.openstack.org/GettingTheCode
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 Following these instructions will allow you to run the nova unit
hypervisors`<http://wiki.openstack.org/HypervisorSupportMatrix>_. Running tests. If you want to be able to run nova (i.e., launch VM instances),
nova is currently only supported on Linux, although you can run you will also need to install libvirt and at least one of the
the unit tests on Mac OS X. See :doc:`quickstart` for how to get a working `supported hypervisors`_. Running nova is currently only supported on
version of OpenStack Compute running as quickly as possible. 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 Virtual environments
-------------------- --------------------
Nova development uses `virtualenv <http://pypi.python.org/pypi/virtualenv>`_ Nova development uses `virtualenv <http://pypi.python.org/pypi/virtualenv>`__ to track and manage Python
to track and manage Python dependencies while in development and testing. This dependencies while in development and testing. This allows you to
allows you to install all of the Python package dependencies in a virtual install all of the Python package dependencies in a virtual
environment or `virtualenv` (a special subdirectory of your nova directory), environment or "virtualenv" (a special subdirectory of your nova
instead of installing the packages at the system level. directory), instead of installing the packages at the system level.
Virtualenv is useful for running the unit tests, but is not typically used .. note::
for full integration testing or production usage.
Virtualenv is useful for running the unit tests, but is not
typically used for full integration testing or production usage.
Linux Systems Linux Systems
------------- -------------
Note: This section is tested for Nova on Ubuntu (10.10-64) and .. note::
Fedora-based (RHEL 6.1) distributions. Feel free to add notes and change
according to your experiences or operating system. 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. 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 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 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 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, 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 The :mod:`nova.testing.fake.rabbit` Module
--------------------------------- ------------------------------------------
.. automodule:: nova.testing.fake.rabbit .. automodule:: nova.testing.fake.rabbit
:noindex: :noindex:

View File

@@ -36,11 +36,11 @@ Background Concepts for Nova
.. toctree:: .. toctree::
:maxdepth: 3 :maxdepth: 3
architecture
threading threading
il8n il8n
distributed_scheduler distributed_scheduler
multinic multinic
zone
rabbit rabbit
Other Resources 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 cloud101
nova.concepts nova.concepts
swift.concepts
service.architecture service.architecture
nova.object.model object.model
swift.object.model
runnova/index runnova/index
.. swift.concepts
.. swift.object.model
Developer Docs 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 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 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 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 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, administration and ongoing maintenance of Nova, such as user creation,
vpn management, and much more. 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 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 IP Addresses
------------ ------------
Nova enables floating IP management. Nova enables floating IP management.

View File

@@ -18,8 +18,19 @@
Flags and Flagfiles 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.users
managing.projects managing.projects
managing.instances managing.instances
managing.instance.types
managing.images managing.images
managing.volumes
managing.networks managing.networks
managingsecurity
.. managing.volumes
Deployment Deployment
---------- ----------
@@ -66,7 +69,9 @@ For a starting multi-node architecture, you would start with two nodes - a cloud
.. toctree:: .. toctree::
:maxdepth: 1 :maxdepth: 1
dbsync binaries
.. dbsync
Networking Networking

View File

@@ -1,7 +1,7 @@
.. ..
Copyright 2010-2011 United States Government as represented by the 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.
Overview Sections Copyright 2010-2011 Citrix Overview Sections Copyright 2010-2011 Citrix
All Rights Reserved. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may 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 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: Read more about Nova network strategies here:
@@ -37,6 +37,11 @@ Read more about Nova network strategies here:
Network Management Commands 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: Admins and Network Administrators can use the 'nova-manage' command to manage network resources:
VPN Management 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. 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:: 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" 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`:: You can add and remove users from projects with `project add` and `project remove`::
nova-manage project add john_project john nova-manage project add john_project john
nova-manage project remove john_project john nova-manage project remove john_project john
Project Commands 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: Admins and Project Managers can use the 'nova-manage project' command to manage project resources:
* project add: Adds user to project * 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 * Number of processor cores which may be allocated
* Publicly accessible IP addresses * 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 * project quota: Set or display quotas for project
* arguments: project_id [key] [value] * arguments: project_id [key] [value]

View File

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

View File

@@ -226,7 +226,7 @@ Concept: Plugins
Concept: IPC/RPC 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 Concept: Fakes
@@ -252,7 +252,7 @@ Security groups
Concept: Certificate Authority 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 Concept: Images

View File

@@ -33,6 +33,7 @@ In general, a VNC console Connection works like so:
the session ends the session ends
Note that in general, the vnc proxy performs multiple functions: Note that in general, the vnc proxy performs multiple functions:
* Bridges between public network (where clients live) and private network * Bridges between public network (where clients live) and private network
(where vncservers live) (where vncservers live)
* Mediates token authentication * Mediates token authentication
@@ -52,6 +53,8 @@ Getting an Access Url
Nova provides the ability to create access_urls through the os-consoles extension. Nova provides the ability to create access_urls through the os-consoles extension.
Support for accessing this url is provided by novaclient: Support for accessing this url is provided by novaclient:
::
nova get-vnc-console [server_id] [xvpvnc|novnc] 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) * :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 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 git clone https://github.com/cloudbuilders/nova-xvpvncviewer
cd nova-xvpvncviewer cd nova-xvpvncviewer
make make
Then, to create a session, first request an access url using python-novaclient 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 # Retrieve access url
nova get-vnc-console [server_id] xvpvnc 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). this patch is in review).
To use this nova-novncproxy: To use this nova-novncproxy:
::
git clone http://github.com/cloudbuilders/noVNC.git git clone http://github.com/cloudbuilders/noVNC.git
git checkout vnc_redux git checkout vnc_redux
utils/nova-novncproxy --flagfile=[path to flagfile] 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 Retrieving an access_url for a web browser is similar to the flow for
the java client: the java client:
::
# Retrieve access url # Retrieve access url
nova get-vnc-console [server_id] novnc nova get-vnc-console [server_id] novnc
# Then, paste the url into your web browser # Then, paste the url into your web browser
@@ -135,3 +147,9 @@ Important Options
management ip on the same network as the proxies. management ip on the same network as the proxies.
For multi-host libvirt deployments this can be set to a host For multi-host libvirt deployments this can be set to a host
management ip on the same network as the proxies. 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 Debug flag
---------- ----------
::
suds logging is very verbose and turned off by default. If you need to .. note::
debug the VMware API calls, change the default_log_levels flag appropriately.
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 VLAN Network Manager