Add back vnic_type extended attribute

Was accidentally removed at some point by me

Change-Id: I70650c8675817059c472d17c0963c6498aeb383a
Author: diane fleming
This commit is contained in:
Diane Fleming 2014-06-29 09:34:13 -05:00 committed by Diane Fleming
parent 7d790403a0
commit 304305061d
2 changed files with 104 additions and 398 deletions

View File

@ -49,12 +49,23 @@
</abstract>
<revhistory>
<!-- ... continue adding more revisions here as you change this document using the markup shown below... -->
<revision>
<date>2014-06-29</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Added
<parameter>binding:vnic_type</parameter>.</para>
</listitem>
</itemizedlist>
</revdescription>
</revision>
<revision>
<date>2014-04-29</date>
<revdescription>
<itemizedlist spacing="compact">
<listitem>
<para>Updated
<para>Changed
<parameter>binding:capabilities</parameter>
to
<parameter>binding:vif_details</parameter>.</para>

View File

@ -1,54 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book[
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY plusmn "&#xB1;">
<!-- 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 role="fo">
<imagedata fileref="figures/Check_mark_23x20_02.svg"
format="SVG" scale="60"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="../figures/Check_mark_23x20_02.png"
format="PNG" />
</imageobject>
</inlinemediaobject>'>
<!ENTITY ARROW '<inlinemediaobject xmlns="http://docbook.org/ns/docbook">
<imageobject role="fo">
<imagedata fileref="figures/Arrow_east.svg"
format="SVG" scale="60"/>
</imageobject>
<imageobject role="html">
<imagedata fileref="../figures/Arrow_east.png"
format="PNG" />
</imageobject>
</inlinemediaobject>'>
<!ENTITY APIv2 'Networking API v2.0'>
<!-- Some useful entities borrowed from HTML -->
<!ENTITY ndash "&#x2013;">
<!ENTITY mdash "&#x2014;">
<!ENTITY hellip "&#x2026;">
<!ENTITY plusmn "&#xB1;">
<!-- 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>The <literal>binding</literal> Extended Attributes for
Ports</title>
<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><parameter>binding</parameter> Extended Attributes
for Ports</caption>
<caption>Ports binding extended attributes</caption>
<col width="30%"/>
<col width="10%"/>
<col width="10%"/>
@ -62,36 +37,60 @@
<th>Type</th>
<th>Required</th>
<th>CRUD<footnote xml:id="crud_network">
<para><itemizedlist>
<listitem>
<para><emphasis role="bold"
<itemizedlist>
<listitem>
<para><emphasis role="bold"
>C</emphasis>. Use the attribute in
create operations.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
</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"
</listitem>
<listitem>
<para><emphasis role="bold"
>U</emphasis>. You can update the
value of this attribute.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
</listitem>
<listitem>
<para><emphasis role="bold"
>D</emphasis>. You can delete the
value of this attribute.</para>
</listitem>
</itemizedlist></para>
</listitem>
</itemizedlist>
</footnote></th>
<th>Default Value</th>
<th>Validation Constraints</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>
@ -101,366 +100,62 @@
<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:host_id</parameter></para></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
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>list(dict)</td>
<td>N/A</td>
<td>CRU</td>
<td>None</td>
<td>N/A</td>
<td><para>A dictionary that enables the application
running on the specified host to pass and
receive vif port-specific information to the
plug-in.</para>
<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>
<tr>
<td>
<para><parameter>binding:capabilities</parameter></para></td>
<td>list(dict)</td>
<td>N/A</td>
<td>R</td>
<td>None</td>
<td>N/A</td>
<td><para>Read-only. A dictionary that enables the
application to pass information about
functions that &APIv2; provides. Specify the
following value: port_filter : Boolean to
define whether &APIv2; provides port filtering
features such as security group and
anti-MAC/IP spoofing.</para></td>
</tr>
</tbody>
</table>
<section xml:id="List_Ports_binding">
<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 to which the tenant has access.
The <parameter>binding</parameter> extended
attributes are visible to only administrative
users.</td>
</tr>
</tbody>
</informaltable>
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
</simpara>
<simpara>Error Response Codes: Unauthorized
(<errorcode>401</errorcode>)</simpara>
<para>This operation lists ports to which the tenant has
access.</para>
<para>This operation does not require a request body.</para>
<para>This operation returns a response body.</para>
<para>In addition to any other fields returned in a list ports
response, the following
<parameter>binding</parameter>-prefixed fields are visible
to administrative users:</para>
<informaltable rules="all">
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para><parameter>binding:vif_type</parameter></para></td>
<td><para>Read-only. The vif type for the
specified port.</para>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:host_id</parameter></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>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:profile</parameter></para></td>
<td><para>A dictionary that enables the
application running on the specified host
to pass and receive vif port-specific
information to the plug-in.</para>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:capabilities</parameter></para></td>
<td><para>Read-only. A dictionary that enables the
application to pass information about
functions that &APIv2; provides. Specify
the following value: port_filter : Boolean
to define whether &APIv2; provides port
filtering features such as security group
and anti-MAC/IP spoofing.</para>
</td>
</tr>
</tbody>
</informaltable>
</section>
<?hard-pagebreak?>
<section xml:id="Show_port_binding">
<title>Show Port</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/<parameter>port-id</parameter></td>
<td>Shows information for a specified port. The
<parameter>binding</parameter> extended
attributes are visible to only administrative
users.</td>
</tr>
</tbody>
</informaltable>
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
</simpara>
<simpara>Error Response Codes: Unauthorized
(<errorcode>401</errorcode>), Not Found
(<errorcode>404</errorcode>)</simpara>
<para>This operation returns information for the port
specified in the request URI.</para>
<para>This operation does not require a request body.</para>
<para>This operation returns a response body.</para>
<para>In addition to any fields returned in a show port
details response, the following
<parameter>binding</parameter>-prefixed extended
attributes are visible to administrative users:</para>
<informaltable rules="all">
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para><parameter>binding:vif_type</parameter></para></td>
<td><para>Read-only. The vif type for the
specified port.</para>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:host_id</parameter></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>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:profile</parameter></para></td>
<td><para>A dictionary that enables the
application running on the specified host
to pass and receive vif port-specific
information to the plug-in.</para>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:capabilities</parameter></para></td>
<td><para>Read-only. A dictionary that enables the
application to pass information about
functions that &APIv2; provides. Specify
the following value: port_filter : Boolean
to define whether &APIv2; provides port
filtering features such as security group
and anti-MAC/IP spoofing.</para>
</td>
</tr>
</tbody>
</informaltable>
</section>
<section xml:id="Create_Port_binding">
<title>Create Port</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>/ports</td>
<td>Creates a port on a specified network. Only
administrative users can add the
<parameter>binding</parameter> extended
attributes.</td>
</tr>
</tbody>
</informaltable>
<simpara>Normal Response Code: <returnvalue>201</returnvalue>
</simpara>
<simpara>Error Response Codes: Bad Request
(<errorcode>400</errorcode>), Unauthorized
(<errorcode>401</errorcode>), Forbidden
(<errorcode>403</errorcode>), Not Found
(<errorcode>404</errorcode>), Conflict
(<errorcode>409</errorcode>), MAC generation failure
(<errorcode>503</errorcode>) </simpara>
<para>This operation creates an OpenStack Networking port. You
must specify the network where the port is to created on
the <parameter>network_id</parameter> attribute in the
request body.</para>
<para>This operation requires a request body.</para>
<para>This operation returns a response body.</para>
<para>In addition to any attributes that can be set in a
create port operation, administrative users can also set
the following <parameter>binding</parameter>-prefixed
extended attributes:</para>
<informaltable rules="all">
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<para><parameter>binding:host_id</parameter></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>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:profile</parameter></para></td>
<td><para>A dictionary that enables the
application running on the specified host
to pass and receive vif port-specific
information to the plug-in.</para>
</td>
</tr>
</tbody>
</informaltable>
</section>
<section xml:id="Update_Port_binding">
<title>Update Port</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>/ports/<parameter>port-id</parameter></td>
<td>Updates a specified port. Only administrative
users can update the
<parameter>binding</parameter> extended
attributes.</td>
</tr>
</tbody>
</informaltable>
<simpara>Normal Response Code: <returnvalue>200</returnvalue>
</simpara>
<simpara>Error Response Codes: Bad Request
(<errorcode>400</errorcode>), Unauthorized
(<errorcode>401</errorcode>), Forbidden
(<errorcode>403</errorcode>), Not Found
(<errorcode>404</errorcode>), Conflict
(<errorcode>409</errorcode>) </simpara>
<para>Use this operation to update information for a
port.</para>
<para>This operation requires a request body.</para>
<para>This operation returns a response body.</para>
<para>In addition to any attributes that can be updated in an
update port operation, administrative users can also
update the following
<parameter>binding</parameter>-prefixed extended
attributes:</para>
<informaltable rules="all">
<thead>
<tr>
<th>Field</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<para><parameter>binding:host_id</parameter></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>
</td>
</tr>
<tr>
<td>
<para><parameter>binding:profile</parameter></para></td>
<td><para>A dictionary that enables the
application running on the specified host
to pass and receive vif port-specific
information to the plug-in.</para>
</td>
</tr>
</tbody>
</informaltable>
</section>
<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>