netconn-api/v2.0/section_neutron-provider-ext.xml
Diane Fleming 9accdede20 Add provider multi extension
Closes-Bug: #1226279

Change-Id: I21462e521d56e50fc1761e416cddd5c7e223bbe8
author: diane fleming
2014-04-17 16:12:48 -04:00

102 lines
5.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
]>
<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>The Provider Networks Extension
(<literal>provider</literal>)</title>
<para>The provider networks extension allows OpenStack Networking
API users with the appropriate rights, to specify how an
OpenStack Networking network object is mapped to the
underlying networking infrastructure. It also allows users
with the appropriate rights to view such attributes when
networks are queried.</para>
<para>To this aim, it extends the <emphasis role="bold"
>network</emphasis> resource by defining a set of
attributes prefixed with the <emphasis role="italic"
>provider</emphasis> prefix, which specify these
attributes.</para>
<section xml:id="provider_ext_concepts">
<title>Concepts</title>
<para>The provider networks extension is an attribute
extension which adds the following set of attributes 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>It is also worth noting that the default policy settings
allow 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/&lt;network-id></emphasis> operation, this
implies the user submitting the request is not authorized
to view or manipulate provider network attributes.</para>
</section>
<section xml:id="provider_ext_ops">
<title>Network API operations with provider extension</title>
<para>Set and retrieve the provider 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-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>
</section>