diff --git a/api-quick-start/pom.xml b/api-quick-start/pom.xml index da18b4347..c94d6f9d5 100644 --- a/api-quick-start/pom.xml +++ b/api-quick-start/pom.xml @@ -21,18 +21,6 @@ clouddocs-maven-plugin 1.11.1 - goal2 @@ -45,19 +33,6 @@ os-apiquickstart 1 UA-17511903-1 - false 0 @@ -68,21 +43,16 @@ - <html xmlns="http://www.w3.org/1999/xhtml"> - <body> - <div id="content"> - <p>foo bar baz</p> - </div> - </body> - </html> - + file="${project.build.directory}/docbkx/webhelp/api-quick-start-onepager/content/deleteme.html" + > <html xmlns="http://www.w3.org/1999/xhtml"> + <body> <div id="content"> <p>foo bar + baz</p> </div> </body> </html> + file="${project.build.directory}/docbkx/webhelp/api-quick-start-onepager/content/deleteme.html" + /> - @@ -90,9 +60,7 @@ true src/docbkx - - api-quick-start-onepager.xml - + api-quick-start-onepager.xml reviewer openstack diff --git a/api-quick-start/src/docbkx/api-quick-start-intro.xml b/api-quick-start/src/docbkx/api-quick-start-intro.xml index 3de16cc5f..6cee73e77 100644 --- a/api-quick-start/src/docbkx/api-quick-start-intro.xml +++ b/api-quick-start/src/docbkx/api-quick-start-intro.xml @@ -3,256 +3,158 @@ xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="Compute_API_Quick_Start" version="5.0"> - OpenStack API Quick Start - The OpenStack system has several key projects that are - separate installations but can work together depending on your - cloud needs: OpenStack Compute, OpenStack Object Storage, - OpenStack Identity Service, and OpenStack Image Store. With - the TryStack OpenStack installation, the OpenStack Compute, - OpenStack Identity, and OpenStack Image Store projects are all - working together in the background of the installation. -
+ OpenStack APIs + To authenticate access to OpenStack services, you issue an + authentication request to the OpenStack Identity Service. You + must supply a payload of credentials in the authentication + request. + Credentials are usually a combination of your user name and + password, and optionally, the name or ID of the tenant in + which your cloud runs. Ask your cloud administrator for your + user name, password, and tenant so that you can generate + authentication tokens. Alternatively, you can supply a token + rather than a user name and password. + A token is typically valid for 24 hours. When you send API + requests, you include the token in the + X-Auth-Token header. You must generate + another token if you interact with your cloud through API + endpoints rather than through a client. - OpenStack API Introduction - This page covers the basics for talking to your - OpenStack cloud through the Compute API after authorizing - with the Identity Service API. You can then build a cloud - by launching images and assigning metadata to instances, - all through the API. For an API reference of all the - possible commands, see the OpenStack Compute API v2 specification and - the Identity Service 2.0 specification published - at docs.openstack.org/api. + + Authentication and API request workflow + + Request an authentication token from the Identity + Service endpoint that your cloud administrator gave + you. Send a payload of credentials in the + request: + + + + + + + Parameter + Type + Description + + + + + username (Optional) + xsd:string + The user name. If you do not provide a + user name and password, you must provide a + token. + + + password (Optional) + xsd:string + The password for the user. + + + tenantName (Optional) + xsd:string + The tenant name. Both the + tenantId and + tenantName are + optional, but should not be specified + together. If both attributes are + specified, the server responds with a + 400 + Bad Request. + + + tenantId (Optional) + capi:UUID + The tenant ID. Both the + tenantId and + tenantName are + optional, but should not be specified + together. If both attributes are + specified, the server responds with a + 400 + Bad Request. + + + token (Optional) + capi:UUID + A token. If you do not provide a token, + you must provide a user name and + password. + + + + If the request succeeds, the server returns an + authentication token. + + + Send API requests and include the token in the + X-Auth-Token header. Continue + to send API requests with that token until the job + completes or a 401 + Unauthorized error occurs. + + + If the 401 + Unauthorized error occurs, + request another token. + + + The examples in this section use cURL commands. For + information about cURL, see http://curl.haxx.se/. For information about the + OpenStack APIs, see OpenStack API Reference. + +
+ Authenticate + For a typical OpenStack deployment that runs the + Identity Service, use a cURL command like the following + command to request a token: + $ curl -i 'http://127.0.0.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "devstack"}}}' + If the request succeeds, you receive a 200 + OK response followed by a response body + that contains a token in the form + "id":"token" + and an expiration date and time in the form + "expires":"datetime". + The following example shows a successful + response: + HTTP/1.1 200 OK +Vary: X-Auth-Token +Content-Type: application/json +Content-Length: 5858 +Date: Wed, 06 Nov 2013 20:06:24 GMT + + + If you do not know your tenant name or ID, you can + send an authentication request with an empty tenant, + as follows: + $ curl -i 'http://127.0.0.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "", "passwordCredentials": {"username": "admin", "password": "devstack"}}}' +
-
- Getting Credentials - Credentials are a combination of your user name, - password, and what tenant (or project) your cloud is - running under. You only need to generate an additional - token if you are interacting with your cloud directly with - API endpoints, and not with a client. Your cloud - administrator can give you a user name and a password as - well as your tenant identifier so you can generate - authorization tokens. You can also get the tenant ID from - the Dashboard URLs, for example - https://trystack.org/dash/296/images/ indicates a tenant - ID of 296. - These tokens are typically good for 24 hours, and when - the token expires, you will find out with a 401 - (Unauthorized) error and can request another token - programmatically. The general work flow goes something - like this: - - - Begin API requests by asking for an - authorization token from the endpoint your cloud - administrator gave you, typically - http://hostname:port/v2.0/tokens. You send your - user name, password, and what group or account you - are with (the "tenant" in auth-speak). - curl -k -X 'POST' -v https://arm.trystack.org:5443/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "joecool", "password":"coolword"}, "tenantId":"5"}}' -H 'Content-type: application/json' - - - The server returns a response in which the - 24-hours token is contained. Use that token to - send API requests with the X-Auth-Token included - as an header field. - curl -k -D - -H "X-Auth-Token: 7d2f63fd-4dcc-4752-8e9b-1d08f989cc00" -X 'GET' -v https://arm.trystack.org:9774/v1.1/296/extensions -H 'Content-type: application/json' - - - - Repeatedly send API requests with that token in - the X-Auth-Token header until either: 1) the job's - done or 2) you get a 401 (Unauthorized) code in - return. - - - Request a token again when you get a 401 - response or until the script's job is done. - - - - For a typical OpenStack deployment running the Identity - Service you can request a token with this command in cURL - if you know your - tenantId: -$ curl -X 'POST' -v -https://arm.trystack.org:5443/v2.0/tokens -d -'{"auth":{"passwordCredentials":{"username": "joecool", "password":"coolword"}, "tenantId":"5"}}' -H 'Content-type: application/json' - - In return, you should get a 200 OK response with a token - in the form of "id": - "cd427a33-bb4a-4079-a6d7-0ae148bdeda9" and an expiration - date 24 hours from now. Here's what it looks like, the - exact response may vary from cloud-to-cloud: - - -{ - "access": { - "serviceCatalog": [ - { - "endpoints": [ - { - "adminURL": "https://arm.trystack.org:9774/v1.1/1", - "internalURL": "https://arm.trystack.org:9774/v1.1/1", - "publicURL": "https://arm.trystack.org:9774/v1.1/1", - "region": "RegionOne" - } - ], - "name": "nova", - "type": "compute" - }, - { - "endpoints": [ - { - "adminURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/1", - "internalURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/1", - "publicURL": "https://GLANCE_API_IS_NOT_DISCLOSED/v1.1/1", - "region": "RegionOne" - } - ], - "name": "glance", - "type": "image" - }, - { - "endpoints": [ - { - "adminURL": "https://arm.trystack.org:5443/v2.0", - "internalURL": "https://keystone.trystack.org:5000/v2.0", - "publicURL": "https://keystone.trystack.org:5000/v2.0", - "region": "RegionOne" - } - ], - "name": "keystone", - "type": "identity" - } - ], - "token": { - "expires": "2012-02-15T19:32:21", - "id": "5df9d45d-d198-4222-9b4c-7a280aa35666", - "tenant": { - "id": "1", - "name": "admin" - } - }, - "user": { - "id": "14", - "name": "joecool", - "roles": [ - { - "id": "2", - "name": "Member", - "tenantId": "1" - } - ] - } - } - } - If you don't know your tenantId, you can send a request - with an empty tenantId, such as this JSON example: - -'{"auth":{"passwordCredentials":{"username": "joecool", "password":"coolword"}, "tenantId":""}}' - - Then, with the auth token that returns, fill in a request using the X-Auth-Token header as an authentication to get your tenantId: - curl -H "X-Auth-Token:6de6d45d-d198-4222-9b4c-7a280aa24888" http://arm.trystack.org:5000/v2.0/tenants - In return, you get a list of - tenants:{ - "tenants_links": [], - "tenants": [ - { - "enabled": "true", - "description": "joecool", - "name": "joecool", - "id": "tenantnnnnnn" - } - ] - } - Use the resulting token to make a new POST request - containing the tenantId so you can retrieve - endpoints: - curl -k -X 'POST' -v http://arm.trystack.org:5000/v2.0/tokens -d - '{"auth":{"passwordCredentials":{"username": "usern4me", "password":"passwerd"}, "tenantId":"tenantnnnnnn"}}' -H 'Content-type: application/json' - The resulting JSON contains a list of endpoints, for - example: - { - "endpoints": [ - { - "adminURL": "http://10.225.0.8:8774/v2/tenantnnnnnn", - "region": "Calxeda-AUS1", - "internalURL": "http://10.225.0.8:8774/v2/tenantnnnnnn", - "publicURL": "http://208.123.85.197:8774/v2/tenantnnnnnn" - } - ], - "endpoints_links": [], - "type": "compute", - "name": "nova" -} - In addition, you can see a valid token matched to your - user and - tenantId:{ - "access": { - "token": { - "expires": "2012-10-31T17: 13: 12Z", - "id": "new_token***", - "tenant": { - "enabled": true, - "id": "tenantnnnnnn", - "name": "joecool", - "description": "joecool" - } - } -} +
+ Send API requests + This section shows how to make some Identity Service and + Compute API calls. For a complete list of Identity Service + API calls, see Identity Service APIs. For a complete list of + Compute API calls, see Compute APIs and Extensions. + Use the Identity Service API to request a list of + tenants, as follows: + $ curl -i -X GET http://166.78.21.23:35357/v2.0/tenants -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: token" + + Use the Identity Service API to request a list of + endpoints, as follows: + $ curl -i -X GET http://166.78.21.23:35357/v2.0/endpoints -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: token" + + Use the Compute API to list servers, as follows: + $ curl -v -H "X-Auth-Token:token" http://208.123.85.197:8774/v2/tenant_id/servers +
-
- Sending Requests to the API - You have a couple of options for sending requests to - OpenStack through an API. Developers and testers may - prefer to use cURL, the command-line tool from http://curl.haxx.se/. With cURL you can send - HTTP requests and receive responses back from the command - line. - If you like to use a more graphical interface, the REST - client for Firefox also works well for testing and trying - out commands, see https://addons.mozilla.org/en-US/firefox/addon/restclient/. - You can also download and install rest-client, a Java - application to test RESTful web services, from http://code.google.com/p/rest-client/. - You need to generate a token as shown above if you use - cURL or a REST client. - It's also recommended that you install and use a - Command-Line-Client (CLI) such as python-novaclient, which - is documented in CLI guide. - Here's an example of curl commands that can check your list of servers. - - curl -v -H "X-Auth-Token:tokengoeshere" http://208.123.85.197:8774/v2/tenantnnnnnn/servers - Here's what you get in return if you have a running server. - { - "servers": [ - { - "id": "server***", - "links": [ - { - "href": "http://208.123.85.197:8774/v2/tenantnnnnnn/servers/server***", - "rel": "self" - }, - { - "href": "http://208.123.85.197:8774/tenantnnnnnn/servers/server***", - "rel": "bookmark" - } - ], - "name": "Staging Server" - } - ] -} -
- -
diff --git a/api-quick-start/src/docbkx/api-quick-start-onepager.xml b/api-quick-start/src/docbkx/api-quick-start-onepager.xml index af8ae4d1c..10434d366 100644 --- a/api-quick-start/src/docbkx/api-quick-start-onepager.xml +++ b/api-quick-start/src/docbkx/api-quick-start-onepager.xml @@ -3,11 +3,49 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:svg="http://www.w3.org/2000/svg" - xmlns:html="http://www.w3.org/1999/xhtml" - version="5.0" + xmlns:html="http://www.w3.org/1999/xhtml" version="5.0" xml:id="openstack-api-quick-start"> OpenStack API Quick Start + Although you install each OpenStack service separately, the + OpenStack services work together to meet your cloud needs: + Identity Service, Compute, Image Service, Block Storage + Service, Networking, Object Storage, Orchestration, and + Metering. With the TryStack OpenStack installation, these services + work together in the background of the installation. + After you authenticate through the Identity Service, you can + use the other OpenStack APIs to create and manage resources in + your OpenStack cloud. You can launch instances from images and + assign metadata to instances through the Compute API or the + nova command-line client. + To begin sending API requests, use one of the following + methods: + + + cURL + A command-line tool that lets you send HTTP requests + and receive responses. See . + + + OpenStack command-line + clients + Each OpenStack project provides a command-line + client that enables you to access its API through + easy-to-use commands. See . + + + REST clients + Both Mozilla and Google provide browser-based + graphical interfaces for REST. For Firefox, see RESTClient. For Chrome, see rest-client. + + + - + diff --git a/api-quick-start/src/docbkx/cli-uses.xml b/api-quick-start/src/docbkx/cli-uses.xml index 30d237f4d..336e80c93 100644 --- a/api-quick-start/src/docbkx/cli-uses.xml +++ b/api-quick-start/src/docbkx/cli-uses.xml @@ -1,148 +1,169 @@
- Setting Up python-novaclient - -For more serious scripting work, you can use a client like the - python-novaclient client. The python-novaclient implements - Compute API through a command-line interface. You only need a - user name and password to use the python-novaclient tool. - Installing the python-novaclient gives you a nova shell command that enables - Compute API interactions from the command line. You install the client, and then provide - your user name and password, set as environment variables for convenience, and then you - can have the ability to send commands to your cloud on the command-line. - To install python-novaclient, install from Pypi - like so. - -$ pip install python-novaclient - - The CLI guide offers more detailed install - instructions including how to source your credentials. - -
Listing ImagesBefore you can go about the business of building your cloud, you - want to know what images are available to you by asking - the image service what kinds of configurations are - available. The image service could be compared to iTunes - for your cloud - you can view the playlist of images - before using your favorite image to create a new instance - in the cloud. To get the list of images, their names, - status, and ID, use this command: - -$ nova image-list - -+----+--------------------------------------+--------+--------+ -| ID | Name | Status | Server | -+----+--------------------------------------+--------+--------+ -| 12 | natty-server-cloudimg-amd64-kernel | ACTIVE | | -| 13 | natty-server-cloudimg-amd64 | ACTIVE | | -| 14 | oneiric-server-cloudimg-amd64-kernel | ACTIVE | | -| 15 | oneiric-server-cloudimg-amd64 | ACTIVE | | -+----+--------------------------------------+--------+--------+ - - Next you need to know the relative sizes of each of these. - - With the information about what is available to you, you can choose the combination of image and flavor to create your virtual servers and launch instances.
-
Listing Flavors - You also need to know the ID of the flavor - To get the list of flavors, their names, - status, and ID, use this command: - -$ nova flavor-list - -+----+-----------+-----------+------+-----------+------+-------+-------------+ -| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | -+----+-----------+-----------+------+-----------+------+-------+-------------+ -| 1 | m1.tiny | 512 | 0 | N/A | 0 | 1 | | -| 2 | m1.small | 2048 | 20 | N/A | 0 | 1 | | -| 3 | m1.medium | 4096 | 40 | N/A | 0 | 2 | | -| 4 | m1.large | 8192 | 80 | N/A | 0 | 4 | | -| 5 | m1.xlarge | 16384 | 160 | N/A | 0 | 8 | | -+----+-----------+-----------+------+-----------+------+-------+-------------+ - - With the information about what is available to you, you can choose the combination of image and flavor to create your virtual servers and launch instances.
- -
Launching Instances - - To launch a server, you choose an image you want to match - up to a size, find the ID for the image and the ID for the - flavor so you can size it, and create the command with the - IDs. From the information we got previously, we know that - an Ubuntu Natty image has an ID of 13, and if you want to - start small with about 2 GB of memory and 20 GB of disk - space, you'd choose the m1.small flavor which has an ID of - 2 when using the 1.1 API on TryStack. Put those parameters - in with the "boot" command and you can create a new - virtual server. - When using an endpoint that supports 1.1 of the - Compute API, you can launch instances with an ID. - When using an endpoint that supports v2 of the - Compute API, you must use the UUID to launch an - instance. - - - - $ nova boot --flavor=2 --image=13 testserver - - +-----------+--------------------------------------+ -| Property | Value | -+-----------+--------------------------------------+ -| adminPass | **************** | -| created | 2011-09-01T21:40:41Z | -| flavor | m1.small | -| hostId | | -| id | 1805 | -| image | natty | -| metadata | {} | -| name | testserver | -| progress | 0 | -| status | BUILD | -| updated | 2011-09-01T21:40:41Z | -| uuid | ce044452-f22e-4ea4-a3ec-d1cde80cf996 | -+-----------+--------------------------------------+ - - - Now, you can view this server in your new cloud by using the nova list - command: -$ nova list -+------+------------+--------+--------------------------------+ -| ID | Name | Status | Networks | -+------+------------+--------+--------------------------------+ -| 1805 | testserver | ACTIVE | private=10.4.96.81 | -+------+------------+--------+--------------------------------+ - - - There are three statuses you may see - ACTIVE, BUILDING, and UNKNOWN. The BUILDING status is transient and you likely will not see it. If you see UNKNOWN, run nova list again until it goes away. - To view all the information about a particular server, use - nova show with the ID of the server that - you got from the nova list command. - -$ nova show 1805 - -+-----------------+----------------------------------------------------------+ -| Property | Value | -+-----------------+----------------------------------------------------------+ -| created | 2011-09-01T21:40:41Z | -| flavor | m1.small | -| hostId | 58a7430169aa42cde5ce2456b0cb5bb5ac1ab0703bab6420e8a49e6e | -| id | 1805 | -| image | natty | -| metadata | {} | -| name | testserver | -| private network | 10.4.96.81 | -| progress | 100 | -| status | ACTIVE | -| updated | 2011-09-01T21:40:46Z | -| uuid | ce044452-f22e-4ea4-a3ec-d1cde80cf996 | -+-----------------+----------------------------------------------------------+ - - - You can now launch that image again, but add more information to the server when you - boot it so that you can more easily identify it amongst your ever-growing elastic cloud. - Use the -meta option with a key=value pair, where you can make up the string for both the - key and the value. For example, you could add a description and also the creator of the - server. - $ nova boot --flavor=2 --image=13 testserver --meta description='Use for testing purposes' --meta creator=joecool -
+ OpenStack command-line clients + For scripting work, you can use a command-line client like + the python-novaclient + client. This client enables you to use the Compute API through + a command-line interface. + For information about the command-line clients, see OpenStack End User + Guide and OpenStack Admin User + Guide. +
+ Install the clients + Use pip to install the OpenStack + clients on a Mac OS X or Linux system. It is easy and + ensures that you get the latest version of the client from + the Python + Package Index. Also, pip + lets you update or remove a package. After you install the + clients, you must source an openrc file to set required environment + variables before you can request OpenStack services + through the clients or the APIs. For complete information + about the OpenStack clients including how to source the + openrc file, see OpenStack End User + Guide and OpenStack Admin User + Guide. + You must install each client separately. + Run the following command to install or update a client + package: + $ sudo pip install [--upgrade] python-PROJECTclient + Where PROJECT is the project + name. + For example, to install the nova client, run the + following command: + $ sudo pip install python-novaclient + To update the nova client, run the following + command: + $ sudo pip install --upgrade python-novaclient + To remove the nova client, run the following + command: + $ sudo pip uninstall python-novaclient + Before you can issue client commands, you must download + and source the openrc file to set + environment variables. +
+
+ Launch an instance + To launch instances, you must choose a name, an image, + and a flavor for your instance. + To list available images, call the Compute API through + the nova client, as follows: + $ nova image-list + +--------------------------------------+---------------------------------+--------+--------+ +| ID | Name | Status | Server | ++--------------------------------------+---------------------------------+--------+--------+ +| 949c80c8-b4ac-4315-844e-69f9bef39ed1 | cirros-0.3.1-x86_64-uec | ACTIVE | | +| 2d96f33d-ff66-4cac-b377-820cdf51204a | cirros-0.3.1-x86_64-uec-kernel | ACTIVE | | +| eda9e5cb-4c8c-4e88-b580-7fac80ad8e78 | cirros-0.3.1-x86_64-uec-ramdisk | ACTIVE | | ++--------------------------------------+---------------------------------+--------+--------+ + To list flavors, run the following command: + $ nova flavor-list + +----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ +| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | ++----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ +| 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True | +| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True | +| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True | +| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True | +| 42 | m1.nano | 64 | 0 | 0 | | 1 | 1.0 | True | +| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True | +| 84 | m1.micro | 128 | 0 | 0 | | 1 | 1.0 | True | ++----+-----------+-----------+------+-----------+------+-------+-------------+-----------+ + To launch an instance, note the IDs of your desired + image and flavor. + To launch an instance named + my_instance, run the nova + boot command with the image and flavor IDs + and the server name, as follows: + $ nova boot --image 949c80c8-b4ac-4315-844e-69f9bef39ed1 --flavor 2 my_instance + +-------------------------------------+--------------------------------------+ +| Property | Value | ++-------------------------------------+--------------------------------------+ +| OS-DCF:diskConfig | MANUAL | +| OS-EXT-AZ:availability_zone | nova | +| OS-EXT-SRV-ATTR:host | None | +| OS-EXT-SRV-ATTR:hypervisor_hostname | None | +| OS-EXT-SRV-ATTR:instance_name | instance-00000001 | +| OS-EXT-STS:power_state | 0 | +| OS-EXT-STS:task_state | scheduling | +| OS-EXT-STS:vm_state | building | +| accessIPv4 | | +| accessIPv6 | | +| adminPass | XysUgJRnkB2y | +| config_drive | | +| created | 2013-11-07T17:34:16Z | +| flavor | m1.small | +| hostId | | +| id | 66129319-1f1d-420d-a226-bf9fc5ea0138 | +| image | cirros-0.3.1-x86_64-uec | +| key_name | None | +| metadata | {} | +| name | my_instance | +| progress | 0 | +| security_groups | [{u'name': u'default'}] | +| status | BUILD | +| tenant_id | 604bbe45ac7143a79e14f3158df67091 | +| updated | 2013-11-07T17:34:16Z | +| user_id | 3273a50d6cfb4a2ebc75e83cb86e1554 | ++-------------------------------------+--------------------------------------+ + Use the nova list command to view + your server: + $ nova list + +--------------------------------------+-------------+--------+------------+-------------+------------------+ +| ID | Name | Status | Task State | Power State | Networks | ++--------------------------------------+-------------+--------+------------+-------------+------------------+ +| 66129319-1f1d-420d-a226-bf9fc5ea0138 | my_instance | ACTIVE | None | Running | private=10.0.0.2 | ++--------------------------------------+-------------+--------+------------+-------------+------------------+ + To view details for a specified server, use the + nova show command. Include the ID + of the server: + $ nova show 66129319-1f1d-420d-a226-bf9fc5ea0138 + +-------------------------------------+----------------------------------------------------------------+ +| Property | Value | ++-------------------------------------+----------------------------------------------------------------+ +| OS-DCF:diskConfig | MANUAL | +| OS-EXT-AZ:availability_zone | nova | +| OS-EXT-SRV-ATTR:host | devstack-grizzly | +| OS-EXT-SRV-ATTR:hypervisor_hostname | devstack-grizzly | +| OS-EXT-SRV-ATTR:instance_name | instance-00000001 | +| OS-EXT-STS:power_state | 1 | +| OS-EXT-STS:task_state | None | +| OS-EXT-STS:vm_state | active | +| accessIPv4 | | +| accessIPv6 | | +| config_drive | | +| created | 2013-11-07T17:34:16Z | +| flavor | m1.small (2) | +| hostId | d57e6f9f7885c615794b4d5a87103509620b6a7f567f7e7bd57e97a2 | +| id | 66129319-1f1d-420d-a226-bf9fc5ea0138 | +| image | cirros-0.3.1-x86_64-uec (949c80c8-b4ac-4315-844e-69f9bef39ed1) | +| key_name | None | +| metadata | {} | +| name | my_instance | +| private network | 10.0.0.2 | +| progress | 0 | +| security_groups | [{u'name': u'default'}] | +| status | ACTIVE | +| tenant_id | 604bbe45ac7143a79e14f3158df67091 | +| updated | 2013-11-07T17:34:32Z | +| user_id | 3273a50d6cfb4a2ebc75e83cb86e1554 | ++-------------------------------------+----------------------------------------------------------------+ +
+
diff --git a/api-quick-start/src/docbkx/endpoints-list-resp.json b/api-quick-start/src/docbkx/endpoints-list-resp.json new file mode 100644 index 000000000..089a0019a --- /dev/null +++ b/api-quick-start/src/docbkx/endpoints-list-resp.json @@ -0,0 +1,52 @@ +{ + "endpoints":[ + { + "adminurl":"http://166.78.21.23:3333", + "service_id":"95ce5af0aab747e497925a5be1d88b6b", + "region":"RegionOne", + "publicurl":"http://166.78.21.23:3333", + "id":"406cae0574614d829adcbdcf16b4949b", + "internalurl":"http://166.78.21.23:3333" + }, + { + "adminurl":"http://166.78.21.23:8773/services/Admin", + "service_id":"5f1f74decf1f4478a962bcc64fc085bf", + "region":"RegionOne", + "publicurl":"http://166.78.21.23:8773/services/Cloud", + "id":"14c4ae919d4045b78154744f8de08bc8", + "internalurl":"http://166.78.21.23:8773/services/Cloud" + }, + { + "adminurl":"http://166.78.21.23:8776/v1/$(tenant_id)s", + "service_id":"1d95b26ad4744e6bb0010f3755655986", + "region":"RegionOne", + "publicurl":"http://166.78.21.23:8776/v1/$(tenant_id)s", + "id":"c2c8807f17f544f2a4e813adce7997a4", + "internalurl":"http://166.78.21.23:8776/v1/$(tenant_id)s" + }, + { + "adminurl":"http://166.78.21.23:35357/v2.0", + "service_id":"f7c3f51731df49cf876c816b96dba615", + "region":"RegionOne", + "publicurl":"http://166.78.21.23:5000/v2.0", + "id":"f872f18d21ac4a57ae6337bf7c3b4ff0", + "internalurl":"http://166.78.21.23:5000/v2.0" + }, + { + "adminurl":"http://166.78.21.23:9292", + "service_id":"675b9a6b5d9140d794f0ca72414ed688", + "region":"RegionOne", + "publicurl":"http://166.78.21.23:9292", + "id":"9883108c61af480c8715448086ec59b0", + "internalurl":"http://166.78.21.23:9292" + }, + { + "internalurl":"http://166.78.21.23:8774/v2/$(tenant_id)s", + "adminurl":"http://166.78.21.23:8774/v2/$(tenant_id)s", + "service_id":"ea8d30c196904f569645bb5f6558b7dc", + "region":"RegionOne", + "id":"552b1ad2d28a42c6a80f908c6047fc06", + "publicurl":"http://166.78.21.23:8774/v2/$(tenant_id)s" + } + ] +} \ No newline at end of file diff --git a/api-quick-start/src/docbkx/get_credentials_resp.json b/api-quick-start/src/docbkx/get_credentials_resp.json new file mode 100644 index 000000000..ffc36194c --- /dev/null +++ b/api-quick-start/src/docbkx/get_credentials_resp.json @@ -0,0 +1,132 @@ +{ + "access":{ + "token":{ + "issued_at":"2013-11-06T20:06:24.113908", + "expires":"2013-11-07T20:06:24Z", + "id":"{token}", + "tenant":{ + "description":null, + "enabled":true, + "id":"604bbe45ac7143a79e14f3158df67091", + "name":"admin" + } + }, + "serviceCatalog":[ + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:8774/v2/604bbe45ac7143a79e14f3158df67091", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:8774/v2/604bbe45ac7143a79e14f3158df67091", + "id":"9851cb538ce04283b770820acc24e898", + "publicURL":"http://166.78.21.23:8774/v2/604bbe45ac7143a79e14f3158df67091" + } + ], + "endpoints_links":[ + + ], + "type":"compute", + "name":"nova" + }, + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:3333", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:3333", + "id":"0bee9a113d294dda86fc23ac22dce1e3", + "publicURL":"http://166.78.21.23:3333" + } + ], + "endpoints_links":[ + + ], + "type":"s3", + "name":"s3" + }, + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:9292", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:9292", + "id":"4b6e9ece7e25479a8f7bb07eb58845af", + "publicURL":"http://166.78.21.23:9292" + } + ], + "endpoints_links":[ + + ], + "type":"image", + "name":"glance" + }, + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:8776/v1/604bbe45ac7143a79e14f3158df67091", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:8776/v1/604bbe45ac7143a79e14f3158df67091", + "id":"221a2df63537400e929c0ce7184c5d68", + "publicURL":"http://166.78.21.23:8776/v1/604bbe45ac7143a79e14f3158df67091" + } + ], + "endpoints_links":[ + + ], + "type":"volume", + "name":"cinder" + }, + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:8773/services/Admin", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:8773/services/Cloud", + "id":"356f334fdb7045f7a35b0eebe26fca53", + "publicURL":"http://166.78.21.23:8773/services/Cloud" + } + ], + "endpoints_links":[ + + ], + "type":"ec2", + "name":"ec2" + }, + { + "endpoints":[ + { + "adminURL":"http://166.78.21.23:35357/v2.0", + "region":"RegionOne", + "internalURL":"http://166.78.21.23:5000/v2.0", + "id":"10f3816574c14a5eb3d455b8a72dc9b0", + "publicURL":"http://166.78.21.23:5000/v2.0" + } + ], + "endpoints_links":[ + + ], + "type":"identity", + "name":"keystone" + } + ], + "user":{ + "username":"admin", + "roles_links":[ + + ], + "id":"3273a50d6cfb4a2ebc75e83cb86e1554", + "roles":[ + { + "name":"admin" + } + ], + "name":"admin" + }, + "metadata":{ + "is_admin":0, + "roles":[ + "b0d525aa42784ee0a3df1730aabdcecd" + ] + } + } +} \ No newline at end of file diff --git a/api-quick-start/src/docbkx/server-post-resp.json b/api-quick-start/src/docbkx/server-post-resp.json new file mode 100644 index 000000000..29ce13717 --- /dev/null +++ b/api-quick-start/src/docbkx/server-post-resp.json @@ -0,0 +1,16 @@ +{ + "server": { + "adminPass": "MVk5HPrazHcG", + "id": "5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", + "links": [ + { + "href": "http://openstack.example.com/v2/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", + "rel": "self" + }, + { + "href": "http://openstack.example.com/openstack/servers/5bbcc3c4-1da2-4437-a48a-66f15b1b13f9", + "rel": "bookmark" + } + ] + } +} \ No newline at end of file diff --git a/api-quick-start/src/docbkx/tenants_list_resp.json b/api-quick-start/src/docbkx/tenants_list_resp.json new file mode 100644 index 000000000..e8945c872 --- /dev/null +++ b/api-quick-start/src/docbkx/tenants_list_resp.json @@ -0,0 +1,37 @@ +{ + "tenants_links":[ + + ], + "tenants":[ + { + "description":null, + "enabled":true, + "id":"3eddf34c2f814bd5bc50a382f8fba1c6", + "name":"demo" + }, + { + "description":null, + "enabled":true, + "id":"604bbe45ac7143a79e14f3158df67091", + "name":"admin" + }, + { + "description":null, + "enabled":true, + "id":"78323d3574e6421b98fe5894475c69fe", + "name":"service" + }, + { + "description":null, + "enabled":true, + "id":"da73856734d84ec29958b048d8708d82", + "name":"invisible_to_admin" + }, + { + "description":null, + "enabled":true, + "id":"ee30a93eaade41acbcf210780dd7a0ba", + "name":"alt_demo" + } + ] +} \ No newline at end of file