diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..56747b2
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,48 @@
+<project  xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.openstack.docs</groupId>
+    <artifactId>parent-pom</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>v1</module>
+        <module>v2</module>
+    </modules>
+    <profiles>
+        <profile>
+            <id>Rackspace Research Repositories</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <repositories>
+                <repository>
+                    <id>rackspace-research</id>
+                    <name>Rackspace Research Repository</name>
+                    <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
+                </repository>
+            </repositories>
+            <pluginRepositories>
+                <pluginRepository>
+                    <id>rackspace-research</id>
+                    <name>Rackspace Research Repository</name>
+                    <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
+                </pluginRepository>
+            </pluginRepositories>
+        </profile>
+    </profiles>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>com.rackspace.cloud.api</groupId>
+                <artifactId>clouddocs-maven-plugin</artifactId>
+                <version>1.15.0</version>
+            </plugin>
+        </plugins>
+    </build>
+</project>
+
+
diff --git a/v1/pom.xml b/v1/pom.xml
index 2623794..e0bc4d2 100644
--- a/v1/pom.xml
+++ b/v1/pom.xml
@@ -1,31 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
+  <parent>
+    <groupId>org.openstack.docs</groupId>
+    <artifactId>parent-pom</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.openstack.docs</groupId>
-  <artifactId>openstack-block-storage-api-guide</artifactId>
-  <version>1.0.0-SNAPSHOT</version>
+  <artifactId>openstack-v1</artifactId>
   <packaging>jar</packaging>
-  <name>OpenStack Block Storage Service Developer Guide v1.0</name>
+  <name>OpenStack Block Storage API v1 Reference</name>
+  <properties>
+    <!-- This is set by Jenkins according to the branch. -->
+    <release.path.name>local</release.path.name>
+    <comments.enabled>1</comments.enabled>
+  </properties>
   <!-- ################################################ -->
   <!-- USE "mvn clean generate-sources" to run this POM -->
   <!-- ################################################ -->
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-
   <build>
     <sourceDirectory>src</sourceDirectory>
     <plugins>
-
       <plugin>
         <groupId>com.rackspace.cloud.api</groupId>
         <artifactId>clouddocs-maven-plugin</artifactId>
-        <version>1.15.0</version>
+        <!-- <version>1.15.0</version>-->
+        <!-- version is in ../pom.xml -->
         <executions>
           <execution>
             <id>generate-webhelp</id>
@@ -43,24 +44,23 @@
                 appendix  toc,title
                 article/appendix  nop
                 article   toc,title
-                book      title,figure,table,example,equation
-                chapter   toc,title
+                book      toc,title,figure,table,example,equation
+                chapter   toc
+                section   toc
                 part      toc,title
-                preface   toc,title
+                preface   toc
                 qandadiv  toc
                 qandaset  toc
                 reference toc,title
                 set       toc,title
               </generateToc>
-              <!-- The following elements sets the autonumbering of sections in output for chapter numbers but no numbered sections-->
-              <!--<sectionAutolabel>0</sectionAutolabel>
-              <sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel>-->
-
+              <chapterAutolabel>1</chapterAutolabel>
+              <sectionAutolabel>0</sectionAutolabel>
+              <tocSectionDepth>1</tocSectionDepth>
               <webhelpDirname>1.0</webhelpDirname>
               <targetDirectory>${basedir}/target/docbkx/webhelp/api/openstack-block-storage</targetDirectory>
               <includeDateInPdfFilename>0</includeDateInPdfFilename>
               <pdfFilenameBase>openstack-blockstorage-devguide-1.0</pdfFilenameBase>
-
             </configuration>
           </execution>
           <execution>
@@ -81,7 +81,6 @@
               </postProcess>
             </configuration>
           </execution>
-
         </executions>
         <configuration>
           <!-- These parameters apply to pdf and webhelp -->
@@ -94,29 +93,6 @@
           <branding>openstack</branding>
         </configuration>
       </plugin>
-
     </plugins>
   </build>
-  <profiles>
-    <profile>
-      <id>Rackspace Research Repositories</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <repositories>
-        <repository>
-          <id>rackspace-research</id>
-          <name>Rackspace Research Repository</name>
-          <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
-        </repository>
-      </repositories>
-      <pluginRepositories>
-        <pluginRepository>
-          <id>rackspace-research</id>
-          <name>Rackspace Research Repository</name>
-          <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
-        </pluginRepository>
-      </pluginRepositories>
-    </profile>
-  </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/v1/src/openstack-blockstorage-devguide.xml b/v1/src/openstack-blockstorage-devguide.xml
index c2f5577..b5e7cbe 100644
--- a/v1/src/openstack-blockstorage-devguide.xml
+++ b/v1/src/openstack-blockstorage-devguide.xml
@@ -1,31 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE book [
-<!-- Some useful entities borrowed from HTML -->
 <!ENTITY ndash  "&#x2013;">
 <!ENTITY mdash  "&#x2014;">
 <!ENTITY hellip "&#x2026;">
-
 <!-- Useful for describing APIs -->
 <!ENTITY GET    '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
 <!ENTITY PUT    '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
 <!ENTITY POST   '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
 <!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
-<!ENTITY PRODNAME "OpenStack Block Storage Service">
-<!ENTITY APIv1   'Cinder API v1.0'>
+<!ENTITY PRODNAME "OpenStack Block Storage">
+<!ENTITY API   'Block Storage API v1'>
+<!ENTITY VERSION   'v2'>
 <!ENTITY PRODABBV "">
-
-<!-- changing authentication endpoints; define entities for US & UK rather than maintaining in text -->
-<!ENTITY ENDPOINT-US "https://auth.api.openstackcloud.com/v2.0/">
-<!ENTITY ENDPOINT-UK "https://lon.identity.api.openstackcloud.com/v1.1/">
-
 <!ENTITY CHECK  '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
 <imageobject>
 <imagedata fileref="img/Check_mark_23x20_02.svg"
 format="SVG" scale="60"/>
 </imageobject>
 </inlinemediaobject>'>
-
-
 <!ENTITY ARROW  '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
 <imageobject>
 <imagedata fileref="img/Arrow_east.svg"
@@ -33,31 +25,48 @@ format="SVG" scale="60"/>
 </imageobject>
 </inlinemediaobject>'>
 ]>
-<book xmlns="http://docbook.org/ns/docbook" 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:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="openstack-blockstorage-devguide">
-  <?rax title.font.size="35px" subtitle.font.size="20px"?>
+<book xmlns="http://docbook.org/ns/docbook"
+  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:m="http://www.w3.org/1998/Math/MathML"
+  xmlns:html="http://www.w3.org/1999/xhtml"
+  xmlns:db="http://docbook.org/ns/docbook" version="5.0"
+  xml:id="openstack-blockstorage-devguide">
+  <title>OpenStack Block Storage API v1 Reference</title>
+  <?rax title.font.size="28px" subtitle.font.size="28px"?>
+  <titleabbrev>Block Storage API Reference</titleabbrev>
   <info>
-    <title>&PRODNAME; Developer Guide</title>
-    <titleabbrev>&PRODNAME; Developer Guide</titleabbrev>
+    <author>
+      <personname>
+        <firstname/>
+        <surname/>
+      </personname>
+      <affiliation>
+        <orgname>OpenStack Foundation</orgname>
+      </affiliation>
+    </author>
     <copyright>
-      <year>2012</year>
+      <year>2010-2014</year>
+      <holder>OpenStack Foundation</holder>
     </copyright>
-    <releaseinfo>API v1.0</releaseinfo>
-    <productname>&PRODNAME;</productname>
-    <pubdate>2013-02-24</pubdate>
+    <releaseinfo>API v1 and extensions</releaseinfo>
+    <productname>OpenStack Block Storage</productname>
+    <pubdate/>
     <legalnotice role="apache2">
-      <annotation xmlns:svg="http://www.w3.org/2000/svg"
-        xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml">
-        <remark>Copyright details are filled in by the template.</remark>
+      <annotation>
+        <remark>Copyright details are filled in by the
+          template.</remark>
       </annotation>
     </legalnotice>
     <abstract>
-      <para>This document is intended for software developers interested in developing applications
-        using the &PRODNAME; Application Programming Interface (<abbrev>API</abbrev>).</para>
+      <para>This document is intended for software developers
+        interested in developing applications using the &PRODNAME;
+        Application Programming Interface
+        (<abbrev>API</abbrev>).</para>
     </abstract>
-    <revhistory xmlns:svg="http://www.w3.org/2000/svg" xmlns:m="http://www.w3.org/1998/Math/MathML"
+    <revhistory xmlns:svg="http://www.w3.org/2000/svg"
+      xmlns:m="http://www.w3.org/1998/Math/MathML"
       xmlns:html="http://www.w3.org/1999/xhtml">
       <revision>
         <date>2013-02-18</date>
@@ -93,15 +102,18 @@ format="SVG" scale="60"/>
   </info>
   <preface xml:id="Preface">
     <title>Preface</title>
-    <para>The Cinder project provides volume management with the OpenStack compute service.</para>
-    <para>This document describes the features available with the &APIv1;.</para>
+    <para>OpenStack Block Storage provides volume management with
+      OpenStack Compute.</para>
+    <para>This document describes the features available with the
+      &API;.</para>
     <para>We welcome feedback, comments and bug reports at <link
-        xlink:href="http://bugs.launchpad.net/cinder">bugs.launchpad.net/Cinder</link>.</para>
+        xlink:href="http://bugs.launchpad.net/cinder"
+        >bugs.launchpad.net/Cinder</link>.</para>
     <section xml:id="Intended_Audience-d1e122">
-      <title>Intended Audience</title>
-      <para>This Guide is intended to assist software developers who want to develop applications
-        using the &APIv1;. It assumes the reader has a general understanding of storage and is
-        familiar with:</para>
+      <title>Intended audience</title>
+      <para>This guide is for software developers who develop
+        applications by using the &API;. It assumes the reader has a
+        general understanding of storage and is familiar with:</para>
       <itemizedlist spacing="compact">
         <listitem>
           <para>ReSTful web services</para>
@@ -114,32 +126,37 @@ format="SVG" scale="60"/>
         </listitem>
       </itemizedlist>
     </section>
-
     <?hard-pagebreak?>
-
     <section xml:id="Additional_Resources-d1e532">
-      <title>Additional Resources</title>
-      <para>You can download the most current versions of the API-related documents from <link
-          xlink:href="http://docs.openstack.org/api/">docs.openstack.org/api/</link>.</para>
-      <para>This API uses standard HTTP 1.1 response codes as documented at: <link
+      <title>Resources</title>
+      <para>You can download the most current versions of the
+        API-related documents from <link
+          xlink:href="http://docs.openstack.org/api/"
+          >docs.openstack.org/api/</link>.</para>
+      <para>This API uses standard HTTP 1.1 response codes as
+        documented at: <link
           xlink:href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
           >www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</link>.</para>
     </section>
   </preface>
   <preface xml:id="Overview" xmlns:svg="http://www.w3.org/2000/svg"
-    xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml">
+    xmlns:m="http://www.w3.org/1998/Math/MathML"
+    xmlns:html="http://www.w3.org/1999/xhtml">
     <title>Overview</title>
-    <para>&PRODNAME; is a block-level storage solution that allows customers to mount drives or
-      volumes to their OpenStack Compute servers<trademark/>. The two primary use cases are (1) to
-      allow customers to scale their storage independently from their compute resources, and (2) to
-      allow customers to utilize high performance storage to serve database or I/O-intensive
+    <para>&PRODNAME; is a block-level storage solution that allows
+      customers to mount drives or volumes to their OpenStack Compute
+      servers<trademark/>. The two primary use cases are (1) to allow
+      customers to scale their storage independently from their
+      compute resources, and (2) to allow customers to utilize high
+      performance storage to serve database or I/O-intensive
       applications.</para>
-    <para>Interactions with Block Storage occur programmatically via the Block Storage API as
-      described in this Developer Guide.</para>
+    <para>Interactions with Block Storage occur programmatically via
+      the Block Storage API as described in this Developer
+      Guide.</para>
     <para>Highlights of &PRODNAME; include:<itemizedlist>
         <listitem>
-          <para>Mount a drive to a Compute server to scale storage without paying for more compute
-            capability.</para>
+          <para>Mount a drive to a Compute server to scale storage
+            without paying for more compute capability.</para>
         </listitem>
       </itemizedlist>
     </para>
@@ -147,15 +164,16 @@ format="SVG" scale="60"/>
       <title>Notes</title>
       <itemizedlist>
         <listitem>
-          <para>&PRODNAME; is an add-on feature to OpenStack Nova Compute in Folsom versions and
-            earlier.</para>
+          <para>&PRODNAME; is an add-on feature to OpenStack Nova
+            Compute in Folsom versions and earlier.</para>
         </listitem>
         <listitem>
-          <para>Block Storage is multi-tenant rather than dedicated.</para>
+          <para>Block Storage is multi-tenant rather than
+            dedicated.</para>
         </listitem>
         <listitem>
-          <para>Block Storage allows you to create snapshots that you can save, list, and
-            restore.</para>
+          <para>Block Storage allows you to create snapshots that you
+            can save, list, and restore.</para>
         </listitem>
       </itemizedlist>
     </note>
@@ -163,114 +181,123 @@ format="SVG" scale="60"/>
     <section xml:id="Concepts">
       <title>Glossary</title>
       <?dbhtml stop-chunking?>
-      <para>To use the Block Storage API effectively, you should understand several key concepts:</para>
+      <para>To use the &PRODNAME; API effectively, you should
+        understand several key concepts:</para>
       <section xml:id="Volume">
         <title>Volume</title>
-        <para>A volume is a detachable block storage device. You can think of it as a USB hard
-          drive. It can only be attached to one instance at a time.</para>
+        <para>A volume is a detachable block storage device. You can
+          think of it as a USB hard drive. It can only be attached to
+          one instance at a time.</para>
       </section>
       <section xml:id="Snapshot">
         <title>Snapshot</title>
-        <para>A snapshot is a point in time copy of the data contained in a volume.</para>
+        <para>A snapshot is a point in time copy of the data contained
+          in a volume.</para>
       </section>
       <section xml:id="Volumetype">
-        <title>Volume Type</title>
-        <para>The volume type is the type of a block storage volume. You may define whatever types
-          work best for you, such as SATA, SCSCI, SSD, etc. These can be customized or defined by
+        <title>Volume type</title>
+        <para>The volume type is the type of a block storage volume.
+          You may define whatever types work best for you, such as
+          SATA, SCSCI, SSD, etc. These can be customized or defined by
           the OpenStack admin.</para>
-        <para>You may also define extra_specs associated with your volume types. For instance, you
-          could have a VolumeType=SATA, with extra_specs (RPM=10000, RAID-Level=5) . Extra_specs are
-          defined and customized by the admin.</para>
+        <para>You may also define extra_specs associated with your
+          volume types. For instance, you could have a
+          VolumeType=SATA, with extra_specs (RPM=10000, RAID-Level=5)
+          . Extra_specs are defined and customized by the
+          admin.</para>
       </section>
       <section xml:id="Instance">
         <title>Instance</title>
-        <para>An instance is a virtual machine that runs inside the cloud.</para>
+        <para>An instance is a virtual machine that runs inside the
+          cloud.</para>
       </section>
     </section>
-
     <?hard-pagebreak?>
-
     <section xml:id="High_Level_Task_Flow">
-      <title>High-Level Task Flow</title>
+      <title>High-level task flow</title>
       <para>The high-level task flow for Cinder is as follows:</para>
       <para>
         <orderedlist>
           <listitem>
             <para>The tenant creates a volume.</para>
-            <para>For example, the tenant creates a 30G volume called vol1.</para>
+            <para>For example, the tenant creates a 30G volume called
+              vol1.</para>
             <programlisting language="bash" role="gutter: false"><prompt>$</prompt>cinder create --display-name vol1 30</programlisting>
           </listitem>
           <listitem>
-            <para>This gives the tenant a volume id 521752a6-acf6-4b2d-bc7a-119f9148cd8c. The tenant
+            <para>This gives the tenant a volume id
+              521752a6-acf6-4b2d-bc7a-119f9148cd8c. The tenant
               attaches that volume to a virtual machine (VM)
               616fb98f-46ca-475e-917e-2563e5a8cd19:</para>
-            <para>For example
-              A:<programlisting language="bash" role="gutter: false"><prompt>$</prompt> nova volume-attach 616fb98f-46ca-475e-917e-2563e5a8cd19 521752a6-acf6-4b2d-bc7a-119f9148cd8c /dev/vdb</programlisting>
-            </para>
+            <para>For example A:</para>
+            <programlisting language="bash" role="gutter: false"><prompt>$</prompt> nova volume-attach 616fb98f-46ca-475e-917e-2563e5a8cd19 521752a6-acf6-4b2d-bc7a-119f9148cd8c /dev/vdb</programlisting>
           </listitem>
         </orderedlist>
       </para>
     </section>
   </preface>
-  <chapter xml:id="General_API_Information" xmlns:svg="http://www.w3.org/2000/svg"
-    xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml">
-    <title>General API Information</title>
-    <!--   <para>The Block Storage API is implemented using a ReSTful
-      web service interface. Like other products in the
-      Cloud suite, Block Storage shares a common token-based
-      authentication system that allows seamless access between
-      products and services.</para>
-    <note>
-      <para>All requests to authenticate against and operate the
-        service are performed using SSL over HTTP (HTTPS) on TCP port
-        443.</para>
-    </note>
-    -->
+  <chapter xml:id="General_API_Information"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    xmlns:m="http://www.w3.org/1998/Math/MathML"
+    xmlns:html="http://www.w3.org/1999/xhtml">
+    <title>General API information</title>
     <section xml:id="Authentication-d1e647">
       <title>Authentication</title>
-      <para>You can use <link xlink:href="http://curl.haxx.se/">cURL</link> to try the
-        authentication process in two steps: get a token; send the token to a service. <orderedlist>
-          <listitem>
-            <para>Get an authentication token by providing your username and either your API key or
-              your password. Here are examples of both approaches:</para>
-            <para><emphasis>You can request a token by providing your username and your
-                password.</emphasis></para>
-            <para>
-              <literallayout class="monospaced">curl -X POST https://auth.api.openstackcloud.com/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "joecool", "password":"coolword"}, "tenantId":"5"}}' -H 'Content-type: application/json'</literallayout>
-            </para>
-            <para>Successful authentication returns a token which you can use as evidence that your
-              identity has already been authenticated. To use the token, pass it to other services
-              as an <code>X-Auth-Token</code> header.</para>
-            <para>Authentication also returns a service catalog, listing the endpoints you can use
-              for Cloud services.</para>
-          </listitem>
-          <listitem>
-            <para>Use the authentication token to send a GET to a service you would like to use.
-            </para>
-          </listitem>
-        </orderedlist>
-      </para>
-      <para>Authentication tokens are typically valid for 24 hours. Applications should be designed
-        to re-authenticate after receiving a 401 (Unauthorized) response from a service endpoint.</para>
+      <para>You can use <link xlink:href="http://curl.haxx.se/"
+          >cURL</link> to try the authentication process in two steps:
+        get a token; send the token to a service.</para>
+      <orderedlist>
+        <listitem>
+          <para>Get an authentication token by providing your username
+            and either your API key or your password. Here are
+            examples of both approaches:</para>
+          <para><emphasis>You can request a token by providing your
+              username and your password.</emphasis></para>
+          <para>
+            <literallayout class="monospaced">curl -X POST https://auth.api.openstackcloud.com/v2.0/tokens -d '{"auth":{"passwordCredentials":{"username": "joecool", "password":"coolword"}, "tenantId":"5"}}' -H 'Content-type: application/json'</literallayout>
+          </para>
+          <para>Successful authentication returns a token which you
+            can use as evidence that your identity has already been
+            authenticated. To use the token, pass it to other services
+            as an <code>X-Auth-Token</code> header.</para>
+          <para>Authentication also returns a service catalog, listing
+            the endpoints you can use for Cloud services.</para>
+        </listitem>
+        <listitem>
+          <para>Use the authentication token to send a GET to a
+            service you would like to use.</para>
+        </listitem>
+      </orderedlist>
+      <para>Authentication tokens are typically valid for 24 hours.
+        Applications should be designed to re-authenticate after
+        receiving a 401 (Unauthorized) response from a service
+        endpoint.</para>
       <important>
-        <para>If you are programmatically parsing an authentication response, please be aware that
-          service names are stable for the life of the particular service and can be used as keys.
-          You should also be aware that a user's service catalog can include multiple uniquely-named
-          services which perform similar functions.</para>
+        <para>If you are programmatically parsing an authentication
+          response, please be aware that service names are stable for
+          the life of the particular service and can be used as keys.
+          You should also be aware that a user's service catalog can
+          include multiple uniquely-named services which perform
+          similar functions.</para>
       </important>
     </section>
     <section xml:id="Request_Response_Types-d1e903">
-      <title>Request/Response Types</title>
-      <para>The Block Storage API supports both the JSON and XML data serialization formats. The
-        request format is specified using the <code>Content-Type</code> header and is required for
-        calls that have a request body. The response format can be specified in requests either by
-        using the <code>Accept</code> header or by adding an <code>.xml</code> or <code>.json</code>
-        extension to the request URI. Note that it is possible for a response to be serialized using
-        a format different from the request. If no response format is specified, JSON is the
-        default. If conflicting formats are specified using both an <code>Accept</code> header and a
-        query extension, the query extension takes precedence.</para>
-      <para security="writeronly">Some operations support an Atom representation that can be used to
-        efficiently determine when the state of services has changed.</para>
+      <title>Request and response types</title>
+      <para>The Block Storage API supports both the JSON and XML data
+        serialization formats. The request format is specified using
+        the <code>Content-Type</code> header and is required for calls
+        that have a request body. The response format can be specified
+        in requests either by using the <code>Accept</code> header or
+        by adding an <code>.xml</code> or <code>.json</code> extension
+        to the request URI. Note that it is possible for a response to
+        be serialized using a format different from the request. If no
+        response format is specified, JSON is the default. If
+        conflicting formats are specified using both an
+          <code>Accept</code> header and a query extension, the query
+        extension takes precedence.</para>
+      <para security="writeronly">Some operations support an Atom
+        representation that can be used to efficiently determine when
+        the state of services has changed.</para>
       <table rules="all">
         <caption>Response Formats</caption>
         <?dbfo keep-together="always"?>
@@ -297,11 +324,13 @@ format="SVG" scale="60"/>
           </tr>
         </tbody>
       </table>
-      <para>In the request example below, notice that <parameter>Content-Type</parameter> is set to
-          <parameter>application/json</parameter>, but <parameter>application/xml</parameter> is
-        requested via the <parameter>Accept</parameter> header:</para>
+      <para>In the request example below, notice that
+          <parameter>Content-Type</parameter> is set to
+          <parameter>application/json</parameter>, but
+          <parameter>application/xml</parameter> is requested via the
+          <parameter>Accept</parameter> header:</para>
       <example>
-        <title>Request with Headers (Getting Volume Types)</title>
+        <title>Get volume types: Request with headers</title>
         <literallayout class="monospaced">
   GET /v1/441446/types HTTP/1.1
   Host: dfw.blockstorage.api.openstackcloud.com
@@ -309,9 +338,10 @@ format="SVG" scale="60"/>
   Accept: application/xml
                     </literallayout>
       </example>
-      <para><?rax-fo keep-with-next?>Therefore an XML response format is returned:</para>
+      <para><?rax-fo keep-with-next?>Therefore an XML response format
+        is returned:</para>
       <example>
-        <title>Response with Headers</title>
+        <title>Get volume types: Response with headers</title>
         <literallayout class="monospaced">
   HTTP/1.1 200 OK
   Date: Fri, 20 Jul 2012 20:32:13 GMT
@@ -333,21 +363,26 @@ format="SVG" scale="60"/>
     </section>
     <section xml:id="Limits-d1e1208">
       <title>Limits</title>
-      <para>All accounts, by default, have a preconfigured set of thresholds (or limits) to manage
-        capacity and prevent abuse of the system. The system recognizes two kinds of limits:
-          <firstterm>rate limits</firstterm> and <firstterm>absolute limits</firstterm>. Rate limits
-        are thresholds that are reset after a certain amount of time passes. Absolute limits are
-        fixed.</para>
+      <para>All accounts, by default, have a preconfigured set of
+        thresholds (or limits) to manage capacity and prevent abuse of
+        the system. The system recognizes two kinds of limits:
+          <firstterm>rate limits</firstterm> and <firstterm>absolute
+          limits</firstterm>. Rate limits are thresholds that are
+        reset after a certain amount of time passes. Absolute limits
+        are fixed.</para>
       <section xml:id="Rate_Limits-d1e1222" security="writeronly">
-        <title>Rate Limits</title>
-        <para>Rate limits are specified in terms of both a human-readable wild-card URI and a
-          machine-processable regular expression. The regular expression boundary matcher '^' takes
-          effect after the root URI path. For example, the regular expression ^/v1.0/instances would
-          match the bolded portion of the following URI:
-            https://dfw.blockstorage.api.openstackcloud.com<emphasis role="bold"
-            >/v1.0/instances</emphasis>.</para>
-        <para>The following table specifies the default rate limits for all API operations for all
-          &GET;, &POST;, &PUT;, and &DELETE; calls for volumes:</para>
+        <title>Rate limits</title>
+        <para>Rate limits are specified in terms of both a
+          human-readable wild-card URI and a machine-processable
+          regular expression. The regular expression boundary matcher
+          '^' takes effect after the root URI path. For example, the
+          regular expression ^/v1.0/instances would match the bolded
+          portion of the following URI:
+            https://dfw.blockstorage.api.openstackcloud.com<emphasis
+            role="bold">/v1.0/instances</emphasis>.</para>
+        <para>The following table specifies the default rate limits
+          for all API operations for all &GET;, &POST;, &PUT;, and
+          &DELETE; calls for volumes:</para>
         <table rules="all">
           <caption>Default Rate Limits</caption>
           <thead>
@@ -391,16 +426,21 @@ format="SVG" scale="60"/>
             </tr>
           </tbody>
         </table>
-        <para>Rate limits are applied in order relative to the verb, going from least to most
-          specific. For example, although the threshold for &POST; to /v1.0/* is 10 per minute, one
-          cannot &POST; to /v1.0/* more than 50 times within a single day.</para>
-        <para>If you exceed the thresholds established for your account, a <errorcode>413 (Rate
-            Control)</errorcode> HTTP response will be returned with a <code>Retry-After</code>
-          header to notify the client when it can attempt to try again.</para>
+        <para>Rate limits are applied in order relative to the verb,
+          going from least to most specific. For example, although the
+          threshold for &POST; to /v1.0/* is 10 per minute, one cannot
+          &POST; to /v1.0/* more than 50 times within a single
+          day.</para>
+        <para>If you exceed the thresholds established for your
+          account, a <errorcode>413 (Rate Control)</errorcode> HTTP
+          response will be returned with a <code>Retry-After</code>
+          header to notify the client when it can attempt to try
+          again.</para>
       </section>
       <section xml:id="Absolute_Limits-d1e1397">
-        <title>Absolute Limits</title>
-        <para>Refer to the following table for the absolute limits that are set.</para>
+        <title>Absolute limits</title>
+        <para>Refer to the following table for the absolute limits
+          that are set.</para>
         <table rules="all">
           <caption>Absolute Limits</caption>
           <col width="120pt"/>
@@ -416,7 +456,8 @@ format="SVG" scale="60"/>
           <tbody>
             <tr>
               <td colspan="1">Block Storage</td>
-              <td colspan="1">Maximum amount of block storage (in gigabytes)</td>
+              <td colspan="1">Maximum amount of block storage (in
+                gigabytes)</td>
               <td colspan="1">1 TB</td>
             </tr>
           </tbody>
@@ -424,14 +465,17 @@ format="SVG" scale="60"/>
       </section>
     </section>
     <section xml:id="datetimeformat">
-      <title>Date/Time Format</title>
-      <para>The Block Storage Service uses an ISO-8601 compliant date format for the display and
-        consumption of date/time values.</para>
+      <title>Date and time format</title>
+      <para>The Block Storage Service uses an ISO-8601 compliant date
+        format for the display and consumption of date/time
+        values.</para>
       <example>
-        <title>DB Service Date/Time Format</title>
+        <title>DB service date and time format</title>
         <programlisting>yyyy-MM-dd'T'HH:mm:ss.SSSZ</programlisting>
-        <para>See the table below for a description of the date/time format codes.</para>
-        <para>May 19th, 2011 at 8:07:08 AM, GMT-5 would have the following format:</para>
+        <para>See the table below for a description of the date/time
+          format codes.</para>
+        <para>May 19th, 2011 at 8:07:08 AM, GMT-5 would have the
+          following format:</para>
         <programlisting>2011-05-19T08:07:08-05:00</programlisting>
       </example>
       <table rules="all">
@@ -485,11 +529,13 @@ format="SVG" scale="60"/>
 
     <section xml:id="DB_faults">
       <title>Faults</title>
-      <para>When an error occurs, the Block Storage Service returns a fault object containing an
-        HTTP error response code that denotes the type of error. In the body of the response, the
-        system will return additional information about the fault.</para>
-      <para>The following table lists possible fault types with their associated error codes and
-        descriptions.</para>
+      <para>When an error occurs, the Block Storage Service returns a
+        fault object containing an HTTP error response code that
+        denotes the type of error. In the body of the response, the
+        system will return additional information about the
+        fault.</para>
+      <para>The following table lists possible fault types with their
+        associated error codes and descriptions.</para>
       <informaltable rules="all">
         <thead>
           <tr align="center">
@@ -502,70 +548,83 @@ format="SVG" scale="60"/>
           <tr>
             <td colspan="2"><code>badRequest</code></td>
             <td colspan="1">400</td>
-            <td colspan="3">There was one or more errors in the user request.</td>
+            <td colspan="3">There was one or more errors in the user
+              request.</td>
           </tr>
           <tr>
             <td colspan="2"><code>unauthorized</code></td>
             <td colspan="1">401</td>
-            <td colspan="3">The supplied token is not authorized to access the resources, either
-              it's expired or invalid.</td>
+            <td colspan="3">The supplied token is not authorized to
+              access the resources, either it's expired or
+              invalid.</td>
           </tr>
           <tr>
             <td colspan="2"><code>forbidden</code></td>
             <td colspan="1">403</td>
-            <td colspan="3">Access to the requested resource was denied.</td>
+            <td colspan="3">Access to the requested resource was
+              denied.</td>
           </tr>
           <tr>
             <td colspan="2"><code>itemNotFound</code></td>
             <td colspan="1">404</td>
-            <td colspan="3">The back-end services did not find anything matching the
-              Request-URI.</td>
+            <td colspan="3">The back-end services did not find
+              anything matching the Request-URI.</td>
           </tr>
           <tr>
             <td colspan="2"><code>badMethod</code></td>
             <td colspan="1">405</td>
-            <td colspan="3">The request method is not allowed for this resource.</td>
+            <td colspan="3">The request method is not allowed for this
+              resource.</td>
           </tr>
           <tr>
             <td colspan="2"><code>overLimit</code></td>
             <td colspan="1">413</td>
-            <td colspan="3">Either the number of entities in the request is larger than allowed
-              limits, or the user has exceeded allowable request rate limits. See the
-                <code>details</code> element for more specifics. Contact support if you think you
-              need higher request rate limits.</td>
+            <td colspan="3">Either the number of entities in the
+              request is larger than allowed limits, or the user has
+              exceeded allowable request rate limits. See the
+                <code>details</code> element for more specifics.
+              Contact support if you think you need higher request
+              rate limits.</td>
           </tr>
           <tr>
             <td colspan="2"><code>badMediaType</code></td>
             <td colspan="1">415</td>
-            <td colspan="3">The requested content type is not supported by this service.</td>
+            <td colspan="3">The requested content type is not
+              supported by this service.</td>
           </tr>
           <tr>
             <td colspan="2"><code>unprocessableEntity</code></td>
             <td colspan="1">422</td>
-            <td colspan="3">The requested resource could not be processed on at the moment.</td>
+            <td colspan="3">The requested resource could not be
+              processed on at the moment.</td>
           </tr>
           <tr>
             <td colspan="2"><code>instanceFault</code></td>
             <td colspan="1">500</td>
-            <td colspan="3">This is a generic server error and the message contains the reason for
-              the error. This error could wrap several error messages and is a catch all.</td>
+            <td colspan="3">This is a generic server error and the
+              message contains the reason for the error. This error
+              could wrap several error messages and is a catch
+              all.</td>
           </tr>
           <tr>
             <td colspan="2"><code>notImplemented</code></td>
             <td colspan="1">501</td>
-            <td colspan="3">The requested method or resource is not implemented.</td>
+            <td colspan="3">The requested method or resource is not
+              implemented.</td>
           </tr>
           <tr>
             <td colspan="2"><code>serviceUnavailable</code></td>
             <td colspan="1">503</td>
-            <td colspan="3">The Block Storage Service is not available.</td>
+            <td colspan="3">The Block Storage Service is not
+              available.</td>
           </tr>
         </tbody>
       </informaltable>
-      <para>The following two <code>instanceFault</code> examples show errors when the server has
-        erred or cannot perform the requested operation:</para>
+      <para>The following two <code>instanceFault</code> examples show
+        errors when the server has erred or cannot perform the
+        requested operation:</para>
       <example>
-        <title>Example instanceFault Response: XML</title>
+        <title>Example instancefault: XML response</title>
         <screen><computeroutput>HTTP/1.1 500 Internal Server Error
 Content-Type: application/xml
 Content-Length: 121
@@ -575,8 +634,8 @@ Date: Mon, 28 Nov 2011 18:19:37 GMT</computeroutput></screen>
       </programlisting>
       </example>
       <example>
-        <title>Example Fault Response: JSON</title>
-<screen><computeroutput>HTTP/1.1 500 Internal Server Error
+        <title>Example fault: JSON response</title>
+        <screen><computeroutput>HTTP/1.1 500 Internal Server Error
 Content-Length: 120
 Content-Type: application/json; charset=UTF-8
 Date: Tue, 29 Nov 2011 00:33:48 GMT</computeroutput></screen>
@@ -584,678 +643,173 @@ Date: Tue, 29 Nov 2011 00:33:48 GMT</computeroutput></screen>
           <xi:include href="samples/db-faults-instanceFault.json" parse="text"/>
         </programlisting>
       </example>
-      <para>The error code (<code>code</code>) is returned in the body of the response for
-        convenience. The <code>message</code> element returns a human-readable message that is
-        appropriate for display to the end user. The <code>details</code> element is optional and
-        may contain information that is useful for tracking down an error, such as a stack trace.
-        The <code>details</code> element may or may not be appropriate for display to an end user,
-        depending on the role and experience of the end user.</para>
-      <para>The fault's root element (for example, <code>instanceFault</code>) may change depending
-        on the type of error.</para>
-      <para><?rax-fo keep-with-next?>The following two <code>badRequest</code> examples show errors
-        when the volume size is invalid:</para>
+      <para>The error code (<code>code</code>) is returned in the body
+        of the response for convenience. The <code>message</code>
+        element returns a human-readable message that is appropriate
+        for display to the end user. The <code>details</code> element
+        is optional and may contain information that is useful for
+        tracking down an error, such as a stack trace. The
+          <code>details</code> element may or may not be appropriate
+        for display to an end user, depending on the role and
+        experience of the end user.</para>
+      <para>The fault's root element (for example,
+          <code>instanceFault</code>) may change depending on the type
+        of error.</para>
+      <para><?rax-fo keep-with-next?>The following
+          <code>badRequest</code> examples show errors when the volume
+        size is not valie:</para>
       <example>
-        <title>Example badRequest Fault on Volume Size Errors: XML</title>
-<screen><computeroutput>HTTP/1.1 400 None
+        <title>Example badRequest fault and volume size errors: XML
+          request</title>
+        <screen><computeroutput>HTTP/1.1 400 None
 Content-Type: application/xml
 Content-Length: 121
 Date: Mon, 28 Nov 2011 18:19:37 GMT</computeroutput></screen>
         <programlisting language="xml"><xi:include href="samples/db-faults-badRequest.xml" parse="text"/></programlisting>
       </example>
       <example>
-        <title>Example badRequest Fault on Volume Size Errors: JSON</title>
-<screen><computeroutput>HTTP/1.1 400 None
+        <title>Example badRequest fault and volume size errors: JSON
+          request</title>
+        <screen><computeroutput>HTTP/1.1 400 None
 Content-Length: 120
 Content-Type: application/json; charset=UTF-8
 Date: Tue, 29 Nov 2011 00:33:48 GMT</computeroutput></screen>
-        <programlisting language="json">
-<xi:include href="samples/db-faults-badRequest.json" parse="text"/>
-                    </programlisting>
+        <programlisting language="json"><xi:include href="samples/db-faults-badRequest.json" parse="text"/></programlisting>
       </example>
-      <para>The next two examples show <code>itemNotFound</code> errors:</para>
+      <para>The next two examples show <code>itemNotFound</code>
+        errors:</para>
       <example>
-        <title>Example itemNotFound Fault: XML</title>
-       <screen><computeroutput>HTTP/1.1 404 Not Found
+        <title>Example itemNotFound fault: XML response</title>
+        <screen><computeroutput>HTTP/1.1 404 Not Found
 Content-Length: 147
 Content-Type: application/xml; charset=UTF-8
 Date: Mon, 28 Nov 2011 19:50:15 GMT</computeroutput></screen>
         <programlisting language="xml"><xi:include href="samples/db-faults-itemNotFound.xml" parse="text"/></programlisting>
       </example>
       <example>
-        <title>Example itemNotFound Fault: JSON</title>
-       <screen><computeroutput>HTTP/1.1 404 Not Found
+        <title>Example itemNotFound fault: JSON response</title>
+        <screen><computeroutput>HTTP/1.1 404 Not Found
 Content-Length: 78
 Content-Type: application/json; charset=UTF-8
 Date: Tue, 29 Nov 2011 00:35:24 GMT</computeroutput></screen>
-        <programlisting language="json">
-<xi:include href="samples/db-faults-itemNotFound.json" parse="text"/>
-                    </programlisting>
+        <programlisting language="json"><xi:include href="samples/db-faults-itemNotFound.json" parse="text"/></programlisting>
       </example>
     </section>
   </chapter>
-  <chapter xml:id="API_Opertations" xmlns:svg="http://www.w3.org/2000/svg"
-    xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:html="http://www.w3.org/1999/xhtml">
-    <title>API Operations</title>
+  <chapter xml:id="API_Operations"
+    xmlns:svg="http://www.w3.org/2000/svg"
+    xmlns:m="http://www.w3.org/1998/Math/MathML"
+    xmlns:html="http://www.w3.org/1999/xhtml">
+    <title>API operations</title>
     <section xml:id="Volumes">
       <title>Volumes</title>
-      <para>A volume is a detachable block storage device. You can think of it as a USB hard drive.
-        It can only be attached to one instance at a time.</para>
-      <para><?rax-fo keep-with-next?>When making an API call to create, list, or delete volume(s),
-        the following status values are possible:</para>
+      <para>A volume is a detachable block storage device. You can
+        think of it as a USB hard drive. It can only be attached to
+        one instance at a time.</para>
+      <para><?rax-fo keep-with-next?>When making an API call to
+        create, list, or delete volume(s), the following status values
+        are possible:</para>
       <itemizedlist spacing="compact">
         <listitem>
           <para>CREATING &ndash; The volume is being created.</para>
         </listitem>
         <listitem>
-          <para>AVAILABLE &ndash; The volume is read to be attached to an instance.</para>
+          <para>AVAILABLE &ndash; The volume is read to be attached to
+            an instance.</para>
         </listitem>
         <listitem>
-          <para>ATTACHING &ndash; The volume is attaching to an instance.</para>
+          <para>ATTACHING &ndash; The volume is attaching to an
+            instance.</para>
         </listitem>
         <listitem>
-          <para>IN-USE &ndash; The volume is attached to an instance.</para>
+          <para>IN-USE &ndash; The volume is attached to an
+            instance.</para>
         </listitem>
         <listitem>
           <para>DELETING &ndash; The volume is being deleted.</para>
         </listitem>
         <listitem>
-          <para>ERROR &ndash; An error has occurred with the volume.</para>
+          <para>ERROR &ndash; An error has occurred with the
+            volume.</para>
         </listitem>
         <listitem>
-          <para>ERROR_DELETING &ndash; There was an error deleting the volume.</para>
+          <para>ERROR_DELETING &ndash; There was an error deleting the
+            volume.</para>
         </listitem>
       </itemizedlist>
-      <informaltable rules="all" width="100%">
-        <col width="20%"/>
-        <col width="20%"/>
-        <col width="60%"/>
-        <thead>
-          <tr align="center">
-            <td>Verb</td>
-            <td>URI</td>
-            <td>Description</td>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>&GET;</td>
-            <td>/volumes</td>
-            <td>Lists a summary of all volumes defined in Cinder that are accessible to the tenant
-              who submits the request.</td>
-          </tr>
-          <tr>
-            <td>&GET;</td>
-            <td>/volumes/<parameter>volume_id</parameter></td>
-            <td>Lists detailed information for the specified volume.</td>
-          </tr>
-          <tr>
-            <td>&POST;</td>
-            <td>/volumes</td>
-            <td>Creates a new Cinder volume.</td>
-          </tr>
-          <tr>
-            <td>&PUT;</td>
-            <td>/volumes/<parameter>volume_id</parameter></td>
-            <td>Updates the specified volume.</td>
-          </tr>
-          <tr>
-            <td>&DELETE;</td>
-            <td>/volumes/<parameter>volume_id</parameter></td>
-            <td>Destroys the specified volume.</td>
-          </tr>
-        </tbody>
-      </informaltable>
-      <section xml:id="Create_Volume">
-        <title>Create Volume</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&POST;</td>
-              <td>/volumes</td>
-              <td>Create a new volume.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Create Volumes: JSON Request</title>
-          <literallayout class="monospaced">
-GET /v1/volumes
-Content-Type: application/json
-Accept: application/json
-              </literallayout>
-          <programlisting language="json">
-          <xi:include href="samples/volume_create_request.json" parse="text"/>
-        </programlisting>
-        </example>
-        <example>
-          <title>Create Volumes: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/volume_create_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="List_Summary_Volumes">
-        <title>List Volume Summaries</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/volumes</td>
-              <td>Lists a summary of all volumes defined in Cinder that are accessible to the tenant
-                who submits the request.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>List Volumes: Request</title>
-          <literallayout class="monospaced">
-GET /v1/volumes
-Accept: application/json
-                        </literallayout>
-        </example>
-        <example>
-          <title>List Volumes: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/volume_list_simple_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-        <note><para>The response from list volume summary is the same as list volume details in v1. This is
-          corrected in v2.</para></note>
-      </section>
-      <section xml:id="List_Volumes_Details">
-        <title>List Volume Details</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/volumes/details</td>
-              <td>List detailed information of all volumes defined in Cinder that are accessible to
-                the tenant who submits the request.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>List Volumes: Request</title>
-          <literallayout class="monospaced">
-GET /v1/volumes/details
-Accept: application/json
-        </literallayout>
-        </example>
-        <example>
-          <title>List Volumes: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/volume_list_detail_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Show_Volume">
-        <title>Show Volume</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/volumes/<parameter>volume-id</parameter></td>
-              <td>Lists detailed information for the specified volume ID.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Show Volume: Request</title>
-          <literallayout class="monospaced">
-GET /v1/volumes/<parameter>2402b902-0b7a-458c-9c07-7435a826f794</parameter>
-Accept: application/json
-</literallayout>
-        </example>
-        <example>
-          <title>Show Volume: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/volume_show_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Update_Volume">
-        <title>Update Volume</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&PUT;</td>
-              <td>/volumes/<parameter>volume-id</parameter></td>
-              <td>Update the specified volume.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Update Volume: JSON Request</title>
-          <literallayout class="monospaced">
-PUT /v1/volumes<parameter>2402b902-0b7a-458c-9c07-7435a826f794</parameter>
-Content-Type: application/json
-Accept: application/json
-              </literallayout>
-          <programlisting language="json">
-          <xi:include href="samples/volume_update_request.json" parse="text"/>
-        </programlisting>
-        </example>
-        <example>
-          <title>Update Volume: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/volume_update_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Delete_Volume">
-        <title>Delete Volume</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&DELETE;</td>
-              <td>/volumes/<parameter>volume-id</parameter></td>
-              <td>Destroys the specified volume.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Delete Volume: Request</title>
-          <literallayout class="monospaced">
-DELETE /v1/volumes/<parameter>521752a6-acf6-4b2d-bc7a-119f9148cd8c</parameter>
-          </literallayout>
-        </example>
-        <example>
-          <title>Delete Volume: Response</title>
-          <literallayout class="monospaced">
-The response body will be empty with status code 202.
-          </literallayout>
-        </example>
-        <caution><para>You cannot delete a volume if it has snapshots associated with it.</para></caution>
-      </section>
+      <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#volumes">
+          <wadl:method href="createVolume"/>
+          <wadl:method href="getVolumesSimple"/>
+        </wadl:resource>
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#detail-volume">
+          <wadl:method href="getVolumesDetail"/>
+        </wadl:resource>
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#volume_id">
+          <wadl:method href="getVolume"/>
+          <wadl:method href="deleteVolume"/>
+        </wadl:resource>
+      </wadl:resources>
     </section>
     <section xml:id="Snapshots">
       <title>Snapshots</title>
-      <para><?rax-fo keep-with-next?>A snapshot is a point in time copy of the data contained in a
-        volume.</para>
-        <para>When making an API call to create, list, or delete snapshot(s), the following status
-        values are possible:</para>
+      <para><?rax-fo keep-with-next?>A snapshot is a point in time
+        copy of the data contained in a volume.</para>
+      <para>When making an API call to create, list, or delete
+        snapshot(s), the following status values are possible:</para>
       <itemizedlist spacing="compact">
         <listitem>
           <para>CREATING &ndash; The snapshot is being created.</para>
         </listitem>
         <listitem>
-          <para>AVAILABLE &ndash; The snapshot is ready to be used.</para>
+          <para>AVAILABLE &ndash; The snapshot is ready to be
+            used.</para>
         </listitem>
         <listitem>
           <para>DELETING &ndash; The snapshot is being deleted.</para>
         </listitem>
         <listitem>
-          <para>ERROR &ndash; An error occurred with the snapshot.</para>
+          <para>ERROR &ndash; An error occurred with the
+            snapshot.</para>
         </listitem>
         <listitem>
-          <para>ERROR_DELETING &ndash; There was an error deleting the snapshot.</para>
+          <para>ERROR_DELETING &ndash; There was an error deleting the
+            snapshot.</para>
         </listitem>
       </itemizedlist>
-      <section xml:id="Create_Snapshot">
-        <title>Create Snapshot</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&POST;</td>
-              <td>/snapshots</td>
-              <td>Create a snapshot of specified volume.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Create Snapshot: JSON Request</title>
-          <literallayout class="monospaced">
-  POST /v1/snapshots
-  Content-Type: application/json
-  Accept: application/json
-          </literallayout>
-          <programlisting language="json">
-            <xi:include href="samples/snapshot_create_request.json" parse="text"/>
-          </programlisting>
-        </example>
-        <example>
-          <title>Create Snapshot: JSON Response</title>
-          <programlisting language="json">
-              <xi:include href="samples/snapshot_create_response.json" parse="text"/>
-          </programlisting>
-        </example>
-        <para>Returns status code 202 on success</para>
-      </section>
-      <section xml:id="List_Snapshots">
-        <title>List Snapshot Summaries</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/snapshots</td>
-              <td>Lists a summary of all snapshots defined in Cinder that are accessible to the
-                tenant who submits the request.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>List Snapshots: Request</title>
-          <literallayout class="monospaced">
-GET /v1/snapshots
-Accept: application/json
-          </literallayout>
-        </example>
-        <example>
-          <title>List Snapshots: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/snapshot_list_simple_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-        <note><para>The response from list snapshots summary is the same as list snapshot details in v1.</para></note>
-      </section>
-      <section xml:id="List_Snapshot_Details">
-        <title>List Snapshot Details</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/snapshots/details</td>
-              <td>List detailed information of all snapshots defined in Cinder that are accessible
-                to the tenant who submits the request.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>List Snapshots Details: Request</title>
-          <literallayout class="monospaced">
-GET /v1/snapshots/details
-Accept: application/json
-        </literallayout>
-        </example>
-        <example>
-          <title>List Snapshots Details: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/snapshot_list_detail_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Show_Snapshot">
-        <title>Show Snapshot</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/snapshots/<parameter>snapshot-id</parameter></td>
-              <td>Lists detailed information for the specified snapshot ID.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Show Snapshot: Request</title>
-          <literallayout class="monospaced">
-GET /v1/snapshots/<parameter>3fbbcccf-d058-4502-8844-6feeffdf4cb5</parameter>
-Accept: application/json
-</literallayout>
-        </example>
-        <example>
-          <title>Show Snapshot: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/snapshot_show_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Update_Snapshot">
-        <title>Update Snapshot</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&PUT;</td>
-              <td>/snapshots/<parameter>snapshot-id</parameter></td>
-              <td>Update the specified snapshot.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Update Snapshot: JSON Request</title>
-          <literallayout class="monospaced">
-PUT /v1/snapshots/<parameter>2402b902-0b7a-458c-9c07-7435a826f794</parameter>
-Content-Type: application/json
-Accept: application/json
-          </literallayout>
-          <programlisting language="json">
-          <xi:include href="samples/snapshot_update_request.json" parse="text"/>
-        </programlisting>
-        </example>
-        <example>
-          <title>Update Snapshot: JSON Response</title>
-          <programlisting language="json">
-          <xi:include href="samples/snapshot_update_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Delete_Snapshot">
-        <title>Delete Snapshot</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&DELETE;</td>
-              <td>/snapshots/<parameter>snapshot-id</parameter></td>
-              <td>Destroys the specified snapshot.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Delete Snapshot: Request</title>
-          <literallayout class="monospaced">
-DELETE /v1/snapshots/<parameter>3fbbcccf-d058-4502-8844-6feeffdf4cb5</parameter>
-          </literallayout>
-        </example>
-        <example>
-          <title>Delete Snapshot: Response</title>
-          <literallayout class="monospaced">
-The response body will be empty with status code 202.
-          </literallayout>
-        </example>
-      </section>
+      <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#snapshots"/>
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#detail-snapshots"/>
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/volume-api-v1.wadl#snapshot_id"
+        />
+      </wadl:resources>
     </section>
     <section xml:id="Volume_Types">
-      <title>Volume Types</title>
-      <section xml:id="Volume_List_Types">
-        <title>List Volume Types</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/types</td>
-              <td>List all volume types and their information.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>List Volume Types: Request</title>
-          <literallayout class="monospaced">
-GET /v1/types
-Accept: application/json
-             </literallayout>
-        </example>
-        <example>
-          <title>List Volume Types: JSON Response</title>
-          <programlisting language="json">
-            <xi:include href="samples/volume_type_list_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
-      <section xml:id="Volume_Show_Type">
-        <title>Show Volume Type</title>
-        <informaltable rules="all" width="100%">
-          <col width="20%"/>
-          <col width="20%"/>
-          <col width="60%"/>
-          <thead>
-            <tr>
-              <td>Verb</td>
-              <td>URI</td>
-              <td>Description</td>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>&GET;</td>
-              <td>/types/<parameter>type-id</parameter></td>
-              <td>Show information on a specified volume type.</td>
-            </tr>
-          </tbody>
-        </informaltable>
-        <example>
-          <title>Show Volume Type: Request</title>
-          <literallayout class="monospaced">
-GET /v1/types/6685584b-1eac-4da6-b5c3-555430cf68ff
-Accept: application/json
-          </literallayout>
-        </example>
-        <example>
-          <title>Show Volume Type: JSON Response</title>
-          <programlisting language="json">
-            <xi:include href="samples/volume_type_show_response.json" parse="text"/>
-        </programlisting>
-        </example>
-        <para>Returns status code 200 on success</para>
-      </section>
+      <title>Volume types</title>
+      <wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v2/volume-api-v2.wadl#types">
+          <wadl:method href="getVolumeTypes"/>
+        </wadl:resource>
+        <wadl:resource
+          href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v2/volume-api-v2.wadl#volume_type_id">
+          <wadl:method href="getVolumeType"/>
+        </wadl:resource>
+      </wadl:resources>
+    </section>
+    <section xml:id="ext-os-quota-sets-cinder">
+      <title>Quota sets extension (os-quota-sets)</title>
+      <para>Administrators only, depending on policy settings. View,
+        update, and delete quotas for a tenant.</para>
+      <wadl:resources
+        href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/volume-api/src/v1/os-quota-sets.wadl"
+        xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
     </section>
   </chapter>
 </book>
diff --git a/v1/src/samples/snapshot_create_request.json b/v1/src/samples/snapshot_create_request.json
deleted file mode 100644
index 22fb4e0..0000000
--- a/v1/src/samples/snapshot_create_request.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-    "snapshot": {
-        "display_name": "snap-001",
-        "display_description": "Daily backup",
-        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
-        "force": true
-     }
-}
\ No newline at end of file
diff --git a/v1/src/samples/snapshot_create_response.json b/v1/src/samples/snapshot_create_response.json
deleted file mode 100644
index f4263b1..0000000
--- a/v1/src/samples/snapshot_create_response.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "snapshot": {
-        "created_at": "2013-02-19T00:24:54.179025",
-        "display_description": "Daily backup",
-        "display_name": "snap-001",
-        "id": "2d843196-eff1-4a0c-980e-10fee5df2bea",
-        "size": 10,
-        "status": "creating",
-        "volume_id": "da450d0c-0920-4785-80dd-b024515200ce"
-    }
-}
diff --git a/v1/src/samples/snapshot_list_detail_response.json b/v1/src/samples/snapshot_list_detail_response.json
deleted file mode 100644
index 3210b90..0000000
--- a/v1/src/samples/snapshot_list_detail_response.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "snapshots": [
-        {
-            "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
-            "display_name": "snap-001",
-            "display_description": "Daily backup",
-            "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
-            "status": "available",
-            "size": 10,
-            "created_at": "2012-02-29T03:50:07Z"
-        },
-        {
-            "id": "e479997c-650b-40a4-9dfe-77655818b0d2",
-            "display_name": "snap-002",
-            "display_description": "Weekly backup",
-            "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
-            "status": "available",
-            "size": 25,
-            "created_at": "2012-03-19T01:52:47Z"
-        }
-    ]
-}
diff --git a/v1/src/samples/snapshot_list_simple_response.json b/v1/src/samples/snapshot_list_simple_response.json
deleted file mode 100644
index 3210b90..0000000
--- a/v1/src/samples/snapshot_list_simple_response.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "snapshots": [
-        {
-            "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
-            "display_name": "snap-001",
-            "display_description": "Daily backup",
-            "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
-            "status": "available",
-            "size": 10,
-            "created_at": "2012-02-29T03:50:07Z"
-        },
-        {
-            "id": "e479997c-650b-40a4-9dfe-77655818b0d2",
-            "display_name": "snap-002",
-            "display_description": "Weekly backup",
-            "volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
-            "status": "available",
-            "size": 25,
-            "created_at": "2012-03-19T01:52:47Z"
-        }
-    ]
-}
diff --git a/v1/src/samples/snapshot_show_response.json b/v1/src/samples/snapshot_show_response.json
deleted file mode 100644
index 5b06b81..0000000
--- a/v1/src/samples/snapshot_show_response.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "snapshot": {
-        "id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
-        "display_name": "snap-001",
-        "display_description": "Daily backup",
-        "volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
-        "status": "creating",
-        "size": 30,
-        "created_at": "2012-02-29T03:50:07Z"
-     }
-}
\ No newline at end of file
diff --git a/v1/src/samples/snapshot_update_request.json b/v1/src/samples/snapshot_update_request.json
deleted file mode 100644
index 0a98646..0000000
--- a/v1/src/samples/snapshot_update_request.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-   "snapshot":{
-      "display_name":"snap-002",
-      "display_description":"This is yet, another snapshot."
-   }
-}
diff --git a/v1/src/samples/snapshot_update_response.json b/v1/src/samples/snapshot_update_response.json
deleted file mode 100644
index 68cb085..0000000
--- a/v1/src/samples/snapshot_update_response.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "snapshot": {
-        "created_at": "2013-02-20T08:11:34.000000",
-        "display_description": "This is yet, another snapshot",
-        "display_name": "vol-002",
-        "id": "4b502fcb-1f26-45f8-9fe5-3b9a0a52eaf2",
-        "size": 1,
-        "status": "available",
-        "volume_id": "2402b902-0b7a-458c-9c07-7435a826f794"
-    }
-}
diff --git a/v1/src/samples/volume_create_request.json b/v1/src/samples/volume_create_request.json
deleted file mode 100644
index 66ba872..0000000
--- a/v1/src/samples/volume_create_request.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-    "volume": {
-        "display_name": "vol-001",
-        "display_description": "Another volume.",
-        "size": 30,
-        "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
-        "metadata": {"contents": "junk"},
-        "availability_zone": "us-east1"
-     }
-}
\ No newline at end of file
diff --git a/v1/src/samples/volume_create_response.json b/v1/src/samples/volume_create_response.json
deleted file mode 100644
index 3d398b0..0000000
--- a/v1/src/samples/volume_create_response.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "volume": {
-        "attachments": [],
-        "availability_zone": "us-east1",
-        "bootable": "false",
-        "created_at": "2013-02-20T07:36:44.893964",
-        "display_description": "Another volume.",
-        "display_name": "vol-001",
-        "id": "2402b902-0b7a-458c-9c07-7435a826f794",
-        "metadata": {
-            "contents": "junk"
-        },
-        "size": 30,
-        "snapshot_id": null,
-        "source_volid": null,
-        "status": "creating",
-        "volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164"
-    }
-}
diff --git a/v1/src/samples/volume_list_detail_response.json b/v1/src/samples/volume_list_detail_response.json
deleted file mode 100644
index ddc5b6e..0000000
--- a/v1/src/samples/volume_list_detail_response.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "volumes": [
-        {
-            "attachments": [],
-            "availability_zone": "us-east1",
-            "bootable": "false",
-            "created_at": "2013-02-18T23:47:37.000000",
-            "display_description": "yet another volume",
-            "display_name": "vol-002",
-            "id": "dfd9dd41-1353-450a-b5ac-a6037ee43cd8",
-            "metadata": {
-                "contents": "some more junk"
-            },
-            "size": 30,
-            "snapshot_id": null,
-            "source_volid": null,
-            "status": "available",
-            "volume_type": "SATA"
-        },
-        {
-            "attachments": [],
-            "availability_zone": "us-east1",
-            "bootable": "false",
-            "created_at": "2013-02-18T23:44:47.000000",
-            "display_description": "another volume",
-            "display_name": "vol-001",
-            "id": "da450d0c-0920-4785-80dd-b024515200ce",
-            "metadata": {
-                "contents": "junk"
-            },
-            "size": 10,
-            "snapshot_id": null,
-            "source_volid": null,
-            "status": "available",
-            "volume_type": "SATA"
-        }
-    ]
-}
diff --git a/v1/src/samples/volume_list_simple_response.json b/v1/src/samples/volume_list_simple_response.json
deleted file mode 100644
index ddc5b6e..0000000
--- a/v1/src/samples/volume_list_simple_response.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "volumes": [
-        {
-            "attachments": [],
-            "availability_zone": "us-east1",
-            "bootable": "false",
-            "created_at": "2013-02-18T23:47:37.000000",
-            "display_description": "yet another volume",
-            "display_name": "vol-002",
-            "id": "dfd9dd41-1353-450a-b5ac-a6037ee43cd8",
-            "metadata": {
-                "contents": "some more junk"
-            },
-            "size": 30,
-            "snapshot_id": null,
-            "source_volid": null,
-            "status": "available",
-            "volume_type": "SATA"
-        },
-        {
-            "attachments": [],
-            "availability_zone": "us-east1",
-            "bootable": "false",
-            "created_at": "2013-02-18T23:44:47.000000",
-            "display_description": "another volume",
-            "display_name": "vol-001",
-            "id": "da450d0c-0920-4785-80dd-b024515200ce",
-            "metadata": {
-                "contents": "junk"
-            },
-            "size": 10,
-            "snapshot_id": null,
-            "source_volid": null,
-            "status": "available",
-            "volume_type": "SATA"
-        }
-    ]
-}
diff --git a/v1/src/samples/volume_show_response.json b/v1/src/samples/volume_show_response.json
deleted file mode 100644
index 5fd13f7..0000000
--- a/v1/src/samples/volume_show_response.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "volume": {
-        "attachments": [],
-        "availability_zone": "nova",
-        "bootable": "false",
-        "created_at": "2013-02-20T07:36:44.000000",
-        "display_description": "another volume foo",
-        "display_name": "vol-002",
-        "id": "2402b902-0b7a-458c-9c07-7435a826f794",
-        "metadata": {
-            "content": "junk"
-        },
-        "os-vol-host-attr:host": "precise64",
-        "os-vol-tenant-attr:tenant_id": "dee102070e654627a1f96acc5dcad496",
-        "size": 1,
-        "snapshot_id": null,
-        "source_volid": null,
-        "status": "available",
-        "volume_type": "None"
-    }
-}
diff --git a/v1/src/samples/volume_type_list_response.json b/v1/src/samples/volume_type_list_response.json
deleted file mode 100644
index 867fb30..0000000
--- a/v1/src/samples/volume_type_list_response.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "volume_types": [
-        {
-            "extra_specs": {},
-            "id": "6685584b-1eac-4da6-b5c3-555430cf68ff",
-            "name": "SSD"
-        },
-        {
-            "extra_specs": {},
-            "id": "8eb69a46-df97-4e41-9586-9a40a7533803",
-            "name": "SATA"
-        }
-    ]
-}
diff --git a/v1/src/samples/volume_type_show_response.json b/v1/src/samples/volume_type_show_response.json
deleted file mode 100644
index 0c42fd9..0000000
--- a/v1/src/samples/volume_type_show_response.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-   "volume_type":{
-      "id":"6685584b-1eac-4da6-b5c3-555430cf68ff",
-      "name":"SSD",
-      "extra_specs":{
-
-      }
-   }
-}
diff --git a/v1/src/samples/volume_update_request.json b/v1/src/samples/volume_update_request.json
deleted file mode 100644
index 918fe21..0000000
--- a/v1/src/samples/volume_update_request.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-   "volume":{
-      "display_name":"vol-002",
-      "display_description":"This is yet, another volume.",
-      "metadata":{
-         "contents":"junk"
-      }
-   }
-}
\ No newline at end of file
diff --git a/v1/src/samples/volume_update_response.json b/v1/src/samples/volume_update_response.json
deleted file mode 100644
index d6bd97d..0000000
--- a/v1/src/samples/volume_update_response.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "volume": {
-        "attachments": [],
-        "availability_zone": "nova",
-        "bootable": "false",
-        "created_at": "2013-02-20T07:36:44.000000",
-        "display_description": "This is yet, another volume.",
-        "display_name": "vol-002",
-        "id": "2402b902-0b7a-458c-9c07-7435a826f794",
-        "metadata": {
-            "tier": "1"
-        },
-        "size": 1,
-        "snapshot_id": null,
-        "source_volid": null,
-        "status": "available",
-        "volume_type": "None"
-    }
-}
diff --git a/v2/pom.xml b/v2/pom.xml
index 8abd6ca..2b56652 100644
--- a/v2/pom.xml
+++ b/v2/pom.xml
@@ -1,31 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
+  <parent>
+    <groupId>org.openstack.docs</groupId>
+    <artifactId>parent-pom</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.openstack.docs</groupId>
-  <artifactId>openstack-block-storage-api-guide</artifactId>
-  <version>2.0.0</version>
+  <artifactId>openstack-v2</artifactId>
   <packaging>jar</packaging>
-  <name>OpenStack Block Storage Service API Guide v2</name>
+  <name>OpenStack Block Storage API v2 and Extensions Reference</name>
+  <properties>
+    <!-- This is set by Jenkins according to the branch. -->
+    <release.path.name>local</release.path.name>
+    <comments.enabled>1</comments.enabled>
+  </properties>
   <!-- ################################################ -->
   <!-- USE "mvn clean generate-sources" to run this POM -->
   <!-- ################################################ -->
-
-  <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-  </properties>
-
   <build>
     <sourceDirectory>src</sourceDirectory>
     <plugins>
-
       <plugin>
         <groupId>com.rackspace.cloud.api</groupId>
         <artifactId>clouddocs-maven-plugin</artifactId>
-        <version>1.15.0</version>
+       <!-- <version>1.15.0</version>-->
+        <!-- version is in ../pom.xml -->
         <executions>
           <execution>
             <id>generate-webhelp</id>
@@ -56,15 +57,10 @@
               <chapterAutolabel>1</chapterAutolabel>
               <sectionAutolabel>0</sectionAutolabel>
               <tocSectionDepth>1</tocSectionDepth>
-              <!-- The following elements sets the autonumbering of sections in output for chapter numbers but no numbered sections-->
-              <!--<sectionAutolabel>0</sectionAutolabel>
-              <sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel>-->
-
               <webhelpDirname>2.0</webhelpDirname>
               <targetDirectory>${basedir}/target/docbkx/webhelp/api/openstack-block-storage</targetDirectory>
               <includeDateInPdfFilename>0</includeDateInPdfFilename>
               <pdfFilenameBase>openstack-blockstorage-devguide-2.0</pdfFilenameBase>
-
             </configuration>
           </execution>
           <execution>
@@ -85,7 +81,6 @@
               </postProcess>
             </configuration>
           </execution>
-
         </executions>
         <configuration>
           <!-- These parameters apply to pdf and webhelp -->
@@ -98,29 +93,6 @@
           <branding>openstack</branding>
         </configuration>
       </plugin>
-
     </plugins>
   </build>
-  <profiles>
-    <profile>
-      <id>Rackspace Research Repositories</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <repositories>
-        <repository>
-          <id>rackspace-research</id>
-          <name>Rackspace Research Repository</name>
-          <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
-        </repository>
-      </repositories>
-      <pluginRepositories>
-        <pluginRepository>
-          <id>rackspace-research</id>
-          <name>Rackspace Research Repository</name>
-          <url>http://maven.research.rackspacecloud.com/content/groups/public/</url>
-        </pluginRepository>
-      </pluginRepositories>
-    </profile>
-  </profiles>
-</project>
+</project>
\ No newline at end of file
diff --git a/v2/src/openstack-blockstorage-devguide.xml b/v2/src/openstack-blockstorage-devguide.xml
index cf87a4f..cb0e46a 100644
--- a/v2/src/openstack-blockstorage-devguide.xml
+++ b/v2/src/openstack-blockstorage-devguide.xml
@@ -1,10 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE book [
-<!-- Some useful entities borrowed from HTML -->
-<!ENTITY ndash  "&#x2013;">
-<!ENTITY mdash  "&#x2014;">
-<!ENTITY hellip "&#x2026;">
-
 <!-- Useful for describing APIs -->
 <!ENTITY GET    '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
 <!ENTITY PUT    '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
@@ -14,19 +9,12 @@
 <!ENTITY API   'Block Storage API v2.0'>
 <!ENTITY VERSION   'v2'>
 <!ENTITY PRODABBV "">
-
-<!-- changing authentication endpoints; define entities for US & UK rather than maintaining in text -->
-<!ENTITY ENDPOINT-US "https://auth.api.openstackcloud.com/v2.0/">
-<!ENTITY ENDPOINT-UK "https://lon.identity.api.openstackcloud.com/v1.1/">
-
 <!ENTITY CHECK  '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
 <imageobject>
 <imagedata fileref="img/Check_mark_23x20_02.svg"
 format="SVG" scale="60"/>
 </imageobject>
 </inlinemediaobject>'>
-
-
 <!ENTITY ARROW  '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
 <imageobject>
 <imagedata fileref="img/Arrow_east.svg"
diff --git a/v2/src/samples/snapshot_create_request.xml b/v2/src/samples/snapshot_create_request.xml
deleted file mode 100644
index dd40cdf..0000000
--- a/v2/src/samples/snapshot_create_request.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<snapshot xmlns="http://docs.openstack.org/openstack-block-storage/2.0/content"
-    name="snap-001"
-    description="Daily backup"
-    volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635"
-    force="true" />
diff --git a/v2/src/samples/snapshot_create_response.xml b/v2/src/samples/snapshot_create_response.xml
deleted file mode 100644
index a2f041c..0000000
--- a/v2/src/samples/snapshot_create_response.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<snapshot
-    status="creating"
-    description="Daily backup"
-    created_at="2013-02-25T03:56:53.081642"
-    volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635"
-    size="1"
-    id="ffa9bc5e-1172-4021-acaf-cdcd78a9584d"
-    name="snap-001">
-    <metadata/>
-</snapshot>
\ No newline at end of file
diff --git a/v2/src/samples/snapshot_list_detail_response.xml b/v2/src/samples/snapshot_list_detail_response.xml
deleted file mode 100644
index f36674e..0000000
--- a/v2/src/samples/snapshot_list_detail_response.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<snapshots
-  xmlns:os-extended-snapshot-attributes="http://docs.openstack.org/openstack-block-storage/2.0/content/Extended_Snapshot_Attributes.html">
-    <snapshot
-        status="available"
-        description="Daily backup"
-        created_at="2013-02-25 07:30:12"
-        volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635"
-        size="30"
-        id="43f20e0e-2c2c-4770-9d4e-c3d769ae5470"
-        name="snap-001"
-        os-extended-snapshot-attributes:project_id="0c2eba2c5af04d3f9e9d0d410b371fde"
-        os-extended-snapshot-attributes:progress="100%">
-        <metadata/>
-    </snapshot>
-    <snapshot
-        status="available"
-        description="Weekly backup"
-        created_at="2013-02-25 07:20:38"
-        volume_id="806092e3-7551-4fff-a005-49016f4943b1"
-        size="1"
-        id="e820db06-58b5-439d-bac6-c01faa3f6499"
-        name="snap-002"
-        os-extended-snapshot-attributes:project_id="0c2eba2c5af04d3f9e9d0d410b371fde"
-        os-extended-snapshot-attributes:progress="100%">
-        <metadata/>
-    </snapshot>
-</snapshots>
diff --git a/v2/src/samples/snapshot_list_simple_response.xml b/v2/src/samples/snapshot_list_simple_response.xml
deleted file mode 100644
index 17f4a6c..0000000
--- a/v2/src/samples/snapshot_list_simple_response.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<snapshots>
-    <snapshot
-        status="available"
-        description="Very important"
-        created_at="2013-02-25 04:13:17"
-        volume_id="5aa119a8-d25b-45a7-8d1b-88e127885635"
-        size="1"
-        id="2bb856e1-b3d8-4432-a858-09e4ce939389"
-        name="snap-001">
-        <metadata/>
-    </snapshot>
-    <snapshot
-        status="available"
-        description="Weekly backup"
-        created_at="2013-02-25 07:20:38"
-        volume_id="806092e3-7551-4fff-a005-49016f4943b1"
-        size="1"
-        id="e820db06-58b5-439d-bac6-c01faa3f6499"
-        name="snap-002">
-        <metadata/>
-    </snapshot>
-</snapshots>
\ No newline at end of file
diff --git a/v2/src/samples/snapshot_update_request.xml b/v2/src/samples/snapshot_update_request.xml
deleted file mode 100644
index feeafed..0000000
--- a/v2/src/samples/snapshot_update_request.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<snapshot xmlns="http://docs.openstack.org/openstack-block-storage/2.0/content"
-    name="snap-002"
-    description="This is yet, another snapshot."/>
diff --git a/v2/src/samples/snapshot_update_response.xml b/v2/src/samples/snapshot_update_response.xml
deleted file mode 100644
index 9ce9f8f..0000000
--- a/v2/src/samples/snapshot_update_response.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<snapshot
-  xmlns:os-extended-snapshot-attributes="http://docs.openstack.org/openstack-block-storage/2.0/content/Extended_Snapshot_Attributes.html"
-    status="available"
-    description="This is yet, another snapshot"
-    created_at="2013-02-20T08:11:34.000000"
-    volume_id="2402b902-0b7a-458c-9c07-7435a826f794"
-    size="1"
-    id="4b502fcb-1f26-45f8-9fe5-3b9a0a52eaf2"
-    name="vol-002"
-    os-extended-snapshot-attributes:project_id="0c2eba2c5af04d3f9e9d0d410b371fde"
-    os-extended-snapshot-attributes:progress="100%">
-    <metadata/>
-</snapshot>
diff --git a/v2/src/samples/volume_create_request.xml b/v2/src/samples/volume_create_request.xml
deleted file mode 100644
index 987f816..0000000
--- a/v2/src/samples/volume_create_request.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<volume xmlns="http://docs.openstack.org/openstack-block-storage/2.0/content"
-    name="vol-001"
-    description="Another volume."
-    size="30"
-    volume_type="289da7f8-6440-407c-9fb4-7db01ec49164"
-    availability_zone="us-east-1">
-    <metadata>
-        <meta key="contents">junk</meta>
-    </metadata>
-</volume>
diff --git a/v2/src/samples/volume_create_response.xml b/v2/src/samples/volume_create_response.xml
deleted file mode 100644
index de5614d..0000000
--- a/v2/src/samples/volume_create_response.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<volume
-    xmlns:atom="http://www.w3.org/2005/Atom"
-    xmlns="http://docs.openstack.org/api/openstack-block-storage/2.0/content"
-    name="vol-001"
-    id="6996b558-d633-4635-8116-adf14009fcc3">
-    <attachments/>
-    <metadata/>
-</volume>