Removes WADL references and replaces with links to API Ref
Change-Id: Ie28876acb2c8e0837a87dd475ef235f54dcf4c03
This commit is contained in:
parent
3302e05316
commit
3825fdc375
@ -1,76 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE chapter[
|
|
||||||
<!-- Some useful entities borrowed from HTML -->
|
|
||||||
<!ENTITY ndash "–">
|
|
||||||
<!ENTITY mdash "—">
|
|
||||||
<!ENTITY hellip "…">
|
|
||||||
<!ENTITY plusmn "±">
|
|
||||||
<!-- 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 CHECK '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Check_mark_23x20_02.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
|
|
||||||
<imageobject>
|
|
||||||
<imagedata fileref="figures/Arrow_east.svg"
|
|
||||||
format="SVG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
</inlinemediaobject>'>
|
|
||||||
<!ENTITY APIv2 'Networking API v2.0'>
|
|
||||||
]>
|
|
||||||
<chapter 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:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
|
||||||
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
|
||||||
xml:id="API_extensions">
|
|
||||||
<title>API extensions</title>
|
|
||||||
<para>An API extension extends one or more of the following
|
|
||||||
components of the core API:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Resources. An extension creates object
|
|
||||||
classes.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Attributes. An extended attribute creates an
|
|
||||||
attribute on existing resources. Prefixed by the
|
|
||||||
extension name.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Actions. An extended action creates an operation on
|
|
||||||
an existing resource.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>Generic API extensions are not plug-in-specific. For
|
|
||||||
information about plug-in-specific extensions that ship with
|
|
||||||
OpenStack Networking, see the extension documentation in the
|
|
||||||
source code tree.</para>
|
|
||||||
<xi:include href="section_neutron-ext-show-info.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-agent-management.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-agent-schedulers.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-allowed-address-pairs.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-binding-ports.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-external-gateways-modes.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-external-networks.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-extra-routes.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-fwaas.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-layer3.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-lbaas.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-metering.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-provider-networks.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-provider-networks-multi.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-quotas.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-security-groups-rules.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-vpnaas.xml"/>
|
|
||||||
<xi:include href="section_neutron-ext-extra-dhcp-options.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,57 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
|
||||||
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
|
||||||
xml:id="API_Operations" role="api-reference">
|
|
||||||
<title>API operations</title>
|
|
||||||
<para>Provides virtual networking services among devices that are
|
|
||||||
managed by the OpenStack Compute service. The Networking API
|
|
||||||
v2.0 combines the API v1.1 functionality with some essential
|
|
||||||
Internet Protocol Address Management (IPAM)
|
|
||||||
functionality.</para>
|
|
||||||
<para>Enables users to associate IP address blocks and other
|
|
||||||
network configuration settings with a neutron network. You can
|
|
||||||
choose a specific IP address from the block or let neutron
|
|
||||||
choose the first available IP address.</para>
|
|
||||||
<section xml:id="networks">
|
|
||||||
<title>Networks</title>
|
|
||||||
<para>List, show information for, create, update, and delete
|
|
||||||
networks.</para>
|
|
||||||
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks.wadl"
|
|
||||||
/>
|
|
||||||
</section>
|
|
||||||
<section xml:id="subnets">
|
|
||||||
<title>Subnets</title>
|
|
||||||
<para>List, show information for, create, update, and delete
|
|
||||||
subnet resources.</para>
|
|
||||||
<!-- updated os-subnets.wadl to correct errors reported in bug #1292359 -->
|
|
||||||
<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/netconn-api/src/os-subnets.wadl#Subnets">
|
|
||||||
<wadl:method href="#listSubnets"/>
|
|
||||||
<wadl:method href="#createSubnet"/>
|
|
||||||
<wadl:method href="#bulkCreateSubnet"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-subnets.wadl#subnet_id">
|
|
||||||
<wadl:method href="#showSubnet"/>
|
|
||||||
<wadl:method href="#updateSubnet"/>
|
|
||||||
<wadl:method href="#removeSubnet"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
<section xml:id="ports">
|
|
||||||
<title>Ports</title>
|
|
||||||
<para>List, show information for, create, update, and delete
|
|
||||||
ports.</para>
|
|
||||||
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-ports.wadl"
|
|
||||||
/>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -44,6 +44,20 @@
|
|||||||
</abstract>
|
</abstract>
|
||||||
<revhistory>
|
<revhistory>
|
||||||
<!-- ... continue adding more revisions here as you change this document using the markup shown below... -->
|
<!-- ... continue adding more revisions here as you change this document using the markup shown below... -->
|
||||||
|
<revision>
|
||||||
|
<date>2014-08-08</date>
|
||||||
|
<revdescription>
|
||||||
|
<itemizedlist spacing="compact">
|
||||||
|
<listitem>
|
||||||
|
<para>Removed and replaced WADL references
|
||||||
|
with links to <link
|
||||||
|
xlink:href="http://developer.openstack.org/api-ref-networking-v2.0.html"
|
||||||
|
><citetitle>Networking API v2.0
|
||||||
|
(CURRENT)</citetitle></link>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</revdescription>
|
||||||
|
</revision>
|
||||||
<revision>
|
<revision>
|
||||||
<date>2014-06-29</date>
|
<date>2014-06-29</date>
|
||||||
<revdescription>
|
<revdescription>
|
||||||
@ -136,6 +150,19 @@
|
|||||||
<xi:include href="ch_neutron_preface.xml"/>
|
<xi:include href="ch_neutron_preface.xml"/>
|
||||||
<xi:include href="ch_neutron_overview.xml"/>
|
<xi:include href="ch_neutron_overview.xml"/>
|
||||||
<xi:include href="ch_neutron_general_info.xml"/>
|
<xi:include href="ch_neutron_general_info.xml"/>
|
||||||
<xi:include href="ch_neutron_api_operations.xml"/>
|
<chapter xml:id="API_Operations">
|
||||||
<xi:include href="ch_neutron_api_extensions.xml"/>
|
<title>API operations and extensions</title>
|
||||||
|
<para>Provides virtual networking services among devices that are
|
||||||
|
managed by the OpenStack Compute service. The Networking API
|
||||||
|
v2.0 combines the API v1.1 functionality with some essential
|
||||||
|
Internet Protocol Address Management (IPAM)
|
||||||
|
functionality.</para>
|
||||||
|
<para>Enables users to associate IP address blocks and other
|
||||||
|
network configuration settings with a neutron network. You
|
||||||
|
can choose a specific IP address from the block or let the
|
||||||
|
service choose the first available IP address.</para>
|
||||||
|
<para>For information about Networking API operations, see <link
|
||||||
|
xlink:href="http://developer.openstack.org/api-ref-networking-v2.0.html"
|
||||||
|
><citetitle>Networking API v2.0 (CURRENT)</citetitle></link>.</para>
|
||||||
|
</chapter>
|
||||||
</book>
|
</book>
|
||||||
|
@ -1,249 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="agent_ext">
|
|
||||||
<title>Agent management</title>
|
|
||||||
<para>In a typical OpenStack Networking deployment, some agents
|
|
||||||
run on network or compute nodes, such as
|
|
||||||
<literal>neutron-dhcp-agent</literal>,
|
|
||||||
<literal>neutron-ovs-agent</literal>, and
|
|
||||||
<literal>neutron-l3-agent</literal>. This extension
|
|
||||||
enables administrators (enforced by the policy engine) to view
|
|
||||||
status and update attributes for agents. Updating agent
|
|
||||||
management API attributes affects operations of other
|
|
||||||
components, such as OpenStack Networking schedulers. For
|
|
||||||
example, administrators can disable a specified agent so that
|
|
||||||
OpenStack Networking schedulers do not schedule resources to
|
|
||||||
it.</para>
|
|
||||||
<para>For how to use agent management extension and OpenStack
|
|
||||||
Networking schedulers feature, see the <citetitle>OpenStack
|
|
||||||
Cloud Administrator Guide</citetitle>.</para>
|
|
||||||
<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>/agents</td>
|
|
||||||
<td>Lists agents that report their status to OpenStack
|
|
||||||
Networking server.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Shows details for a specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Updates the admin status and description for a
|
|
||||||
specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&DELETE;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Deletes a specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<section xml:id="List_Agents">
|
|
||||||
<title>List agents</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>/agents</td>
|
|
||||||
<td>Lists agents that report their status to
|
|
||||||
OpenStack Networking server.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<para>This operation does not require a request body.</para>
|
|
||||||
<para>This operation returns a response body. The default
|
|
||||||
policy behavior is that non-admin user won't be able to
|
|
||||||
see any agent in the response when this call is
|
|
||||||
invoked</para>
|
|
||||||
<example>
|
|
||||||
<title>List agents: JSON request</title>
|
|
||||||
<programlisting>GET /v2.0/agents HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: c52a1b304fec4ca0ac85dc1741eec6e2</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List agents: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/agents/agents-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Show_Agent">
|
|
||||||
<title>Show agent 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>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Shows details for a specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes:NotFound
|
|
||||||
(<errorcode>404</errorcode>) if not authorized or the
|
|
||||||
agent does not exist</simpara>
|
|
||||||
<para>This operation returns information for the given
|
|
||||||
agent.</para>
|
|
||||||
<para>This operation does not require a request body.</para>
|
|
||||||
<para>This operation returns a response body. The body
|
|
||||||
contents depend on the agent's type.</para>
|
|
||||||
<example>
|
|
||||||
<title>Show agent details: JSON request</title>
|
|
||||||
<programlisting>GET /v2.0/agents/af4567ad-c2e6-4311-944d-22efc12f89af HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: a54d6fdda41341f892150e2aaf648f0d</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Show agent details: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/agents/agents-show-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Update_Agent">
|
|
||||||
<title>Update agent</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>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Updates the admin status and description for a
|
|
||||||
specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: BadRequest
|
|
||||||
(<errorcode>400</errorcode>) if something other than
|
|
||||||
description or admin status is changed, NotFound
|
|
||||||
(<errorcode>404</errorcode>) if not authorized or the
|
|
||||||
agent does not exist</simpara>
|
|
||||||
<para>This operation updates the agent's admin status and
|
|
||||||
description.</para>
|
|
||||||
<para>This operation requires a request body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Update agent: JSON request</title>
|
|
||||||
<programlisting>PUT /v2.0/agents/af4567ad-c2e6-4311-944d-22efc12f89af HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 4cbb09e780434b249ff596d6979fd8fc
|
|
||||||
Content-Length: 38<xi:include href="samples/agents/agents-put-req.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Update agents: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/agents/agents-put-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section xml:id="Delete_Agent">
|
|
||||||
<title>Delete agent</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>/agents/<parameter>agent_id</parameter></td>
|
|
||||||
<td>Deletes a specified agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal Response Code: <returnvalue>204</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error Response Codes: NotFound
|
|
||||||
(<errorcode>404</errorcode>) if not authorized or the
|
|
||||||
agent does not exist</simpara>
|
|
||||||
<para>This operation deletes the agent.</para>
|
|
||||||
<para>This operation does not require a request body.</para>
|
|
||||||
<para>This operation does not return a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Delete agent: JSON request</title>
|
|
||||||
<programlisting>DELETE /v2.0/agents/44002aeb-2817-4cb8-9306-34308b4b40d9 HTTP/1.1
|
|
||||||
Host: controlnode:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 4cbb09e780434b249ff596d6979fd8fc</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Delete agent: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/agents/agents-delete-res-json-http.txt" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,662 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="agent_sche_ext">
|
|
||||||
<title>Agent schedulers</title>
|
|
||||||
<para>The agent scheduler extensions schedule resources among
|
|
||||||
agents on top of the <xref linkend="agent_ext"/>.</para>
|
|
||||||
<para>The agent scheduler feature consist of several agent
|
|
||||||
scheduler extensions. In Havana, the following extensions are
|
|
||||||
available.</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>DHCP agent scheduler
|
|
||||||
(<literal>dhcp_agent_scheduler</literal>)</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>L3 agent scheduler
|
|
||||||
(<literal>l3_agent_scheduler</literal>)</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>load balancer agent scheduler
|
|
||||||
(<literal>lbaas_agent_scheduler</literal>)</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>In Grizzly, the DHCP agent scheduler and the L3 agent
|
|
||||||
scheduler features are provided by a single extension named
|
|
||||||
the agent scheduler (<literal>agent_scheduler</literal>). In
|
|
||||||
Havana, this extension is split into the DHCP agent scheduler
|
|
||||||
and the L3 agent scheduler extensions. The load balancer agent
|
|
||||||
scheduler extension was introduced in Havana.</para>
|
|
||||||
<section xml:id="Scheduler_DHCP_Agent">
|
|
||||||
<title>DHCP agent scheduler
|
|
||||||
(<literal>dhcp_agent_scheduler</literal>)</title>
|
|
||||||
<para>The DHCP agent scheduler extension enables
|
|
||||||
administrators to assign DHCP servers for Neutron networks
|
|
||||||
to given Neutron DHCP agents, and retrieve mappings
|
|
||||||
between Neutron networks and DHCP agents. This feature is
|
|
||||||
implemented on top of Agent Management extension.</para>
|
|
||||||
<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>/agents/<parameter>agent_id</parameter>/dhcp-networks</td>
|
|
||||||
<td>Lists networks that the specified DHCP agent
|
|
||||||
hosts.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/networks/<parameter>network_id</parameter>/dhcp-agents</td>
|
|
||||||
<td>Lists DHCP agents that host a specified
|
|
||||||
network.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&POST;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter>/dhcp-networks</td>
|
|
||||||
<td>Schedules the network to that the specified
|
|
||||||
DHCP agent.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&DELETE;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter>/dhcp-networks/<parameter>network_id</parameter></td>
|
|
||||||
<td>Removes the network from that the specified
|
|
||||||
DHCP agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<section xml:id="Sche_List_Networks_on_Dhcp_Agent">
|
|
||||||
<title>List networks hosted by a DHCP agent</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>/agents/<parameter>agent_id</parameter>/dhcp-networks</td>
|
|
||||||
<td>Lists networks that the specified DHCP
|
|
||||||
agenthosts.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List networks hosted by on DHCP agent: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>GET /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 797f94caf0a8481c893a232cc0c1dfca</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List networks hosted by DHCP agent: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-network-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Sche_List_DHCP_agents_Hosting_Network">
|
|
||||||
<title>List DHCP agents hosted by network</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>/networks/<parameter>network_id</parameter>/dhcp-agents</td>
|
|
||||||
<td>Lists DHCP agents that hosts a specified
|
|
||||||
network.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List DHCP agents hosted by network: JSON
|
|
||||||
request</title>
|
|
||||||
<para>
|
|
||||||
<programlisting>GET /v2.0/networks/2d627131-c841-4e3a-ace6-f2dd75773b6d/dhcp-agents HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: cc0f378bdf1545fb8dea2120c89eb532
|
|
||||||
|
|
||||||
</programlisting>
|
|
||||||
</para>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List DHCP agents hosted by network: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-dhcp-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="Sche_Network_DHCP">
|
|
||||||
<title>Schedule network to DHCP agent</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>/agents/<parameter>agent_id</parameter>/dhcp-networks</td>
|
|
||||||
<td>Schedules the network to that the
|
|
||||||
specified DHCP agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>201</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>), Conflict
|
|
||||||
(<errorcode>409</errorcode>) if the network is
|
|
||||||
already hosted by that the specified DHCP agent,
|
|
||||||
NotFound(<errorcode>404</errorcode>) when the
|
|
||||||
specified agent is not a valid DHCP agent.</simpara>
|
|
||||||
<para>This operation requires a request body.</para>
|
|
||||||
<para>This operation returns a <literal>null</literal>
|
|
||||||
body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Schedule network: JSON request</title>
|
|
||||||
<programlisting>POST /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: d88f7af21ee34f6c87e23e46cf3f986d
|
|
||||||
Content-Length: 54
|
|
||||||
|
|
||||||
<xi:include href="samples/scheduler/sche-network-dhcp-req.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Schedule network: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-network-dhcp-res-json-http.txt" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Sche_Remove_Network_DHCP">
|
|
||||||
<title>Remove network from DHCP agent</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>/agents/<parameter>agent_id</parameter>/dhcp-networks/<parameter>network_id</parameter></td>
|
|
||||||
<td>Removes the network from that the
|
|
||||||
specified DHCP agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>204</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>), NotFound
|
|
||||||
(<errorcode>404</errorcode>), Conflict
|
|
||||||
(<errorcode>409</errorcode>) if the network is not
|
|
||||||
hosted by that the specified DHCP agent.</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation does not return a response
|
|
||||||
body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Remove network from DHCP agent: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>DELETE /v2.0/agents/d5724d7e-389d-4ba0-8d00-fc673a147bfa/dhcp-networks/1ae075ca-708b-4e66-b4a7-b7698632f05f.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 7ae91cde8f504031be5a2cd5b99d4fe9</programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Scheduler_L3_Agent">
|
|
||||||
<title>L3 agent scheduler
|
|
||||||
(<literal>l3_agent_scheduler</literal>)</title>
|
|
||||||
<para>The L3 agent scheduler extension allows administrators
|
|
||||||
to assign Neutron routers to Neutron L3 agents, and
|
|
||||||
retrieve mappings between Neutron routers and L3 agents.
|
|
||||||
This feature is implemented on top of Agent Management
|
|
||||||
extension.</para>
|
|
||||||
<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>/agents/<parameter>agent_id</parameter>/l3-routers</td>
|
|
||||||
<td>Lists routers that the specified L3 agent
|
|
||||||
hosts.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/routers/<parameter>router_id</parameter>/l3-agents</td>
|
|
||||||
<td>Lists L3 agents that hosts a specified
|
|
||||||
router.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&POST;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter>/l3-routers</td>
|
|
||||||
<td>Schedules the router to that the specified L3
|
|
||||||
agent.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&DELETE;</td>
|
|
||||||
<td>/agents/<parameter>agent_id</parameter>/l3-routers/<parameter>router_id</parameter></td>
|
|
||||||
<td>Removes the router from that the specified L3
|
|
||||||
agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<section xml:id="Sche_List_Routers_on_L3_Agent">
|
|
||||||
<title>List routers hosted by an L3 agent</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>/agents/<parameter>agent_id</parameter>/l3-routers</td>
|
|
||||||
<td>Lists routers that the specified L3 agent
|
|
||||||
hosts.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List routers hosted by L3 agent: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>GET /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11
|
|
||||||
|
|
||||||
</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List routers hosted by L3 agent: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-router-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="Sche_List_L3_agents_Hosting_Router">
|
|
||||||
<title>List L3 agents hosted by router</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>/routers/<parameter>router_id</parameter>/l3-agents</td>
|
|
||||||
<td>Lists L3 agents that hosts a specified
|
|
||||||
router.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List L3 agents hosted by router: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>GET /v2.0/routers/8eef2388-f27d-4a17-986e-9319a77ccd9d/l3-agents.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: bce63afb1e794c70972a19a7c2d6dcab</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List L3 agents hosted by router: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-l3-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section xml:id="Sche_Router_L3">
|
|
||||||
<title>Schedule router to L3 agent</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>/agents/<parameter>agent_id</parameter>/l3-routers</td>
|
|
||||||
<td>Schedules one router to that the specified
|
|
||||||
L3 agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>201</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>), Conflict
|
|
||||||
(<errorcode>409</errorcode>) if the router is
|
|
||||||
already hosted, NotFound (<errorcode>404</errorcode>)
|
|
||||||
if the specified agent is not a valid L3
|
|
||||||
agent.</simpara>
|
|
||||||
<para>This operation requires a request body.</para>
|
|
||||||
<para>This operation returns a <literal>null</literal>
|
|
||||||
body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Schedule router: JSON request</title>
|
|
||||||
<programlisting>POST /v2.0/agents/fa24e88e-3d2f-4fc2-b038-5fb5be294c03/l3-routers.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: d88f7af21ee34f6c87e23e46cf3f986d
|
|
||||||
Content-Length: 54
|
|
||||||
|
|
||||||
<xi:include href="samples/scheduler/sche-router-l3-req.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Schedule router: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-router-l3-res-json-http.txt" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Sche_Remove_Router_L3">
|
|
||||||
<title>Remove router from L3 agent</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>/agents/<parameter>agent_id</parameter>/l3-routers/<parameter>router_id</parameter></td>
|
|
||||||
<td>Removes the router from that the specified
|
|
||||||
L3 agent.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>204</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>), Conflict
|
|
||||||
(<errorcode>409</errorcode>) if the router is not
|
|
||||||
hosted by that the specified L3 agent.</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation does not return a response
|
|
||||||
body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Remove router from L3 agent: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>DELETE /v2.0/agents/b7d7ba43-1a05-4b09-ba07-67242d4a98f4/l3-routers/8eef2388-f27d-4a17-986e-9319a77ccd9d.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 2147ef6fe4444f0299b1c0b6b529ff47</programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Scheduler_LBaaS_Agent">
|
|
||||||
<title>Load balancer agent scheduler
|
|
||||||
(<literal>lbaas_agent_scheduler</literal>)</title>
|
|
||||||
<para>The LBaaS agent scheduler extension allows
|
|
||||||
administrators to retrieve mappings between load balancer
|
|
||||||
pools to LBaaS agents. In Havana, this extension does not
|
|
||||||
provide an ability to assign load balancer pool to
|
|
||||||
specific LBaaS agent. Pools are scheduled automatically
|
|
||||||
when created. This feature is implemented on top of Agent
|
|
||||||
Management extension. The load balancer agent scheduler
|
|
||||||
extension was introduced in Havana.</para>
|
|
||||||
<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>/agents/<parameter>agent_id</parameter>/loadbalancer-pools</td>
|
|
||||||
<td>Lists pools that the specified LBaaS agent
|
|
||||||
hosts.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/lb/pools/<parameter>pool_id</parameter>/loadbalancer-agent</td>
|
|
||||||
<td>Shows an LBaaS agent that hosts a specified
|
|
||||||
pool.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<section xml:id="Sche_List_Pools_on_LBaaS_Agent">
|
|
||||||
<title>List pools hosted by an LBaaS agent</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>/agents/<parameter>agent_id</parameter>/loadbalancer-pools</td>
|
|
||||||
<td>Lists pools that the specified LBaaS agent
|
|
||||||
hosts.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>List pools hosted by LBaaS agent: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>GET /v2.0/agents/6ee1df7f-bae4-4ee9-910a-d33b000773b0/loadbalancer-pools.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: 6eeea6e73b68415f85d8368902a32c11</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List pools hosted by LBaaS agent: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-pool-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Sche_List_LBaaS_agents_Hosting_Pool">
|
|
||||||
<title>Show LBaaS agent that hosts pool</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>/lb/pools/<parameter>pool_id</parameter>/loadbalancer-agent</td>
|
|
||||||
<td>Shows an LBaaS agent that hosts a
|
|
||||||
specified pool.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<simpara>Normal response Code:
|
|
||||||
<returnvalue>200</returnvalue>
|
|
||||||
</simpara>
|
|
||||||
<simpara>Error response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Forbidden
|
|
||||||
(<errorcode>403</errorcode>)</simpara>
|
|
||||||
<para>This operation does not require a request
|
|
||||||
body.</para>
|
|
||||||
<para>This operation returns a response body.</para>
|
|
||||||
<example>
|
|
||||||
<title>Show LBaaS agent that hosts pool: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting>GET /v2.0/lb/pools/28296abb-e675-4288-9cd0-6c112c720db0/loadbalancer-agent.json HTTP/1.1
|
|
||||||
Host: localhost:9696
|
|
||||||
User-Agent: python-neutronclient
|
|
||||||
Content-Type: application/json
|
|
||||||
Accept: application/json
|
|
||||||
X-Auth-Token: bce63afb1e794c70972a19a7c2d6dcab</programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Show LBaaS agent that hosts pool: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/scheduler/sche-lbaas-agent-list-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,169 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE book[
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<section xml:id="allowed_address_pair_ext"
|
|
||||||
xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
||||||
<title>Allowed address pairs</title>
|
|
||||||
<para>The allowed address pair extension extends the port
|
|
||||||
attribute to enable you to specify arbitrary
|
|
||||||
mac_address/ip_address(cidr) pairs that are allowed to pass
|
|
||||||
through a port regardless of the subnet associated with the
|
|
||||||
network.</para>
|
|
||||||
<section xml:id="allowed_address_pair_ext_port_list">
|
|
||||||
<title>List ports</title>
|
|
||||||
<para>
|
|
||||||
<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>/ports</td>
|
|
||||||
<td>Lists ports with their allowed address
|
|
||||||
pair attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: 200 OK</para>
|
|
||||||
<para>Error Response Codes: 401 Unauthorized</para>
|
|
||||||
<para>This operation returns, for each port, its allowed
|
|
||||||
address pair attributes as well as all the attributes
|
|
||||||
normally returned by the list port operation.</para>
|
|
||||||
<example>
|
|
||||||
<title>List ports with allowed address pair attributes:
|
|
||||||
JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-get-res-addr-pairs.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>List ports with allowed address pair attributes:
|
|
||||||
XML response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-get-res-addr-pairs.xml" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="allowed_address_pair_port_show">
|
|
||||||
<title>Show port details</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
|
||||||
<td>Shows details about a specified port,
|
|
||||||
including allowed address pair
|
|
||||||
attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: 200 OK</para>
|
|
||||||
<para>Error Response Code: 401 Unauthorized, 404 Not
|
|
||||||
Found</para>
|
|
||||||
<example>
|
|
||||||
<title>Show port with allowed address pair attributes:
|
|
||||||
JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-show-addr-pair.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Show port with allowed address pair attributes: XML
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-show-addr-pair.xml" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="allowed_address_pair_port_create">
|
|
||||||
<title>Create port</title>
|
|
||||||
<para>
|
|
||||||
<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>/ports</td>
|
|
||||||
<td>Creates a port and explicitly specifies
|
|
||||||
the allowed address pair attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: 201</para>
|
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized,
|
|
||||||
403 Forbidden</para>
|
|
||||||
<para>Bad request is returned if an allowed address pair
|
|
||||||
matches the mac_address and ip_address on port.</para>
|
|
||||||
<para>Note: If the mac_address field is left out of the body
|
|
||||||
of the request the mac_address assigned to the port will
|
|
||||||
be used.</para>
|
|
||||||
<example>
|
|
||||||
<title>Create port with allowed address pair attributes:
|
|
||||||
JSON request</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-post-req-addr-pairs.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="allowed_address_pair_port_update">
|
|
||||||
<title>Update port</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
|
||||||
<td>Updates a port, with new allowed address
|
|
||||||
pair values.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: 200 OK</para>
|
|
||||||
<para>Error Response Code: 400 Bad Request, 401 Unauthorized,
|
|
||||||
404 Not Found, 403 Forbidden</para>
|
|
||||||
<example>
|
|
||||||
<title>Update allowed address pair attributes for a port:
|
|
||||||
JSON request</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/address-pairs/ports-put-req-addr-pair.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,161 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE book[
|
|
||||||
<!-- Some useful entities borrowed from HTML -->
|
|
||||||
<!ENTITY ndash "–">
|
|
||||||
<!ENTITY mdash "—">
|
|
||||||
<!ENTITY hellip "…">
|
|
||||||
<!ENTITY plusmn "±">
|
|
||||||
<!-- 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 APIv2 'Networking API v2.0'>
|
|
||||||
]>
|
|
||||||
<section xml:id="binding_ext_ports"
|
|
||||||
xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
||||||
<title>Ports binding extended attributes (ports)</title>
|
|
||||||
<para>Use the &APIv2; with the <parameter>binding</parameter>
|
|
||||||
extended attributes to get information about, create, and
|
|
||||||
update port objects.</para>
|
|
||||||
<para>The <parameter>binding</parameter>-prefixed extended
|
|
||||||
attributes for ports are:</para>
|
|
||||||
<table rules="all" width="95%">
|
|
||||||
<caption>Ports binding extended attributes</caption>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="20%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>CRUD<footnote xml:id="crud_network">
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>C</emphasis>. Use the attribute in
|
|
||||||
create operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>R</emphasis>. This attribute is
|
|
||||||
returned in response to show and
|
|
||||||
list operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>U</emphasis>. You can update the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>D</emphasis>. You can delete the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</footnote></th>
|
|
||||||
<th>Default value</th>
|
|
||||||
<th>Validation constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td><para><parameter>binding:vnic_type</parameter></para></td>
|
|
||||||
<td><para>String</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>CRU</para></td>
|
|
||||||
<td><para>normal</para></td>
|
|
||||||
<td><para>(normal, direct, macvtap)</para></td>
|
|
||||||
<td><para>The vnic type to be bound on the neutron
|
|
||||||
port.</para>
|
|
||||||
<para>In &POST; and &PUT; operations, specify a
|
|
||||||
value of <literal>normal</literal> (virtual
|
|
||||||
nic), <literal>direct</literal> (pci
|
|
||||||
passthrough), or <literal>macvtap</literal>
|
|
||||||
(virtual interface with a tap-like software
|
|
||||||
interface). These values support SR-IOV PCI
|
|
||||||
passthrough networking. The ML2 plug-in
|
|
||||||
supports the
|
|
||||||
<parameter>vnic_type</parameter>.</para>
|
|
||||||
<para>In &GET; operations, the
|
|
||||||
<parameter>binding:vnic_type</parameter>
|
|
||||||
extended attribute is visible to only port
|
|
||||||
owners and administrative users.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><para><parameter>binding:vif_type</parameter></para></td>
|
|
||||||
<td><para>String</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>R</para></td>
|
|
||||||
<td><para>None</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>Read-only. The vif type for the specified
|
|
||||||
port.</para>
|
|
||||||
<para>Visible to only administrative users.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<para><parameter>binding:vif_details</parameter></para></td>
|
|
||||||
<td><para>list(dict)</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>R</para></td>
|
|
||||||
<td><para>None</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>Read-only. A dictionary that enables the
|
|
||||||
application to pass information about
|
|
||||||
functions that &APIv2; provides. Specify the
|
|
||||||
following value: <code>port_filter :
|
|
||||||
Boolean</code> to define whether &APIv2;
|
|
||||||
provides port filtering features such as
|
|
||||||
security group and anti-MAC/IP
|
|
||||||
spoofing.</para>
|
|
||||||
<para>Visible to only administrative
|
|
||||||
users.</para></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><para><parameter>binding:host_id</parameter></para></td>
|
|
||||||
<td><para>uuid-str</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>CRU</para></td>
|
|
||||||
<td><para>None</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>The ID of the host where the port is
|
|
||||||
allocated. In some cases, different
|
|
||||||
implementations can run on different
|
|
||||||
hosts.</para>
|
|
||||||
<para>Visible to only administrative users.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><para><parameter>binding:profile</parameter></para></td>
|
|
||||||
<td><para>list(dict)</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>CRU</para></td>
|
|
||||||
<td><para>None</para></td>
|
|
||||||
<td><para>N/A</para></td>
|
|
||||||
<td><para>A dictionary that enables the application to
|
|
||||||
pass information about functions that the
|
|
||||||
Networking API provides. To enable or disable
|
|
||||||
port filtering features such as security group
|
|
||||||
and anti-MAC/IP spoofing, specify
|
|
||||||
<code>port_filter: True</code> or
|
|
||||||
<code>port_filter: False</code>.</para>
|
|
||||||
<para>Visible to only administrative users.</para>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<wadl:resources
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-ports-binding-ext.wadl"
|
|
||||||
xmlns:wadl="http://wadl.dev.java.net/2009/02"/>
|
|
||||||
</section>
|
|
@ -1,222 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section[
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="extgwmodes-ext">
|
|
||||||
<title>Configurable external gateway modes</title>
|
|
||||||
<para>By default, when a gateway is attached to a router using the
|
|
||||||
Neutron L3 extension, Network Address Translation (NAT) is
|
|
||||||
enabled for traffic generated by subnets attached to the
|
|
||||||
router. With this extension, the user will have the option of
|
|
||||||
choosing whether SNAT should be enabled or not on a router
|
|
||||||
basis.</para>
|
|
||||||
<para>This is achieved simply by specifying a boolean attribute,
|
|
||||||
<literal>enable_snat</literal>, in the
|
|
||||||
<literal>external_gateway_info</literal> attribute of the
|
|
||||||
<literal>router</literal> resource.</para>
|
|
||||||
<para>This extension redefines the external_gateway_info
|
|
||||||
attribute:</para>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>external_gateway_info attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="32%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>Default Value</th>
|
|
||||||
<th>Validation Constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>network_id</td>
|
|
||||||
<td>UUID</td>
|
|
||||||
<td>Yes</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Must be a valid uuid representative of an external
|
|
||||||
network.</td>
|
|
||||||
<td/>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>enable_snat</td>
|
|
||||||
<td>Boolean</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>True</td>
|
|
||||||
<td>{True|False}</td>
|
|
||||||
<td>The default setting is <literal>True</literal> to
|
|
||||||
ensure backward compatibility for plugins
|
|
||||||
supporting this extension.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<para>SNAT can be enabled or disabled at any time on a Neutron
|
|
||||||
router regardless of the current status of floating IPs.
|
|
||||||
Floating IPs will continue working even when SNAT is
|
|
||||||
disabled.</para>
|
|
||||||
<section xml:id="list_routers_extgwmodes">
|
|
||||||
<title>List routers</title>
|
|
||||||
<para>
|
|
||||||
<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>/routers</td>
|
|
||||||
<td>Lists neutron routers.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<simpara>Success and error response codes are not changed with
|
|
||||||
regards to the operation as introduced by the L3 API
|
|
||||||
extension.</simpara>
|
|
||||||
<simpara>When this extension is enabled, this operation also
|
|
||||||
returns the current Source NAT status for configured
|
|
||||||
routers, as follows.</simpara>
|
|
||||||
<simpara>The response for the <emphasis>show router</emphasis>
|
|
||||||
operation is the same, with the obvious exception that a
|
|
||||||
single router is returned.</simpara>
|
|
||||||
<example>
|
|
||||||
<title>Router list with configurable external gateway
|
|
||||||
modes enabled</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/routers-get-enablesnat-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="create_router_extgwmodes">
|
|
||||||
<title>Create router with external gateway</title>
|
|
||||||
<para>
|
|
||||||
<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>/routers</td>
|
|
||||||
<td>Create a new Neutron router</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Success and error response codes are not changed with
|
|
||||||
regards to the operation as introduced by the L3 API
|
|
||||||
extension.</para>
|
|
||||||
<para>Neutron API users can specify whether SNAT should be
|
|
||||||
performed on the network specified as the router's
|
|
||||||
external gateway by setting <literal>enable_snat</literal>
|
|
||||||
in <literal>external_gateway_info</literal> to either
|
|
||||||
<literal>True</literal> or <literal>False</literal>;
|
|
||||||
the default value is <literal>True</literal>.</para>
|
|
||||||
<example>
|
|
||||||
<title>Create router with SNAT disabled</title>
|
|
||||||
<programlisting language="bash"><xi:include href="samples/external-gateway/router-create-enablesnat-json-http.txt" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="update_router_extgwmodes">
|
|
||||||
<title>Update external gateway information for router</title>
|
|
||||||
<para>
|
|
||||||
<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>/routers/<literal>router_id</literal></td>
|
|
||||||
<td>Creates a neutron router.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Success and error response codes are not changed with
|
|
||||||
regards to the operation as introduced by the L3 API
|
|
||||||
extension.</para>
|
|
||||||
<para>Neutron API users can enable or disable SNAT on a router
|
|
||||||
specifying the <literal>enable_snat</literal> attribute in
|
|
||||||
the <literal>external_gateway_info</literal> attribute for
|
|
||||||
the router resource. This operation can be either used for
|
|
||||||
updating the SNAT status only, the external network, or
|
|
||||||
both attributes at the same time. In any case, if the
|
|
||||||
<literal>enable_snat</literal> attribute is not
|
|
||||||
specified, it will default to <literal>True</literal>. For
|
|
||||||
instance, if the current SNAT status is disabled, and the
|
|
||||||
router's gateway is updated to a different external
|
|
||||||
network without specifying <literal>enable_snat</literal>,
|
|
||||||
SNAT will be enabled for the new network.</para>
|
|
||||||
<para>It is important to note that whenever updating a
|
|
||||||
router's external gateway information, the
|
|
||||||
<literal>network_id</literal>parameter must be
|
|
||||||
specified always, even if the final goal is just to enable
|
|
||||||
or disable SNAT for the router on the same external
|
|
||||||
network.</para>
|
|
||||||
<para>The rest of this section provides some samples for
|
|
||||||
updating a router's external gateway info with SNAT
|
|
||||||
mode.</para>
|
|
||||||
<para>
|
|
||||||
<example>
|
|
||||||
<title>Disable SNAT for the current external
|
|
||||||
network</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-1.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-1b.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-1c.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-1d.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Change external network and enable SNAT</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-2.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-2b.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-2c.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-2d.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Change external network and external-gateway SNAT
|
|
||||||
disabled</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-3.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-3b.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-3c.json" parse="text"/></programlisting>
|
|
||||||
<programlisting language="json"><xi:include href="samples/external-gateway/router-update-enablesnat-3d.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</para>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,217 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE book[
|
|
||||||
<!-- 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 APIv2 'Networking API v2.0'>
|
|
||||||
]>
|
|
||||||
<section xml:id="external_net" xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
||||||
<title>External networks (<literal>external-net</literal>)</title>
|
|
||||||
<para>The external network extension is used to specify whether
|
|
||||||
the network is external or not. This information is used by
|
|
||||||
Layer-3 network (<literal>router</literal>) extension.
|
|
||||||
External networks are connected to a router's external gateway
|
|
||||||
and host floating IPs.</para>
|
|
||||||
<para>The external network extension adds the <emphasis
|
|
||||||
role="italic">router:external</emphasis> attribute to the
|
|
||||||
network resource.</para>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Network Attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="7%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="25%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>CRUD<footnote xml:id="crud_ext_net">
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>C</emphasis>. Use the attribute in
|
|
||||||
create operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>R</emphasis>. This attribute is
|
|
||||||
returned in response to show and
|
|
||||||
list operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>U</emphasis>. You can update the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>D</emphasis>. You can delete the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</footnote></th>
|
|
||||||
<th>Default Value</th>
|
|
||||||
<th>Validation Constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>router:external</td>
|
|
||||||
<td>Bool</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>False</td>
|
|
||||||
<td>{ True | False }</td>
|
|
||||||
<td>Specifies whether the network is an external
|
|
||||||
network or not.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<section xml:id="external_network_list">
|
|
||||||
<title>List networks</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>/networks</td>
|
|
||||||
<td>Returns a list of networks with their
|
|
||||||
router:external attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>Response codes are same as the normal operation of
|
|
||||||
listing networks. <emphasis role="italic"
|
|
||||||
>router:external</emphasis> attribute is visible to
|
|
||||||
all users by default policy setting.</para>
|
|
||||||
<para>Regular users are not authorized to create ports on
|
|
||||||
external networks, however they will be able to see this
|
|
||||||
attribute in their network list. This is because external
|
|
||||||
networks can be used by any tenant to set an external
|
|
||||||
gateway for Neutron routers or create floating IPs and
|
|
||||||
associate them with ports on internal tenant
|
|
||||||
networks.</para>
|
|
||||||
<example>
|
|
||||||
<title>List networks with router:external attribute: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extnet/networks-get-res-extnet.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="external_network_show">
|
|
||||||
<title>Show network details</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/networks/<parameter>network_id</parameter></td>
|
|
||||||
<td>Returns details about a specific network,
|
|
||||||
including external networks attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>Response codes are same as the normal operation of
|
|
||||||
listing networks. <emphasis role="italic"
|
|
||||||
>router:external</emphasis> attribute is visible to
|
|
||||||
all users including non-admin by default policy
|
|
||||||
setting.</para>
|
|
||||||
<example>
|
|
||||||
<title>Show network with external attributes: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extnet/networks-show-res-extnet.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="external_network_create">
|
|
||||||
<title>Create network</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>/networks</td>
|
|
||||||
<td>Creates a new network using the external
|
|
||||||
network extension attribute.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>If the user submitting the request is not allowed to set
|
|
||||||
this attribute, a 403 Forbidden response will be returned.
|
|
||||||
Usage of this attribute might be restricted through
|
|
||||||
authorization policies. By the default policy only admin
|
|
||||||
users can set this attribute.</para>
|
|
||||||
<example>
|
|
||||||
<title>Create network with external attributes: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extnet/networks-post-req-extnet.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="external_network_update">
|
|
||||||
<title>Update network</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/networks/<parameter>network_id</parameter></td>
|
|
||||||
<td>Updates a network, including the external
|
|
||||||
network extension attribute.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>If the user submitting the request is not allowed to set
|
|
||||||
this attribute, a 403 Forbidden response will be returned.
|
|
||||||
Usage of this attribute might be restricted through
|
|
||||||
authorization policies. By the default policy only admin
|
|
||||||
users can set this attribute.</para>
|
|
||||||
<example>
|
|
||||||
<title>Update external attributes for a network: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extnet/networks-put-req-extnet.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,215 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="extra-dhcp-opt-ext">
|
|
||||||
<title>Extra DHCP options
|
|
||||||
(<literal>extra-dhcp-opt</literal>)</title>
|
|
||||||
<para>The DHCP options extension allows adding DHCP options that
|
|
||||||
are associated to a Neutron port. They are tagged such that
|
|
||||||
they can be associated from the hosts file to designate a
|
|
||||||
specific network interface and port. The DHCP tag scheme used
|
|
||||||
to associate options to the host files is the port_id (UUID -
|
|
||||||
in the form of <literal>8-4-4-4-12</literal> for a total of 36
|
|
||||||
characters), these associate options to a Neutron port and its
|
|
||||||
network. The Dynamic Host Configuration Protocol (DHCP)
|
|
||||||
provides a framework for passing configuration information to
|
|
||||||
hosts on a TCP/IP network. Configuration parameters and other
|
|
||||||
information are carried in tagged data items that are stored
|
|
||||||
in the 'options' field of the DHCP message.</para>
|
|
||||||
<para>You can specify a DHCP options when defining or updating a
|
|
||||||
port by specifying the extra_dhcp_opts tag and providing its
|
|
||||||
options as name value pairs, such as,
|
|
||||||
opt_name='bootfile-name', opt_value='pxelinux.0'.</para>
|
|
||||||
<section xml:id="extra_dhcp_opt-concepts">
|
|
||||||
<title>Concepts</title>
|
|
||||||
<para>The <literal>extra-dhcp-opt</literal> extension is an
|
|
||||||
attribute extension which adds the following set of
|
|
||||||
attributes to the <emphasis role="bold">port</emphasis>
|
|
||||||
resource:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="italic">
|
|
||||||
extra-dhcp-opt:opt_name</emphasis> - Specified
|
|
||||||
the DHCP option that this is defined as mapped to
|
|
||||||
this port resource. Examples are
|
|
||||||
<literal>bootfile-name</literal>,
|
|
||||||
<literal>server-ip-address</literal>,
|
|
||||||
<literal>tftp-server</literal>, etc..</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="italic">
|
|
||||||
extra-dhcp-opt:opt_value</emphasis> -
|
|
||||||
Identifies the value associated with the opt_name.
|
|
||||||
These are handled in opt_name, opt_value pairs
|
|
||||||
only. value_opt can be any text string depending
|
|
||||||
upon the name.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>The actual semantics of
|
|
||||||
<literal>extra-dhcp-opt</literal> attributes depend on
|
|
||||||
the name of the dhcp option being used that defines the
|
|
||||||
vendor extension to DHCP. For example reference RFC:
|
|
||||||
http://tools.ietf.org/html/rfc2132, contains specific
|
|
||||||
detail on BOOTP Vendor Extensions.</para>
|
|
||||||
</section>
|
|
||||||
<section xml:id="extra-dhcp-opts-ext-list">
|
|
||||||
<title>List ports</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>/ports</td>
|
|
||||||
<td>Lists ports with attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>Normal response Code: 200 OK</para>
|
|
||||||
<para>Error response Codes: 401 Unauthorized</para>
|
|
||||||
<para>This operation returns all the ports defined in Neutron
|
|
||||||
that to which this user has access.</para>
|
|
||||||
<example>
|
|
||||||
<title>List ports with extra_dhcp_opts: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-get-res-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="extra-dhcp-opts-ext-show">
|
|
||||||
<title>Show port details</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&GET;</td>
|
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
|
||||||
<td>Shows details about a specified port,
|
|
||||||
including <literal>extra-dhcp-opt</literal>
|
|
||||||
attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para>Normal response Code: 200 OK</para>
|
|
||||||
<para>Error response Code: 401 Unauthorized, 404 Not
|
|
||||||
Found</para>
|
|
||||||
<para>This operation returns, for the port specified in the
|
|
||||||
request URI, its port attributes, including the
|
|
||||||
extra_dhcp_opts attributes.</para>
|
|
||||||
<example>
|
|
||||||
<title>Show port details with extra-dhcp-opt attributes:
|
|
||||||
JSON response</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-show-res-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="extra-dhcp-opt-ext-create">
|
|
||||||
<title>Create port</title>
|
|
||||||
<para>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&POST;</td>
|
|
||||||
<td>/ports</td>
|
|
||||||
<td>Creates a port and explicitly specifies
|
|
||||||
attributes with the
|
|
||||||
<literal>extra-dhcp-opt</literal>
|
|
||||||
extension attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal response Code: 200 OK</para>
|
|
||||||
<para>Error response Code: 401 Unauthorized.</para>
|
|
||||||
<para>This operation returns, for the port specified in the
|
|
||||||
request URI, its port attributes, including the
|
|
||||||
extra_dhcp_opts attributes.</para>
|
|
||||||
<example>
|
|
||||||
<title>Create port with extra-dhcp-opt attributes: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-create-req-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Create port with extra-dhcp-opt attributes: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-create-res-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<section xml:id="extra-dhc-opt-ext-update">
|
|
||||||
<title>Update port</title>
|
|
||||||
<informaltable rules="all" width="100%">
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="30%"/>
|
|
||||||
<col width="60%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<td>Verb</td>
|
|
||||||
<td>URI</td>
|
|
||||||
<td>Description</td>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>&PUT;</td>
|
|
||||||
<td>/ports/<parameter>port_id</parameter></td>
|
|
||||||
<td>Updates attributes for a port, including
|
|
||||||
extra_dhcp_opts extension attributes.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
<para/>
|
|
||||||
<para>Normal response Code: 200 OK</para>
|
|
||||||
<para>Error response Code: 401 Unauthorized.</para>
|
|
||||||
<para>This operation allow for the updating of attributes for
|
|
||||||
the port specified in the request URI, its port
|
|
||||||
attributes, including the extra_dhcp_opts
|
|
||||||
attributes.</para>
|
|
||||||
<example>
|
|
||||||
<title>Update port with extra-dhcp-opt attributes: JSON
|
|
||||||
request</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-update-req-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Update port with extra-dhcp-opt attributes: JSON
|
|
||||||
response</title>
|
|
||||||
<programlisting language="json"><?db-font-size 75%?><xi:include href="samples/dhcp/port-update-res-edo.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,137 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!-- 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>'>
|
|
||||||
]>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="extraroute-ext">
|
|
||||||
<title>Extra routes</title>
|
|
||||||
<para>This extension adds extra routes to the
|
|
||||||
<literal>router</literal> resource.</para>
|
|
||||||
<para>You can specify a set of nexthop IPs and destination
|
|
||||||
CIDRs.</para>
|
|
||||||
<note>
|
|
||||||
<para>The nexthop IP must be a part of one of the subnets to
|
|
||||||
which the router interfaces are connected. You can
|
|
||||||
configure the <literal>routes</literal> attribute on only
|
|
||||||
update operations.</para>
|
|
||||||
</note>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Router attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="7%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="25%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>CRUD<footnote xml:id="crud_extraroute">
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>C</emphasis>. Use the attribute in
|
|
||||||
create operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>R</emphasis>. This attribute is
|
|
||||||
returned in response to show and
|
|
||||||
list operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>U</emphasis>. You can update the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>D</emphasis>. You can delete the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</footnote></th>
|
|
||||||
<th>Default Value</th>
|
|
||||||
<th>Validation Constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>routes</td>
|
|
||||||
<td>list of dict</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>U</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>List should be in this form.
|
|
||||||
[{'nexthop':IPAddress, 'destination':CIDR}]</td>
|
|
||||||
<td>Extra route configuration</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<section xml:id="update_extra_route">
|
|
||||||
<title>Update extra route</title>
|
|
||||||
<para>
|
|
||||||
<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>/routers/<parameter>router_id</parameter></td>
|
|
||||||
<td>Updates logical router with
|
|
||||||
<literal>routes</literal>
|
|
||||||
attribute.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
<para>Normal Response Code: <returnvalue>200</returnvalue>
|
|
||||||
</para>
|
|
||||||
<simpara>Error Response Codes: Unauthorized
|
|
||||||
(<errorcode>401</errorcode>), Bad Request
|
|
||||||
(<errorcode>400</errorcode>), Not Found
|
|
||||||
(<errorcode>404</errorcode>), Conflict
|
|
||||||
(<errorcode>409</errorcode>)</simpara>
|
|
||||||
<para>This operation configures extra routes on the router.
|
|
||||||
The nexthop IP must be a part of one of the subnets to
|
|
||||||
which the router interfaces are connected. Otherwise, the
|
|
||||||
server responds with <literal>400 Bad Request</literal>
|
|
||||||
error code. When a validation error is detected, such as a
|
|
||||||
format error of IP address or CIDR, the server responds
|
|
||||||
with <literal>400 Bad Request</literal>. When Networking
|
|
||||||
receives a request to delete the router interface for
|
|
||||||
subnets that are used by one or more routes, it responds
|
|
||||||
with <literal>409 Conflict</literal>.</para>
|
|
||||||
<example>
|
|
||||||
<title>Update routes: JSON request</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extraroute/extraroute-put-req.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
<example>
|
|
||||||
<title>Update routes: JSON response</title>
|
|
||||||
<programlisting language="json"><xi:include href="samples/extraroute/extraroute-put-res.json" parse="text"/></programlisting>
|
|
||||||
</example>
|
|
||||||
</section>
|
|
||||||
<?hard-pagebreak?>
|
|
||||||
</section>
|
|
File diff suppressed because it is too large
Load Diff
@ -1,262 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section xml:id="router_ext" xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
||||||
<title>Layer-3 networking (<literal>router</literal>)</title>
|
|
||||||
<para>The Layer-3 networking extension enables OpenStack
|
|
||||||
Networking API users to route packets between subnets, forward
|
|
||||||
packets from internal networks to external ones, and access
|
|
||||||
instances from external networks through <emphasis
|
|
||||||
role="italic">floating IPs</emphasis>.</para>
|
|
||||||
<para>The OpenStack Networking layer-3 extension defines these
|
|
||||||
resources:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">router</emphasis>. A logical
|
|
||||||
entity that forwards packets across internal subnets
|
|
||||||
and NATs them on external networks through an
|
|
||||||
appropriate external gateway.</para>
|
|
||||||
<para>A router has an interface for each subnet with which
|
|
||||||
it is associated. By default, the IP address of such
|
|
||||||
interface is the subnet's gateway IP. Also, whenever a
|
|
||||||
router is associated with a subnet, a port for that
|
|
||||||
router interface is added to the subnet's
|
|
||||||
network.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">floatingip</emphasis>.
|
|
||||||
Represents an external IP address that is mapped to an
|
|
||||||
OpenStack Networking port and, optionally, a specific
|
|
||||||
IP address on a private OpenStack Networking network.
|
|
||||||
A floating IP enables access to an instance on a
|
|
||||||
private network from an external network. Floating IPs
|
|
||||||
can only be defined on networks where the <emphasis
|
|
||||||
role="italic">router:external</emphasis> attribute
|
|
||||||
(by the external network extension) is set to
|
|
||||||
<literal>True</literal>.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Router attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="7%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="25%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>CRUD<footnote xml:id="crud1">
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>C</emphasis>. Use the attribute in
|
|
||||||
create operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>R</emphasis>. This attribute is
|
|
||||||
returned in response to show and
|
|
||||||
list operations.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>U</emphasis>. You can update the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold"
|
|
||||||
>D</emphasis>. You can delete the
|
|
||||||
value of this attribute.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</footnote></th>
|
|
||||||
<th>Default value</th>
|
|
||||||
<th>Validation constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>R</td>
|
|
||||||
<td>generated</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Unique identifier for the router.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>name</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Human readable name for the router. Does not have
|
|
||||||
to be unique.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>admin_state_up</td>
|
|
||||||
<td>Bool</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>true</td>
|
|
||||||
<td>{true | false }</td>
|
|
||||||
<td>Administrative state of the router.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>status</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>R</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Indicates whether or not a router is currently
|
|
||||||
operational.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>tenant_id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CR</td>
|
|
||||||
<td>Derived from Authentication token</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Owner of the router. Only admin users can specify
|
|
||||||
a tenant identifier other than its own.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>external_gateway_info</td>
|
|
||||||
<td>dict</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>No constraint</td>
|
|
||||||
<td>Information on external gateway for the
|
|
||||||
router.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Floating IP attributes</caption>
|
|
||||||
<col width="20%"/>
|
|
||||||
<col width="8%"/>
|
|
||||||
<col width="10%"/>
|
|
||||||
<col width="7%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="15%"/>
|
|
||||||
<col width="25%"/>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Attribute</th>
|
|
||||||
<th>Type</th>
|
|
||||||
<th>Required</th>
|
|
||||||
<th>CRUD</th>
|
|
||||||
<th>Default value</th>
|
|
||||||
<th>Validation constraints</th>
|
|
||||||
<th>Notes</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>R</td>
|
|
||||||
<td>generated</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Unique identifier for the floating IP
|
|
||||||
instance.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>floating_network_id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>Yes</td>
|
|
||||||
<td>CR</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>UUID Pattern</td>
|
|
||||||
<td>UUID of the external network where the floating IP
|
|
||||||
is to be created.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>port_id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>Yes</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>UUID Pattern</td>
|
|
||||||
<td>UUID of the port on an internal OpenStack
|
|
||||||
Networking network that is associated with the
|
|
||||||
floating IP.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>fixed_ip_address</td>
|
|
||||||
<td>IP Address</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CRU</td>
|
|
||||||
<td>None</td>
|
|
||||||
<td>IP address or null</td>
|
|
||||||
<td>Specific IP address on <literal>port_id</literal>
|
|
||||||
which should be associated with the floating
|
|
||||||
IP.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>floating_ip_address</td>
|
|
||||||
<td>IP Address</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>R</td>
|
|
||||||
<td>Automatically allocated from pool</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Address of the floating IP on the external
|
|
||||||
network.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>tenant_id</td>
|
|
||||||
<td>uuid-str</td>
|
|
||||||
<td>No</td>
|
|
||||||
<td>CR</td>
|
|
||||||
<td>Derived from Authentication token</td>
|
|
||||||
<td>N/A</td>
|
|
||||||
<td>Owner of the floating IP. Only admin users can
|
|
||||||
specify a tenant identifier other than its
|
|
||||||
own.</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<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/netconn-api/src/os-layer3-ext.wadl#Routers">
|
|
||||||
<wadl:method href="#createRouter"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-layer3-ext.wadl#router_id">
|
|
||||||
<wadl:method href="#showRouter"/>
|
|
||||||
<wadl:method href="#updateRouter"/>
|
|
||||||
<wadl:method href="#deleteRouter"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-layer3-ext.wadl#add_router_interface">
|
|
||||||
<wadl:method href="#addRouterInterface"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-layer3-ext.wadl#remove_router_interface">
|
|
||||||
<wadl:method href="#removeRouterInterface"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-layer3-ext.wadl#FloatingIps">
|
|
||||||
<wadl:method href="#createFloatingIp"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-layer3-ext.wadl#floatingip_id">
|
|
||||||
<wadl:method href="#showFloatingIp"/>
|
|
||||||
<wadl:method href="#updateFloatingIp"/>
|
|
||||||
<wadl:method href="#deleteFloatingIp"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,275 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE section [
|
|
||||||
<!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>'>
|
|
||||||
]>
|
|
||||||
<section 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" status="final" xml:id="lbaas_ext">
|
|
||||||
<title>Load-Balancer-as-a-Service (LBaaS)</title>
|
|
||||||
<para>The LBaaS extension enables OpenStack tenants to load-balance their VM traffic.</para>
|
|
||||||
<para>The extension enables you to:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Load-balance client traffic from one network to application services, such as VMs,
|
|
||||||
on the same or a different network.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Load-balance several protocols, such as TCP and HTTP.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Monitor the health of application services.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Support session persistence.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<section xml:id="lbaas_ext_concepts">
|
|
||||||
<title>Concepts</title>
|
|
||||||
<para>This extension introduces these concepts:</para>
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Load balancers</term>
|
|
||||||
<listitem>
|
|
||||||
<para>The primary load-balancing configuration object. Specifies the virtual IP
|
|
||||||
address where client traffic is received.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Pools</term>
|
|
||||||
<listitem>
|
|
||||||
<para>A logical set of devices, such as web servers, that you group together to
|
|
||||||
receive and process traffic.</para>
|
|
||||||
<para>The load-balancing algorithm chooses which member of the pool handles new
|
|
||||||
requests or connections that are received on a listener. Each listener has
|
|
||||||
one default pool.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Listener</term>
|
|
||||||
<listitem>
|
|
||||||
<para>Represents a single listening port. Defines the protocol and can
|
|
||||||
optionally provide TLS termination.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Members</term>
|
|
||||||
<listitem>
|
|
||||||
<para>The application that runs on the back-end server.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Health monitors</term>
|
|
||||||
<listitem>
|
|
||||||
<para>Determines whether or not back-end members of the pool can process a
|
|
||||||
request. A pool can have one health monitor associated with it.</para>
|
|
||||||
<para>The LBaaS extension supports these types of health monitors:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">PING</emphasis>. Uses ICMP to ping the
|
|
||||||
members.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">TCP</emphasis>. Uses TCP to connect to the
|
|
||||||
members.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">HTTP</emphasis>. Sends an HTTP request to
|
|
||||||
the member.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">HTTPS</emphasis>. Sends a secure HTTP
|
|
||||||
request to the member.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>Session persistence</term>
|
|
||||||
<listitem>
|
|
||||||
<para>Forces connections or requests in the same session to be processed by the
|
|
||||||
same member as long as it is active.</para>
|
|
||||||
<para>The LBaaS extension supports these types of persistence:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">SOURCE_IP</emphasis>. All connections that
|
|
||||||
originate from the same source IP address are handled by the same
|
|
||||||
member of the pool.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">HTTP_COOKIE</emphasis>. The load-balancing
|
|
||||||
function creates a cookie on the first request from a client.
|
|
||||||
Subsequent requests that contain the same cookie value are handled
|
|
||||||
by the same member of the pool.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="bold">APP_COOKIE</emphasis>. The load-balancing
|
|
||||||
function relies on a cookie established by the back-end application.
|
|
||||||
All requests with the same cookie value are handled by the same
|
|
||||||
member of the pool.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>Absence of <code>session_persistence</code> attribute means no session
|
|
||||||
persistence mechanism is used.</para>
|
|
||||||
<para>When no session persistence is used, the <code>session_persistence</code>
|
|
||||||
attribute does not appear in the API response and instead returns
|
|
||||||
null.</para>
|
|
||||||
<para>You can clear session persistence by sending <code>null</code> in
|
|
||||||
<code>session_persistence</code> attribute in a listener update
|
|
||||||
request.</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
</section>
|
|
||||||
<section xml:id="lbaas_ext_flow">
|
|
||||||
<title>Use the LBaaS extension to configure load balancing</title>
|
|
||||||
<para>You must complete these high-level tasks:</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To use the LBaaS extension to configure load balancing</title>
|
|
||||||
<step>
|
|
||||||
<para>Create a pool, which is initially empty.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create one or more members in the pool.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create a health monitor.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Associate the health monitor with the pool.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create a load balancer object.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create a listener.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Associate the listener with the load balancer.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Associate the pool with the listener.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Optional. If you use HTTPS termination, complete these tasks:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Add the TLS certificate, key, and optional chain to Barbican.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Associate the Barbican container with the listener.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Optional. If you use layer-7 HTTP switching, complete these tasks:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Create any additional pools, members, and health monitors that are
|
|
||||||
used as non-default pools.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create a layer-7 policy that associates the listener with the
|
|
||||||
non-default pool.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create rules for the layer-7 policy that describe the logic that
|
|
||||||
selects the non-default pool for servicing some requests.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="lbaas_ext_ops_loadbalancer">
|
|
||||||
<title>Load balancers</title>
|
|
||||||
<para>Use the LBaas extension to create and manage load balancers.</para>
|
|
||||||
<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/netconn-api/src/os-lbaas-ext.wadl#loadbalancers">
|
|
||||||
<wadl:method href="#createLoadBalancer"/>
|
|
||||||
<wadl:method href="#listLoadBalancers"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-lbaas-ext.wadl#lb_id">
|
|
||||||
<wadl:method href="#showLoadBalancer"/>
|
|
||||||
<wadl:method href="#updateLoadBalancer"/>
|
|
||||||
<wadl:method href="#deleteLoadBalancer"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
<!-- end of loadbalancer section-->
|
|
||||||
<section xml:id="lbaas_ext_ops_listener">
|
|
||||||
<title>Listeners</title>
|
|
||||||
<para>Use the LBaas extension to create and manage load-balancer listeners.</para>
|
|
||||||
<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/netconn-api/src/os-lbaas-ext.wadl#Listeners">
|
|
||||||
<wadl:method href="#createListener"/>
|
|
||||||
<wadl:method href="#listListeners"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-lbaas-ext.wadl#listener_id">
|
|
||||||
<wadl:method href="#showListener"/>
|
|
||||||
<wadl:method href="#updateListener"/>
|
|
||||||
<wadl:method href="#deleteListener"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
<!-- end of listner section-->
|
|
||||||
<section xml:id="lbaas_ext_ops_pool">
|
|
||||||
<title>Pools</title>
|
|
||||||
<para>Use the LBaas extension to create and manage load-balancer pools.</para>
|
|
||||||
<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/netconn-api/src/os-lbaas-ext.wadl#lb-pools">
|
|
||||||
<wadl:method href="#createPool"/>
|
|
||||||
<wadl:method href="#listPools"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-lbaas-ext.wadl#pool_id">
|
|
||||||
<wadl:method href="#showPool"/>
|
|
||||||
<wadl:method href="#updatePool"/>
|
|
||||||
<wadl:method href="#deletePool"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
<!-- end of pools section-->
|
|
||||||
<section xml:id="lbaas_ext_ops_member">
|
|
||||||
<title>Members</title>
|
|
||||||
<para>Use the LBaas extension to create and manage load-balancer pool members.</para>
|
|
||||||
<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/netconn-api/src/os-lbaas-ext.wadl#lb-members">
|
|
||||||
<wadl:method href="#createMember"/>
|
|
||||||
<wadl:method href="#listMembers"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-lbaas-ext.wadl#member_id">
|
|
||||||
<wadl:method href="#showMember"/>
|
|
||||||
<wadl:method href="#updateMember"/>
|
|
||||||
<wadl:method href="#deleteMember"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
<!-- end of members section-->
|
|
||||||
<section xml:id="lbaas_ext_ops_health_monitor">
|
|
||||||
<title>Health monitors</title>
|
|
||||||
<para>Use the LBaas extension to create and manage load-balancer health monitors.</para>
|
|
||||||
<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/netconn-api/src/os-lbaas-ext.wadl#lb-healthmonitors">
|
|
||||||
<wadl:method href="#createHealthMonitor"/>
|
|
||||||
<wadl:method href="#listHealthMonitors"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-lbaas-ext.wadl#health_monitor_id_hm">
|
|
||||||
<wadl:method href="#showHealthMonitor"/>
|
|
||||||
<wadl:method href="#updateHealthMonitor"/>
|
|
||||||
<wadl:method href="#deleteHealthMonitor"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,36 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="metering-ext"
|
|
||||||
xmlns:wadl="http://wadl.dev.java.net/2009/02">
|
|
||||||
<title>Metering labels and rules</title>
|
|
||||||
<para>Create, modify, and delete OpenStack Layer3 metering
|
|
||||||
labels and rules.</para>
|
|
||||||
<wadl:resources>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/metering-labels.wadl#metering_labels">
|
|
||||||
<wadl:method href="#listMeteringLabels"/>
|
|
||||||
<wadl:method href="#createMeteringLabel"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/metering-labels.wadl#get_metering_label">
|
|
||||||
<wadl:method href="#getMeteringLabel"/>
|
|
||||||
<wadl:method href="#deleteMeteringLabel"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/metering-labels.wadl#metering_label_rules">
|
|
||||||
<wadl:method href="#listMeteringLabelRules"/>
|
|
||||||
<wadl:method href="#createMeteringLabelRule"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/metering-labels.wadl#metering-label-rule-id">
|
|
||||||
<wadl:method href="#getMeteringLabelRule"/>
|
|
||||||
<wadl:method href="#deleteMeteringLabelRule"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,20 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xml:id="provider_multi_ext_ops">
|
|
||||||
<title>Multiple provider networks</title>
|
|
||||||
<para>Set and retrieve the multiple provider networks extension
|
|
||||||
attributes for network objects.</para>
|
|
||||||
<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/netconn-api/src/os-networks-multi-provider-ext.wadl#Networks">
|
|
||||||
<wadl:method href="#listMultiNetworks"/>
|
|
||||||
<wadl:method href="#createMultiNetwork"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks-multi-provider-ext.wadl#network_id">
|
|
||||||
<wadl:method href="#showMultiNetwork"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,91 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE chapter[
|
|
||||||
<!-- Some useful entities borrowed from HTML -->
|
|
||||||
<!-- 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 APIv2 'Networking API v2.0'>
|
|
||||||
]>
|
|
||||||
<section xml:id="provider_ext" xmlns="http://docbook.org/ns/docbook"
|
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
||||||
<title>Provider networks (<literal>provider</literal>)</title>
|
|
||||||
<para>The <parameter>provider</parameter> extended attributes for
|
|
||||||
networks enable administrative users to specify how network
|
|
||||||
objects map to the underlying networking infrastructure. These
|
|
||||||
extended attributes also appear when administrative users
|
|
||||||
query networks.</para>
|
|
||||||
<para>To this aim, it extends the <emphasis role="bold"
|
|
||||||
>network</emphasis> resource by defining a set of
|
|
||||||
attributes prefixed with <emphasis role="italic"
|
|
||||||
>provider</emphasis>.</para>
|
|
||||||
<para>These attributes are added to the <emphasis role="bold"
|
|
||||||
>network</emphasis> resource:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="italic">
|
|
||||||
provider:network_type</emphasis> - Specifies the
|
|
||||||
nature of the physical network mapped to this network
|
|
||||||
resource. Examples are <literal>flat</literal>,
|
|
||||||
<literal>vlan</literal>, or
|
|
||||||
<literal>gre</literal>.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="italic">
|
|
||||||
provider:physical_network</emphasis> - Identifies
|
|
||||||
the physical network on top of which this network
|
|
||||||
object is being implemented. The OpenStack Networking
|
|
||||||
API does not expose any facility for retrieving the
|
|
||||||
list of available physical networks. As an example, in
|
|
||||||
the Open vSwitch plug-in this is a symbolic name which
|
|
||||||
is then mapped to specific bridges on each compute
|
|
||||||
host through the Open vSwitch plug-in configuration
|
|
||||||
file.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para><emphasis role="italic">
|
|
||||||
provider:segmentation_id</emphasis> - Identifies
|
|
||||||
an isolated segment on the physical network; the
|
|
||||||
nature of the segment depends on the segmentation
|
|
||||||
model defined by <literal>network_type</literal>. For
|
|
||||||
instance, if <literal>network_type</literal> is
|
|
||||||
<literal>vlan</literal>, then this is a
|
|
||||||
<literal>vlan</literal> identifier; otherwise, if
|
|
||||||
<literal>network_type</literal> is
|
|
||||||
<literal>gre</literal>, then this will be a
|
|
||||||
<literal>gre</literal> key.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>The actual semantics of these attributes depend on the
|
|
||||||
technology back end of the particular plug-in. See the plug-in
|
|
||||||
documentation and the <citetitle>OpenStack Cloud Administrator
|
|
||||||
Guide</citetitle> to understand which values should be
|
|
||||||
specific for each of these attributes when OpenStack
|
|
||||||
Networking is deployed with a particular plug-in. The examples
|
|
||||||
shown in this chapter refer to the Open vSwitch
|
|
||||||
plug-in.</para>
|
|
||||||
<para>The default policy settings enable only users with
|
|
||||||
administrative rights to specify these parameters in requests
|
|
||||||
and to see their values in responses. By default, the provider
|
|
||||||
network extension attributes are completely hidden from
|
|
||||||
regular tenants. As a rule of thumb, if these attributes are
|
|
||||||
not visible in a <emphasis role="italic">GET
|
|
||||||
/networks/<network-id></emphasis> operation, this
|
|
||||||
implies the user submitting the request is not authorized to
|
|
||||||
view or manipulate provider network attributes.</para>
|
|
||||||
<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/netconn-api/src/os-networks-provider-ext.wadl#Networks">
|
|
||||||
<wadl:method href="#listNetworks"/>
|
|
||||||
<wadl:method href="#createNetwork"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks-provider-ext.wadl#network_id">
|
|
||||||
<wadl:method href="#showNetwork"/>
|
|
||||||
<wadl:method href="#updateNetwork"/>
|
|
||||||
<wadl:method href="#deleteNetwork"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section 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"
|
|
||||||
status="final" xml:id="quotas_ext">
|
|
||||||
<title>Quotas</title>
|
|
||||||
<para>Use the <filename>neutron.conf</filename> configuration file
|
|
||||||
to define and apply default quota values to all tenants. This
|
|
||||||
extension enables an administrative user to define quotas
|
|
||||||
values on a per-tenant basis. For example, an administrative
|
|
||||||
user can permit tenant A to create at most
|
|
||||||
<replaceable>n</replaceable> networks and tenant B to
|
|
||||||
create at most <replaceable>n</replaceable> networks.</para>
|
|
||||||
<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/netconn-api/src/os-quotas.wadl#Quotas">
|
|
||||||
<wadl:method href="#listQuotas"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-quotas.wadl#Quotas">
|
|
||||||
<wadl:method href="#showQuota"/>
|
|
||||||
<wadl:method href="#updateQuota"/>
|
|
||||||
<wadl:method href="#resetQuota"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,34 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section 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"
|
|
||||||
status="final" xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
|
||||||
xml:id="security_groups">
|
|
||||||
<title>Security groups and rules (security-groups)</title>
|
|
||||||
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
|
|
||||||
<wadl:resource
|
|
||||||
href="https://raw.github.com/openstack/api-site/master/api-ref/src/wadls/netconn-api/src/security-groups.wadl#security_groups">
|
|
||||||
<wadl:method href="#listSecGroups"/>
|
|
||||||
<wadl:method href="#createSecGroup"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="https://raw.github.com/openstack/api-site/master/api-ref/src/wadls/netconn-api/src/security-groups.wadl#security_group_id">
|
|
||||||
<wadl:method href="#getSecGroup"/>
|
|
||||||
<wadl:method href="#deleteSecGroup"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="https://raw.github.com/openstack/api-site/master/api-ref/src/wadls/netconn-api/src/security-groups.wadl#security_groups_rules">
|
|
||||||
<wadl:method href="#listSecGroupRules"/>
|
|
||||||
<wadl:method href="#createSecGroupRule"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="https://raw.github.com/openstack/api-site/master/api-ref/src/wadls/netconn-api/src/security-groups.wadl#rules-security-groups-id">
|
|
||||||
<wadl:method href="#getSecGroupRule"/>
|
|
||||||
<wadl:method href="#deleteSecGroupRule"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<section 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:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
|
||||||
xmlns:db="http://docbook.org/ns/docbook" version="5.0"
|
|
||||||
xml:id="retrieve_extensions">
|
|
||||||
<title>Get extension information</title>
|
|
||||||
<para>List available extensions and show details for a specified
|
|
||||||
extension.</para>
|
|
||||||
<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/netconn-api/src/os-networks.wadl#extensions">
|
|
||||||
<wadl:method href="#listExtensions"/>
|
|
||||||
</wadl:resource>
|
|
||||||
<wadl:resource
|
|
||||||
href="http://git.openstack.org/cgit/openstack/api-site/plain/api-ref/src/wadls/netconn-api/src/os-networks.wadl#extension">
|
|
||||||
<wadl:method href="#getExtension"/>
|
|
||||||
</wadl:resource>
|
|
||||||
</wadl:resources>
|
|
||||||
</section>
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user