Add the networks multi provider extension
Partial-Bug: #1226279 Change-Id: I09c4ca34aba14c263900c6ba820c4f36d0735824 author: diane fleming
This commit is contained in:
parent
a5457cc785
commit
f74a6dea96
|
@ -1,4 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE chapter [
|
||||
<!-- Some useful entities borrowed from HTML -->
|
||||
<!ENTITY ndash "–">
|
||||
<!ENTITY mdash "—">
|
||||
<!ENTITY hellip "…">
|
||||
<!ENTITY plusmn "±">
|
||||
<!ENTITY nbsp " ">
|
||||
<!-- 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>'>
|
||||
]>
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
|
@ -9,18 +22,54 @@
|
|||
<title>Networking API v2.0 extensions</title>
|
||||
<section xml:id="quotas-ext">
|
||||
<title>Quotas extension (quotas)</title>
|
||||
<para>Lists, shows information for, updates, and resets
|
||||
quotas.</para>
|
||||
<para>List, show details for, update, and reset quotas.</para>
|
||||
<wadl:resources href="../wadls/netconn-api/src/os-quotas.wadl"
|
||||
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||
</section>
|
||||
<section xml:id="network_provider-ext">
|
||||
<title>Networks provider extended attributes
|
||||
(networks)</title>
|
||||
<title>Networks provider extension (networks)</title>
|
||||
<para>Enables administrative users to specify how an OpenStack
|
||||
Networking network object is mapped to the underlying
|
||||
networking infrastructure. Also, enables administrative
|
||||
users to view such attributes when they query networks. To
|
||||
this aim, this extension defines a set of
|
||||
<literal>provider</literal>-prefixed
|
||||
attributes.</para>
|
||||
<wadl:resources
|
||||
href="../wadls/netconn-api/src/os-networks-provider-ext.wadl"
|
||||
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||
</section>
|
||||
<section xml:id="network_multi_provider-ext">
|
||||
<title>Networks multiple provider extension (networks)</title>
|
||||
<para>Enables administrative users to define multiple physical
|
||||
bindings for an OpenStack Networking network and list or
|
||||
show details for networks with multiple physical
|
||||
bindings.</para>
|
||||
<para>You cannot update any <literal>provider</literal>
|
||||
attributes. If you try to do so, an error occurs.</para>
|
||||
<para>To delete a network with multiple physical bindings,
|
||||
issue a normal delete network request, as follows:</para>
|
||||
<screen><uri>DELETE v2.0/networks/{network_id}</uri></screen>
|
||||
<para>To define multiple physical bindings for a network,
|
||||
include a <literal>segments</literal> list in the request
|
||||
body of a <code>POST /v2.0/networks</code> request. Each
|
||||
element in the <literal>segments</literal> list has the
|
||||
same structure as the provider network attributes. These
|
||||
attributes are <literal>provider:network_type</literal>,
|
||||
<literal>provider:physical_network</literal>, and
|
||||
<literal>provider:segmentation_id</literal>. The
|
||||
validation rules for these attributes are the same as for
|
||||
the <link
|
||||
xlink:href="http://api.openstack.org/api-ref-networking.html#network_provider-ext"
|
||||
>Networks provider extended attributes</link>. You
|
||||
cannot use both extensions at the same time.</para>
|
||||
<para>The NSX and ML2 plug-ins support this extension. With
|
||||
the ML2 plug-in, you can specify multiple VLANs for a
|
||||
specified network, a VXLAN tunnel ID, and a VLAN.</para>
|
||||
<wadl:resources
|
||||
href="../wadls/netconn-api/src/os-networks-multi-provider-ext.wadl"
|
||||
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
||||
</section>
|
||||
<section xml:id="port_binding-ext">
|
||||
<title>Ports binding extended attributes (ports)</title>
|
||||
<wadl:resources
|
||||
|
@ -35,10 +84,9 @@
|
|||
</section>
|
||||
<section xml:id="layer3">
|
||||
<title>Layer-3 networking</title>
|
||||
<para>The Layer-3 networking extension enables you to route
|
||||
packets between subnets, forward packets from internal
|
||||
networks to external ones, and access instances from
|
||||
external networks through floating IPs.</para>
|
||||
<para>Route packets between subnets, forward packets from
|
||||
internal networks to external ones, and access instances
|
||||
from external networks through floating IPs.</para>
|
||||
<para>This extension introduces these resources:</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
|
@ -97,9 +145,10 @@
|
|||
<section status="final" xml:id="metering-ext"
|
||||
xmlns:wadl="http://wadl.dev.java.net/2009/02">
|
||||
<title>Metering labels and rules</title>
|
||||
<para>Creates, modifies, and deletes OpenStack Layer3 Metering labels
|
||||
and rules.</para>
|
||||
<wadl:resources href="../wadls/netconn-api/src/metering-labels.wadl"/>
|
||||
<para>Create, modify, and delete OpenStack Layer-3
|
||||
metering labels and rules.</para>
|
||||
<wadl:resources
|
||||
href="../wadls/netconn-api/src/metering-labels.wadl"/>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"network":{
|
||||
"segments":[
|
||||
{
|
||||
"provider:segmentation_id":"2",
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"vlan"
|
||||
},
|
||||
{
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"stt"
|
||||
}
|
||||
],
|
||||
"name":"net1",
|
||||
"admin_state_up":true
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"network":{
|
||||
"status":"ACTIVE",
|
||||
"subnets":[
|
||||
|
||||
],
|
||||
"name":"net1",
|
||||
"admin_state_up":true,
|
||||
"tenant_id":"9bacb3c5d39d41a79512987f338cf177",
|
||||
"segments":[
|
||||
{
|
||||
"provider:segmentation_id":2,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"vlan"
|
||||
},
|
||||
{
|
||||
"provider:segmentation_id":null,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"stt"
|
||||
}
|
||||
],
|
||||
"shared":false,
|
||||
"port_security_enabled":true,
|
||||
"id":"4e8e5957-649f-477b-9e5b-f1f75b21c03c"
|
||||
}
|
||||
}
|
|
@ -4,13 +4,23 @@
|
|||
"subnets":[
|
||||
|
||||
],
|
||||
"name":"sample_network",
|
||||
"provider:physical_network":null,
|
||||
"name":"net1",
|
||||
"admin_state_up":true,
|
||||
"tenant_id":"4fd44f30292945e481c7b8a0c8908869",
|
||||
"provider:network_type":"local",
|
||||
"tenant_id":"9bacb3c5d39d41a79512987f338cf177",
|
||||
"segments":[
|
||||
{
|
||||
"provider:segmentation_id":2,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"vlan"
|
||||
},
|
||||
{
|
||||
"provider:segmentation_id":null,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"stt"
|
||||
}
|
||||
],
|
||||
"shared":false,
|
||||
"id":"baed79dd-9136-4260-b9a9-d9dfa2bf6547",
|
||||
"provider:segmentation_id":null
|
||||
"port_security_enabled":true,
|
||||
"id":"4e8e5957-649f-477b-9e5b-f1f75b21c03c"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"network":{
|
||||
"status":"ACTIVE",
|
||||
"subnets":[
|
||||
|
||||
],
|
||||
"name":"net1",
|
||||
"admin_state_up":true,
|
||||
"tenant_id":"9bacb3c5d39d41a79512987f338cf177",
|
||||
"segments":[
|
||||
{
|
||||
"provider:segmentation_id":2,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"vlan"
|
||||
},
|
||||
{
|
||||
"provider:segmentation_id":0,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"stt"
|
||||
}
|
||||
],
|
||||
"router:external":false,
|
||||
"shared":false,
|
||||
"port_security_enabled":true,
|
||||
"id":"4e8e5957-649f-477b-9e5b-f1f75b21c03c"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"networks":[
|
||||
{
|
||||
"status":"ACTIVE",
|
||||
"subnets":[
|
||||
|
||||
],
|
||||
"name":"net1",
|
||||
"admin_state_up":true,
|
||||
"tenant_id":"9bacb3c5d39d41a79512987f338cf177",
|
||||
"segments":[
|
||||
{
|
||||
"provider:segmentation_id":2,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"vlan"
|
||||
},
|
||||
{
|
||||
"provider:segmentation_id":0,
|
||||
"provider:physical_network":"8bab8453-1bc9-45af-8c70-f83aa9b50453",
|
||||
"provider:network_type":"stt"
|
||||
}
|
||||
],
|
||||
"router:external":false,
|
||||
"shared":false,
|
||||
"port_security_enabled":true,
|
||||
"id":"4e8e5957-649f-477b-9e5b-f1f75b21c03c"
|
||||
},
|
||||
{
|
||||
"status":"ACTIVE",
|
||||
"subnets":[
|
||||
"08eae331-0402-425a-923c-34f7cfe39c1b"
|
||||
],
|
||||
"name":"private",
|
||||
"provider:physical_network":null,
|
||||
"admin_state_up":true,
|
||||
"tenant_id":"26a7980765d0414dbc1fc1f88cdb7e6e",
|
||||
"provider:network_type":"local",
|
||||
"router:external":true,
|
||||
"shared":true,
|
||||
"id":"db193ab3-96e3-4cb3-8fc5-05f4296d0324",
|
||||
"provider:segmentation_id":null
|
||||
}
|
||||
]
|
||||
}
|
|
@ -175,6 +175,11 @@
|
|||
<wadl:doc xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
|
||||
<para>An isolated segment on the physical network. The network_type attribute defines the segmentation model. For example, if network_type is vlan, this ID is a vlan identifier. If network_type is gre, this ID is a gre key.</para></wadl:doc>
|
||||
</param>'>
|
||||
<!ENTITY networkSegmentParameter '
|
||||
<param xmlns="http://wadl.dev.java.net/2009/02" required="true"
|
||||
name="segments" style="plain" type="xsd:string">
|
||||
<wadl:doc xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
|
||||
<para>A <code>segments</code> object that defines one or more provider segments.</para></wadl:doc></param>'>
|
||||
<!ENTITY portListParameters
|
||||
'<param xmlns="http://wadl.dev.java.net/2009/02" required="true"
|
||||
name="status" style="plain" type="xsd:string">
|
||||
|
|
|
@ -0,0 +1,198 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- (C) 2013-2014 OpenStack Foundation, All Rights Reserved -->
|
||||
<!--*******************************************************-->
|
||||
<!-- Import Common XML Entities -->
|
||||
<!-- -->
|
||||
<!-- You can resolve the entites with xmllint -->
|
||||
<!-- -->
|
||||
<!-- xmllint -noent os-networks-multi-provider-ext.wadl -->
|
||||
<!--*******************************************************-->
|
||||
<!DOCTYPE application [<!ENTITY % common SYSTEM "common.ent">
|
||||
%common;]>
|
||||
<application xmlns="http://wadl.dev.java.net/2009/02"
|
||||
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:linkend="http://www.w3.org/1999/linkend"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
||||
xmlns:csapi="http://docs.openstack.org/compute/api/v1.1">
|
||||
<!--*******************************************************-->
|
||||
<!-- All Resources -->
|
||||
<!--*******************************************************-->
|
||||
<resources base="https://neutron.example.com/"
|
||||
xml:id="os-networks-multi-provider-ext-v2.0">
|
||||
<resource id="version" path="v2.0/">
|
||||
<resource id="Networks" path="networks">
|
||||
<method href="#listNetworks"/>
|
||||
<method href="#createNetwork"/>
|
||||
<resource path="{network_id}" id="network_id">
|
||||
<param name="network_id" style="template"
|
||||
type="csapi:UUID">
|
||||
<wadl:doc
|
||||
xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN"><para>The UUID for the
|
||||
network of interest to
|
||||
you.</para></wadl:doc>
|
||||
</param>
|
||||
<method href="#showNetwork"/>
|
||||
<!-- <method href="#updateNetwork"/>-->
|
||||
<!--<method href="#deleteNetwork"/>-->
|
||||
</resource>
|
||||
</resource>
|
||||
</resource>
|
||||
</resources>
|
||||
<!--*******************************************************-->
|
||||
<!-- All Methods -->
|
||||
<!--*******************************************************-->
|
||||
<method name="GET" id="listNetworks">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
|
||||
title="List networks">
|
||||
<para role="shortdesc">Lists networks that are accessible
|
||||
to the tenant who submits the request. Networks with
|
||||
multiple segments include the <code>segments</code>
|
||||
list in the response.</para>
|
||||
</wadl:doc>
|
||||
<response status="200"> &networkListParameters;
|
||||
&networkSegmentParameter; &networkProviderParameters;
|
||||
<representation mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/networks-multi-list-resp.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!--<representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/networks-multi-get-detail-resp.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-->
|
||||
</response>
|
||||
</method>
|
||||
<method name="POST" id="createNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Create network with multiple segment mappings"
|
||||
xml:lang="EN">
|
||||
<para role="shortdesc">Creates a network with multiple
|
||||
segment mappings.</para>
|
||||
</wadl:doc>
|
||||
<request> &networkCreateParameters; &networkSegmentParameter;
|
||||
&networkProviderParameters; <representation
|
||||
mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-post-req.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!-- <representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-post-req.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-->
|
||||
</request>
|
||||
<response status="201"> &networkListParameters;
|
||||
&networkProviderParameters; <representation
|
||||
mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-post-resp.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!--<representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-post-resp.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-->
|
||||
</response>
|
||||
</method>
|
||||
<method name="GET" id="showNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Show details for a network with multiple segments">
|
||||
<para role="shortdesc">Shows details for a specified
|
||||
network with multiple segments.</para>
|
||||
</wadl:doc>
|
||||
<response status="200"> &networkListParameters;
|
||||
&networkSegmentParameter; &networkProviderParameters;
|
||||
<representation mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/networks-multi-get-detail-resp.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!--<representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/networks-multi-get-detail-resp.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-->
|
||||
</response>
|
||||
</method>
|
||||
<!--<method name="PUT" id="updateNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Update network with multiple segments">
|
||||
<para role="shortdesc">Updates a specified network with
|
||||
multiple segments.</para>
|
||||
</wadl:doc>
|
||||
<request> &networkCreateParameters; &networkSegmentParameter;
|
||||
&networkProviderParameters; <representation
|
||||
mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-put-update.req.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!-\- <representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-put-update.req.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-\->
|
||||
</request>
|
||||
<response status="201"> &networkListParameters;
|
||||
&networkSegmentParameter; &networkProviderParameters;
|
||||
<representation mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-put-update-resp.json"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>
|
||||
<!-\- <representation mediaType="application/xml">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
<xsdxt:code
|
||||
href="api_samples/network-multi-put-update-resp.xml"
|
||||
/>
|
||||
</wadl:doc>
|
||||
</representation>-\->
|
||||
</response>
|
||||
</method>-->
|
||||
<!--<method name="DELETE" id="deleteNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Delete network">
|
||||
<para role="shortdesc">Deletes a specified network.</para>
|
||||
</wadl:doc>
|
||||
</method>-->
|
||||
</application>
|
|
@ -19,7 +19,8 @@
|
|||
<!--*******************************************************-->
|
||||
<!-- All Resources -->
|
||||
<!--*******************************************************-->
|
||||
<resources base="https://neutron.example.com/" xml:id="os-networks-provider-ext-v2.0">
|
||||
<resources base="https://neutron.example.com/"
|
||||
xml:id="os-networks-provider-ext-v2.0">
|
||||
<resource id="version" path="v2.0/">
|
||||
<resource id="Networks" path="networks">
|
||||
<method href="#listNetworks"/>
|
||||
|
@ -74,7 +75,7 @@
|
|||
title="Create network" xml:lang="EN">
|
||||
<para role="shortdesc">Creates a network.</para>
|
||||
</wadl:doc>
|
||||
<request> &networkCreateParameters; <representation
|
||||
<request> &networkCreateParameters; &networkProviderParameters; <representation
|
||||
mediaType="application/json">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
xml:lang="EN">
|
||||
|
@ -110,8 +111,8 @@
|
|||
</method>
|
||||
<method name="GET" id="showNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Show networks">
|
||||
<para role="shortdesc">Shows information for the specified
|
||||
title="Show network details">
|
||||
<para role="shortdesc">Shows details for a specified
|
||||
network.</para>
|
||||
</wadl:doc>
|
||||
<response status="200"> &networkListParameters;
|
||||
|
@ -137,8 +138,7 @@
|
|||
<method name="PUT" id="updateNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Update network">
|
||||
<para role="shortdesc">Updates the specified
|
||||
network.</para>
|
||||
<para role="shortdesc">Updates a specified network.</para>
|
||||
</wadl:doc>
|
||||
<request> &networkCreateParameters;
|
||||
&networkProviderParameters; <representation
|
||||
|
@ -182,8 +182,7 @@
|
|||
<method name="DELETE" id="deleteNetwork">
|
||||
<wadl:doc xmlns="http://docbook.org/ns/docbook"
|
||||
title="Delete network">
|
||||
<para role="shortdesc">Deletes the specified
|
||||
network.</para>
|
||||
<para role="shortdesc">Deletes a specified network.</para>
|
||||
</wadl:doc>
|
||||
</method>
|
||||
</application>
|
||||
|
|
Loading…
Reference in New Issue