Merge "Add extended volume extension"

This commit is contained in:
Jenkins
2015-04-25 04:56:48 +00:00
committed by Gerrit Code Review
11 changed files with 567 additions and 401 deletions

View File

@@ -12,12 +12,17 @@
version="5.0-extension RackBook-2.0" xml:id="compute-v2.1" version="5.0-extension RackBook-2.0" xml:id="compute-v2.1"
role="api-reference"> role="api-reference">
<title>Compute API v2.1 (CURRENT)</title> <title>Compute API v2.1 (CURRENT)</title>
<note><para>XML support in requests and responses has been deprecated for the Compute <note>
API v2.1 (originally referred to as API v3).</para></note> <para>XML support in requests and responses has been deprecated for the Compute
<note><para> API v2.1 (originally referred to as API v3).
</para>
</note>
<note>
<para>
The Compute API returns the <code>403 forbidden</code> error code if The Compute API returns the <code>403 forbidden</code> error code if
you exceed your allotted quota for the operation. you exceed your allotted quota for the operation.
</para></note> </para>
</note>
<!-- GET v2.1/extensions does not work --> <!-- GET v2.1/extensions does not work -->
<!-- <para>Query the Compute API to list available extensions with a <!-- <para>Query the Compute API to list available extensions with a
&GET; request to <code>v2.1/extensions</code>.</para>--> &GET; request to <code>v2.1/extensions</code>.</para>-->
@@ -50,7 +55,8 @@
<section xml:id="v2.1server-admin-actions"> <section xml:id="v2.1server-admin-actions">
<title>Server admin actions (servers)</title> <title>Server admin actions (servers)</title>
<para>Administrators only. Performs actions on a server. Specify <para>Administrators only. Performs actions on a server. Specify
the action in the request body.</para> the action in the request body.
</para>
<wadl:resources <wadl:resources
href="../wadls/compute-api/src/v2.1/wadl/os-admin-actions-v2.1.wadl" href="../wadls/compute-api/src/v2.1/wadl/os-admin-actions-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
@@ -96,85 +102,65 @@
guest agents is possible only if the underlying service provider uses guest agents is possible only if the underlying service provider uses
the Xen driver. the Xen driver.
</para> </para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-agents-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-agents-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1aggregate"> <section xml:id="v2.1aggregate">
<title>Host aggregates (os-aggregates)</title> <title>Host aggregates (os-aggregates)</title>
<para> <para>Creates and manages host aggregates. An aggregate assigns metadata to
Creates and manages host aggregates. An aggregate assigns metadata to
groups of compute nodes. Aggregates are only visible to the cloud groups of compute nodes. Aggregates are only visible to the cloud
provider. provider.
</para> </para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-aggregates-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-aggregates-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1cell"> <section xml:id="v2.1cell">
<title>Cells (os-cells)</title> <title>Cells (os-cells)</title>
<para> <para>Adds neighbor cells, lists neighbor cells, and gets the capabilities of
Adds neighbor cells, lists neighbor cells, and gets the capabilities of
the local cell. the local cell.
</para> </para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-cells-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-cells-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1certificate"> <section xml:id="v2.1certificate">
<title>Root certificates (os-certificates)</title> <title>Root certificates (os-certificates)</title>
<para>Creates and shows details for a root certificate.</para> <para>Creates and shows details for a root certificate.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-certificates-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-certificates-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1configdrive"> <section xml:id="v2.1configdrive">
<title>Configuration drive (os-config-drive)</title> <title>Configuration drive (os-config-drive)</title>
<para>Returns server details for a specific service ID or <para>Returns server details for a specific service ID or
user.</para> user.
<wadl:resources </para>
href="../wadls/compute-api/src/v2.1/wadl/os-config-drive-v2.1.wadl" <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-config-drive-v2.1.wadl" />
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1os-console-output"> <section xml:id="v2.1os-console-output">
<title>Server console output (os-console-output)</title> <title>Server console output (os-console-output)</title>
<para>Gets console output for a server instance.</para> <para>Gets console output for a server instance.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02" <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-console-output-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-console-output-v2.1.wadl"
/>
</section> </section>
<section xml:id="v2.1deferredelete"> <section xml:id="v2.1deferredelete">
<title>Server deferred delete (os-deferred-delete)</title> <title>Server deferred delete (os-deferred-delete)</title>
<para>Force-deletes a server or restores a deleted server.</para> <para>Force-deletes a server or restores a deleted server.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-deferred-delete-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-deferred-delete-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1evaculation"> <section xml:id="v2.1evaculation">
<title>Evacuate (os-evacuate)</title> <title>Evacuate (os-evacuate)</title>
<para>Evacuates servers.</para> <para>Evacuates servers.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-evacuate-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-evacuate-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1availzone"> <section xml:id="v2.1availzone">
<title>Servers with extended availability zones <title>Servers with extended availability zones
(os-extended-availability-zone)</title> (os-extended-availability-zone)
<para> </title>
Shows the instance availability zone for compute nodes (nova-compute). <para>Shows the instance availability zone for compute nodes (nova-compute).
Internal services appear in their own internal availability zone. Internal services appear in their own internal availability zone.
</para> </para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-extended-availability-zone-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-extended-availability-zone-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1extendattributes"> <section xml:id="v2.1extendattributes">
<title>Server extended attributes <title>Server extended attributes
(os-extended-server-attributes)</title> (os-extended-server-attributes)
</title>
<para>Shows metadata for servers.</para> <para>Shows metadata for servers.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-extended-server-attributes-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-extended-server-attributes-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1extendedstatus"> <section xml:id="v2.1extendedstatus">
<title>Server extended status (os-extended-status)</title> <title>Server extended status (os-extended-status)</title>
@@ -228,7 +214,8 @@
<section xml:id="v2.1flavorspecs"> <section xml:id="v2.1flavorspecs">
<title>Flavor extra-specs (flavor-extra-specs)</title> <title>Flavor extra-specs (flavor-extra-specs)</title>
<para>Lists, creates, deletes, and updates the extra-specs or keys <para>Lists, creates, deletes, and updates the extra-specs or keys
for a flavor.</para> for a flavor.
</para>
<wadl:resources <wadl:resources
href="../wadls/compute-api/src/v2.1/wadl/os-flavorspecs-v2.1.wadl" href="../wadls/compute-api/src/v2.1/wadl/os-flavorspecs-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
@@ -241,25 +228,22 @@
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1flavortxtx"> <section xml:id="v2.1flavortxtx">
<title>Flavors with rxtx_factor extended attribute <title>Flavors with rxtx_factor extended attribute (os-flavor-rxtx)
(os-flavor-rxtx)</title> </title>
<para>Shows the rxtx status of a flavor.</para> <para>Shows the rxtx status of a flavor.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-flavor-rxtx-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-flavor-rxtx-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1flavorextend"> <section xml:id="v2.1flavorextend">
<title>Flavors with extended attributes (flavors)</title> <title>Flavors with extended attributes (flavors)</title>
<para>Shows information about flavors.</para> <para>Shows information about flavors.</para>
<wadl:resources <wadl:resources href="../wadls/compute-api/src/v2.1/wadl/os-flavors-v2.1.wadl" />
href="../wadls/compute-api/src/v2.1/wadl/os-flavors-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
<section xml:id="v2.1ext-os-floating-ip-dns"> <section xml:id="v2.1ext-os-floating-ip-dns">
<title>Floating IP DNS records (os-floating-ip-dns)</title> <title>Floating IP DNS records (os-floating-ip-dns)</title>
<para>Manages DNS records associated with IP addresses <para>Manages DNS records associated with IP addresses
allocated by the floating IPs extension. Requests are allocated by the floating IPs extension. Requests are
dispatched to a DNS driver selected at startup.</para> dispatched to a DNS driver selected at startup.
</para>
<wadl:resources <wadl:resources
href="../wadls/compute-api/src/v2.1/wadl/os-floating-ip-dns-v2.1.wadl" href="../wadls/compute-api/src/v2.1/wadl/os-floating-ip-dns-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
@@ -274,7 +258,8 @@
<section xml:id="v2.1ext-os-floating-ips"> <section xml:id="v2.1ext-os-floating-ips">
<title>Floating IPs (os-floating-ips)</title> <title>Floating IPs (os-floating-ips)</title>
<para>Assigns and allocates floating IP addresses to instances <para>Assigns and allocates floating IP addresses to instances
that run in an OpenStack cloud.</para> that run in an OpenStack cloud.
</para>
<wadl:resources <wadl:resources
href="../wadls/compute-api/src/v2.1/wadl/os-floating-ips-v2.1.wadl" href="../wadls/compute-api/src/v2.1/wadl/os-floating-ips-v2.1.wadl"
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
@@ -286,8 +271,7 @@
is named nova. is named nova.
</para> </para>
<para> <para>
Use the <literal>os-floating-ip-pools</literal> extension Use the <literal>os-floating-ip-pools</literal> extension to view available pools.
to view available pools.
</para> </para>
<wadl:resources <wadl:resources
href="../wadls/compute-api/src/v2.1/wadl/os-floating-ips-bulk-v2.1.wadl" href="../wadls/compute-api/src/v2.1/wadl/os-floating-ips-bulk-v2.1.wadl"
@@ -467,4 +451,3 @@
xmlns:wadl="http://wadl.dev.java.net/2009/02"/> xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
</section> </section>
</chapter> </chapter>

View File

@@ -95,57 +95,86 @@
<note> <note>
<para>You can use both IPv4 and IPv6 addresses as access addresses and you can <para>You can use both IPv4 and IPv6 addresses as access addresses and you can
assign both addresses simultaneously. You can update access addresses after assign both addresses simultaneously. You can update access addresses after
you create a server.</para> you create a server.
</para>
</note> </note>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><emphasis role="bold">Server personality</emphasis></para> <para><emphasis role="bold">Server personality</emphasis></para>
<para>You can customize the personality of a server instance by injecting data into <para>
its file system. For example, you might want to insert ssh keys, set You can customize the personality of a server instance by
configuration files, or store data that you want to retrieve from inside the injecting data into its file system. For example, you
instance. This feature provides a minimal amount of launch-time personalization. might want to insert ssh keys, set configuration files, or
If you require significant customization, create a custom image.</para> store data that you want to retrieve from inside the
<para>Follow these guidelines when you inject files:</para> instance. This feature provides a minimal amount of
launch-time personalization. If you require significant
customization, create a custom image.
</para>
<para>
Follow these guidelines when you inject files:
</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>The maximum size of the file path data is 255 bytes.</para> <para>The maximum size of the file path data is 255 bytes.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Encode the file contents as a Base64 string. The compute providers <para>
determines the maximum size of the file contents. This value can vary Encode the file contents as a Base64 string. The
based on the image that is used to create the server.</para> compute providers determines the maximum size of
the file contents. This value can vary based on
the image that is used to create the server.
</para>
<note> <note>
<para>The maximum limit refers to the number of bytes in the decoded <para>
data and not to the number of characters in the encoded data.</para> The maximum limit refers to the number of
bytes in the decoded data and not to the
number of characters in the encoded data.
</para>
</note> </note>
</listitem> </listitem>
<listitem> <listitem>
<para>You can inject text files only. You cannot inject binary or ZIP files <para>
into a new build.</para> You can inject only text files. You cannot inject
binary or ZIP files into a new build.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The maximum number of file path/content pairs that you can supply is <para>
also determined by the compute provider and is defined by the The <code>maxPersonality</code> absolute limit
maxPersonality absolute limit.</para> defines the maximum number of file path and
content pairs that you can supply. The compute
provider determines this value.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The absolute limit, <code>maxPersonalitySize</code>, is a byte limit <para>
that is guaranteed to apply to all images in the deployment. Providers The <code>maxPersonalitySize</code> absolute limit
can set additional per-image personality limits.</para> is a byte limit that is guaranteed to apply to all
images in the deployment. Providers can set
additional per-image personality limits.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>The file injection might not occur until after the server is built and <para>
booted.</para> The file injection might not occur until after the server
<para>During file injection, any existing files that match specified files are is built and booted.
renamed to include the BAK extension appended with a time stamp. For example, if </para>
the <code>/etc/passwd</code> file exists, it is backed up as <para>
<code>/etc/passwd.bak.1246036261.5785</code>.</para> During file injection, any existing files that match
<para>After file injection, personality files are accessible by only system specified files are renamed to include the BAK extension
administrators. For example, on Linux, all files have root and the root group as appended with a time stamp. For example, if the
the owner and group owner, respectively, and allow user and group read access <code>/etc/passwd</code> file exists, it is backed up as
only ( ).</para> <code>/etc/passwd.bak.1246036261.5785</code>.
</para>
<para>
After file injection, only system administrators can
access personality files. For example, on Linux, all files
have root as the owner and the root group as the group
owner, and allow only user and group read access (chmod
440).
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>
@@ -162,10 +191,9 @@
might be assigned at creation time to provide access to might be assigned at creation time to provide access to
the server. This address might not be directly bound to a the server. This address might not be directly bound to a
network interface on the server and might not necessarily network interface on the server and might not necessarily
appear when you query the server addresses. See Compute appear when you query the server addresses. Nonetheless,
server address. Nonetheless, clients that must access the clients that must access the server directly are
server directly are encouraged to do so through an access encouraged to do so through an access address.
address.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@@ -203,7 +231,10 @@
</section> </section>
<section xml:id="compute_server-addresses"> <section xml:id="compute_server-addresses">
<title>Server addresses</title> <title>Server addresses</title>
<para>Lists addresses for a specified server or a specified server and network.</para> <para>
List addresses for a specified server or a specified server and
network.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"> <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#ips"/> <wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#ips"/>
<wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#network_label"/> <wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#network_label"/>
@@ -211,8 +242,11 @@
</section> </section>
<section xml:id="compute_server-actions"> <section xml:id="compute_server-actions">
<title>Server actions</title> <title>Server actions</title>
<para>Performs actions for a specified server. Changes administrator password, <para>
reboots, rebuilds, resizes, and creates an image from a server.</para> Perform actions for a specified server, including change
administrator password, reboot, rebuild, resize, and create image
from server.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"> <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#action"> <wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#action">
<wadl:method href="#changePassword"/> <wadl:method href="#changePassword"/>
@@ -227,9 +261,11 @@
</section> </section>
<section xml:id="compute_flavors"> <section xml:id="compute_flavors">
<title>Flavors</title> <title>Flavors</title>
<para>Lists available flavors and gets details for a specified flavor. A flavor is a hardware <para>
configuration for a server. Each flavor is a unique combination of disk space and memory List available flavors and get details for a specified flavor. A
capacity.</para> flavor is a hardware configuration for a server. Each flavor is a
unique combination of disk space and memory capacity.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"> <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#Flavors"> <wadl:resource href="../wadls/compute-api/src/v2/wadl/os-compute-2.wadl#Flavors">
<wadl:method href="#listFlavors"/> <wadl:method href="#listFlavors"/>

View File

@@ -1,43 +1,44 @@
{ {
"server": { "server": {
"accessIPv4": "",
"accessIPv6": "",
"addresses": { "addresses": {
"private": [ "private": [
{ {
"addr": "192.168.0.3", "addr": "192.168.0.3",
"OS-EXT-IPS-MAC:mac_addr": "aa:bb:cc:dd:ee:ff",
"OS-EXT-IPS:type": "fixed",
"version": 4 "version": 4
} }
] ]
}, },
"created": "2013-02-07T19:35:09Z", "created": "2013-09-16T03:22:28Z",
"flavor": { "flavor": {
"id": "1", "id": "1",
"links": [ "links": [
{ {
"href": "http://openstack.example.com/openstack/flavors/1", "href": "http://openstack.example.com/flavors/1",
"rel": "bookmark" "rel": "bookmark"
} }
] ]
}, },
"hostId": "570eff4776ab310707d11d181037337197086998a8b3305c90bf87c8", "hostId": "8feef92e2152b9970b51dbdade024afbec7f8f03daf7cb335a3c1cb9",
"id": "ecb5e433-fa75-4db2-af3d-a29ae8618edc", "id": "7d62983e-23df-4320-bc89-bbc77f2a2e40",
"image": { "image": {
"id": "70a599e0-31e7-49b7-b260-868f441e862b", "id": "70a599e0-31e7-49b7-b260-868f441e862b",
"links": [ "links": [
{ {
"href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", "href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
"rel": "bookmark" "rel": "bookmark"
} }
] ]
}, },
"key_name": null,
"links": [ "links": [
{ {
"href": "http://openstack.example.com/v2/openstack/servers/ecb5e433-fa75-4db2-af3d-a29ae8618edc", "href": "http://openstack.example.com/v2.1/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40",
"rel": "self" "rel": "self"
}, },
{ {
"href": "http://openstack.example.com/openstack/servers/ecb5e433-fa75-4db2-af3d-a29ae8618edc", "href": "http://openstack.example.com/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40",
"rel": "bookmark" "rel": "bookmark"
} }
], ],
@@ -45,11 +46,6 @@
"My Server Name": "Apache1" "My Server Name": "Apache1"
}, },
"name": "new-server-test", "name": "new-server-test",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2013-02-07T19:35:10Z",
"user_id": "fake",
"os-extended-volumes:volumes_attached": [ "os-extended-volumes:volumes_attached": [
{ {
"id": "volume_id1" "id": "volume_id1"
@@ -57,6 +53,11 @@
{ {
"id": "volume_id2" "id": "volume_id2"
} }
] ],
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2013-09-16T03:22:29Z",
"user_id": "fake"
} }
} }

View File

@@ -1,21 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns:os-extended-volumes="http://docs.openstack.org/compute/ext/extended_volumes/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1" status="ACTIVE" updated="2013-02-07T19:35:10Z" hostId="372afb648339fb6f22faa0b75fdd8834e2382fe02b352af8d7ee0b84" name="new-server-test" created="2013-02-07T19:35:09Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="68647408-85a7-4d9b-85e7-7f1e238983ad">
<image id="70a599e0-31e7-49b7-b260-868f441e862b">
<atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
</image>
<flavor id="1">
<atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
</flavor>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<addresses>
<network id="private">
<ip version="4" addr="192.168.0.3"/>
</network>
</addresses>
<os-extended-volumes:volume_attached id="volume_id1"/>
<os-extended-volumes:volume_attached id="volume_id2"/>
<atom:link href="http://openstack.example.com/v2/openstack/servers/68647408-85a7-4d9b-85e7-7f1e238983ad" rel="self"/>
<atom:link href="http://openstack.example.com/openstack/servers/68647408-85a7-4d9b-85e7-7f1e238983ad" rel="bookmark"/>
</server>

View File

@@ -1,44 +1,45 @@
{ {
"servers": [ "servers": [
{ {
"accessIPv4": "",
"accessIPv6": "",
"addresses": { "addresses": {
"private": [ "private": [
{ {
"addr": "192.168.0.3", "addr": "192.168.0.3",
"OS-EXT-IPS-MAC:mac_addr": "aa:bb:cc:dd:ee:ff",
"OS-EXT-IPS:type": "fixed",
"version": 4 "version": 4
} }
] ]
}, },
"created": "2012-12-05T07:34:10Z", "created": "2013-09-16T03:22:32Z",
"flavor": { "flavor": {
"id": "1", "id": "1",
"links": [ "links": [
{ {
"href": "http://openstack.example.com/openstack/flavors/1", "href": "http://openstack.example.com/flavors/1",
"rel": "bookmark" "rel": "bookmark"
} }
] ]
}, },
"hostId": "585aa01f94eca692eff9f77ffe3eab866d8a819e97397e28c5c7df12", "hostId": "f9622ec1b5ab6e3785661ea1c1e0294f95aecbcf27ac4cb60b06bd02",
"id": "030758aa-5c41-41c6-8fb4-29d44eb96a85", "id": "8e479732-7701-48cd-af7a-04d84f51b742",
"image": { "image": {
"id": "70a599e0-31e7-49b7-b260-868f441e862b", "id": "70a599e0-31e7-49b7-b260-868f441e862b",
"links": [ "links": [
{ {
"href": "http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b", "href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
"rel": "bookmark" "rel": "bookmark"
} }
] ]
}, },
"key_name": null,
"links": [ "links": [
{ {
"href": "http://openstack.example.com/v2/openstack/servers/030758aa-5c41-41c6-8fb4-29d44eb96a85", "href": "http://openstack.example.com/v2.1/servers/8e479732-7701-48cd-af7a-04d84f51b742",
"rel": "self" "rel": "self"
}, },
{ {
"href": "http://openstack.example.com/openstack/servers/030758aa-5c41-41c6-8fb4-29d44eb96a85", "href": "http://openstack.example.com/servers/8e479732-7701-48cd-af7a-04d84f51b742",
"rel": "bookmark" "rel": "bookmark"
} }
], ],
@@ -46,11 +47,6 @@
"My Server Name": "Apache1" "My Server Name": "Apache1"
}, },
"name": "new-server-test", "name": "new-server-test",
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2012-12-05T07:34:10Z",
"user_id": "fake",
"os-extended-volumes:volumes_attached": [ "os-extended-volumes:volumes_attached": [
{ {
"id": "volume_id1" "id": "volume_id1"
@@ -58,7 +54,12 @@
{ {
"id": "volume_id2" "id": "volume_id2"
} }
] ],
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2013-09-16T03:22:34Z",
"user_id": "fake"
} }
] ]
} }

View File

@@ -1,23 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<servers xmlns:os-extended-volumes="http://docs.openstack.org/compute/ext/extended_volumes/api/v1.1" xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://docs.openstack.org/compute/api/v1.1">
<server status="ACTIVE" updated="2012-12-05T07:35:57Z" hostId="20171312b8f2c42b69b09360e08d7fe257b2e021107be687d0302a96" name="new-server-test" created="2012-12-05T07:35:56Z" userId="fake" tenantId="openstack" accessIPv4="" accessIPv6="" progress="0" id="085c76aa-a58f-45b8-ba78-4d1e541d5f89">
<image id="70a599e0-31e7-49b7-b260-868f441e862b">
<atom:link href="http://openstack.example.com/openstack/images/70a599e0-31e7-49b7-b260-868f441e862b" rel="bookmark"/>
</image>
<flavor id="1">
<atom:link href="http://openstack.example.com/openstack/flavors/1" rel="bookmark"/>
</flavor>
<metadata>
<meta key="My Server Name">Apache1</meta>
</metadata>
<addresses>
<network id="private">
<ip version="4" addr="192.168.0.3"/>
</network>
</addresses>
<os-extended-volumes:volume_attached id="volume_id1"/>
<os-extended-volumes:volume_attached id="volume_id2"/>
<atom:link href="http://openstack.example.com/v2/openstack/servers/085c76aa-a58f-45b8-ba78-4d1e541d5f89" rel="self"/>
<atom:link href="http://openstack.example.com/openstack/servers/085c76aa-a58f-45b8-ba78-4d1e541d5f89" rel="bookmark"/>
</server>
</servers>

View File

@@ -0,0 +1,65 @@
{
"server": {
"addresses": {
"private": [
{
"addr": "192.168.0.3",
"OS-EXT-IPS-MAC:mac_addr": "aa:bb:cc:dd:ee:ff",
"OS-EXT-IPS:type": "fixed",
"version": 4
}
]
},
"created": "2013-09-16T03:22:28Z",
"flavor": {
"id": "1",
"links": [
{
"href": "http://openstack.example.com/flavors/1",
"rel": "bookmark"
}
]
},
"hostId": "8feef92e2152b9970b51dbdade024afbec7f8f03daf7cb335a3c1cb9",
"id": "7d62983e-23df-4320-bc89-bbc77f2a2e40",
"image": {
"id": "70a599e0-31e7-49b7-b260-868f441e862b",
"links": [
{
"href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
"rel": "bookmark"
}
]
},
"key_name": null,
"links": [
{
"href": "http://openstack.example.com/v2.1/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40",
"rel": "self"
},
{
"href": "http://openstack.example.com/servers/7d62983e-23df-4320-bc89-bbc77f2a2e40",
"rel": "bookmark"
}
],
"metadata": {
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-extended-volumes:volumes_attached": [
{
"id": "volume_id1",
"delete_on_termination": "True"
},
{
"id": "volume_id2",
"delete_on_termination": "False"
}
],
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2013-09-16T03:22:29Z",
"user_id": "fake"
}
}

View File

@@ -0,0 +1,67 @@
{
"servers": [
{
"addresses": {
"private": [
{
"addr": "192.168.0.3",
"OS-EXT-IPS-MAC:mac_addr": "aa:bb:cc:dd:ee:ff",
"OS-EXT-IPS:type": "fixed",
"version": 4
}
]
},
"created": "2013-09-16T03:22:32Z",
"flavor": {
"id": "1",
"links": [
{
"href": "http://openstack.example.com/flavors/1",
"rel": "bookmark"
}
]
},
"hostId": "f9622ec1b5ab6e3785661ea1c1e0294f95aecbcf27ac4cb60b06bd02",
"id": "8e479732-7701-48cd-af7a-04d84f51b742",
"image": {
"id": "70a599e0-31e7-49b7-b260-868f441e862b",
"links": [
{
"href": "http://openstack.example.com/images/70a599e0-31e7-49b7-b260-868f441e862b",
"rel": "bookmark"
}
]
},
"key_name": null,
"links": [
{
"href": "http://openstack.example.com/v2.1/servers/8e479732-7701-48cd-af7a-04d84f51b742",
"rel": "self"
},
{
"href": "http://openstack.example.com/servers/8e479732-7701-48cd-af7a-04d84f51b742",
"rel": "bookmark"
}
],
"metadata": {
"My Server Name": "Apache1"
},
"name": "new-server-test",
"os-extended-volumes:volumes_attached": [
{
"id": "volume_id1",
"delete_on_termination": "True"
},
{
"id": "volume_id2",
"delete_on_termination": "False"
}
],
"progress": 0,
"status": "ACTIVE",
"tenant_id": "openstack",
"updated": "2013-09-16T03:22:34Z",
"user_id": "fake"
}
]
}

View File

@@ -4,7 +4,7 @@
"id": "440cf918-3ee0-4143-b289-f63e1d2000e6", "id": "440cf918-3ee0-4143-b289-f63e1d2000e6",
"links": [ "links": [
{ {
"href": "http://openstack.example.com/v3/servers/440cf918-3ee0-4143-b289-f63e1d2000e6", "href": "http://openstack.example.com/v2.1/servers/440cf918-3ee0-4143-b289-f63e1d2000e6",
"rel": "self" "rel": "self"
}, },
{ {

View File

@@ -32,7 +32,7 @@
}, },
"links": [ "links": [
{ {
"href": "http://openstack.example.com/v3/servers/a0a80a94-3d81-4a10-822a-daa0cf9e870b", "href": "http://openstack.example.com/v2.1/servers/a0a80a94-3d81-4a10-822a-daa0cf9e870b",
"rel": "self" "rel": "self"
}, },
{ {

View File

@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) 2015 OpenStack Foundation, All Rights Reserved -->
<!DOCTYPE application [<!ENTITY % common SYSTEM "../common.ent">
%common;]>
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:xsd="http://docs.rackspacecloud.com/xsd/v1.0"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0">
<resources base="https://servers.api.openstack.com"
xml:id="os-extended-volumes-v2.1">
<resource id="v2.1 " path="//v2.1">
<resource id="servers" path="servers">
<resource path="detail" id="detail">
<method href="#list-volumes"/>
</resource>
<resource path="{server_id}" id="server_id">
<method href="#show-volume"/>
</resource>
</resource>
</resource>
</resources>
<method name="GET" id="show-volume">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
title="Show volume details">
<para role="shortdesc">Shows volume information for a specified
server.</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="../api_samples/os-extended-volumes/servers-detail-resp.json"
/>
</wadl:doc>
</representation>
</response>
</method>
<method name="GET" id="list-volumes">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
title="List volumes">
<para role="shortdesc">
Lists servers with attached volume information.
</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="../api_samples/os-extended-volumes/server-get-resp.json"
/>
</wadl:doc>
</representation>
</response>
</method>
</application>