api-ref: add api-ref for bindings

Change-Id: I1e61c120570db7d7ba0b86ce36d4a1e2eefdf9fe
Related-Bug: #1580880
This commit is contained in:
elajkat 2023-05-31 14:17:11 +02:00
parent 64cfdacdc1
commit 9f72a4722f
10 changed files with 197 additions and 4 deletions

View File

@ -19,6 +19,7 @@ Layer 2 Networking
.. include:: networks.inc .. include:: networks.inc
.. include:: network_segment_ranges.inc .. include:: network_segment_ranges.inc
.. include:: ports.inc .. include:: ports.inc
.. include:: port_bindings.inc
.. include:: segments.inc .. include:: segments.inc
.. include:: trunk.inc .. include:: trunk.inc
.. include:: trunk-details.inc .. include:: trunk-details.inc

View File

@ -2538,6 +2538,12 @@ binding:vnic_type-request:
in: body in: body
required: false required: false
type: string type: string
bindings:
description: |
A ``binding`` object.
in: body
required: true
type: object
cidr: cidr:
description: | description: |
The CIDR of the subnet. The CIDR of the subnet.

View File

@ -0,0 +1,131 @@
.. -*- rst -*-
============
Port Binding
============
Expose port bindings of a virtual port to external application.
Port Bindings Extended
======================
The ``Port Bindings Extended`` extension adds extra fields to ``Port Binding``
like ``status`` and ``project id``, and allows the ``activation`` of the
binding.
Show Port Binding of a Port
===========================
.. rest_method:: GET /v2.0/ports/{port_id}/bindings
Normal response codes: 200
Error response codes: 401, 404
Request
-------
.. rest_parameters:: parameters.yaml
- port_id: port_id-path
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- bindings: bindings
- host: host
- profile: binding:profile
- vif_details: binding:vif_details
- vif_type: binding:vif_type
- vnic_type: binding:vnic_type
Response Example (Admin user)
-----------------------------
.. literalinclude:: samples/port_bindings/port-binding-list-response.json
:language: javascript
Create Port binding
===================
.. rest_method:: POST /v2.0/ports/{port_id}/bindings/
Normal response codes: 201
Error response codes: 400, 401, 403, 404
Request
-------
.. rest_parameters:: parameters.yaml
- port_id: port_id-path
- bindings: bindings
- host: host
- profile: binding:profile
- vif_details: binding:vif_details
- vif_type: binding:vif_type
- vnic_type: binding:vnic_type
Request Example (Admin user)
----------------------------
.. literalinclude:: samples/port_bindings/port-binding-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- port_id: port_id-path
- bindings: bindings
- host: host
- profile: binding:profile
- vif_details: binding:vif_details
- vif_type: binding:vif_type
- vnic_type: binding:vnic_type
Response Example (admin user)
-----------------------------
.. literalinclude:: samples/port_bindings/port-binding-create-response.json
:language: javascript
Activate Port binding
=====================
.. rest_method:: PUT /v2.0/ports/{port_id}/bindings/{host}/activate
Normal response codes: 200
Error response codes: 400, 401, 404, 412
Request
-------
.. rest_parameters:: parameters.yaml
- port_id: port_id-path
- host: host
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- port_id: port_id-path
- bindings: bindings
- host: host
- profile: binding:profile
- vif_details: binding:vif_details
- vif_type: binding:vif_type
- vnic_type: binding:vnic_type
Response Example (admin user)
-----------------------------
.. literalinclude:: samples/port_bindings/port-binding-activate-response.json
:language: javascript

View File

@ -0,0 +1,16 @@
{
"binding": {
"host": "compute",
"vif_type": "ovs",
"vnic_type": "normal",
"status": "ACTIVE",
"profile": {},
"vif_details": {
"connectivity": "l2",
"port_filter": true,
"ovs_hybrid_plug": false,
"datapath_type": "system",
"bridge_name": "br-int"
}
}
}

View File

@ -0,0 +1,5 @@
{
"binding": {
"host": "compute"
}
}

View File

@ -0,0 +1,16 @@
{
"binding": {
"host": "compute",
"vif_type": "ovs",
"vnic_type": "normal",
"status": "INACTIVE",
"profile": {},
"vif_details": {
"connectivity": "l2",
"port_filter": true,
"ovs_hybrid_plug": false,
"datapath_type": "system",
"bridge_name": "br-int"
}
}
}

View File

@ -0,0 +1,18 @@
{
"bindings" : [
{
"host" : "jammy",
"profile" : {},
"status" : "ACTIVE",
"vif_details" : {
"bridge_name" : "br-int",
"connectivity" : "l2",
"datapath_type" : "system",
"ovs_hybrid_plug" : false,
"port_filter" : true
},
"vif_type" : "ovs",
"vnic_type" : "normal"
}
]
}

View File

@ -1,5 +1,5 @@
--- ---
features: features:
- A VIF type for Agilio OVS (``VIF_TYPE_AGILIO_OVS``) has been added to - A VIF type for Agilio OVS (``VIF_TYPE_AGILIO_OVS``) has been added to
portbindings. This links the external Neutron plugin to the external port_bindings. This links the external Neutron plugin to the external
OS-VIF plugin in Nova. OS-VIF plugin in Nova.

View File

@ -1,6 +1,6 @@
--- ---
features: features:
- The ``VNIC_VIRTIO_FORWARDER`` VNIC type has been added to portbindings. - The ``VNIC_VIRTIO_FORWARDER`` VNIC type has been added to port_bindings.
This VNIC type is intended to request a low-latency virtio port inside the This VNIC type is intended to request a low-latency virtio port inside the
instance, likely backed by hardware acceleration. Currently the Agilio OVS instance, likely backed by hardware acceleration. Currently the Agilio OVS
external plugin provides support for this, with support from other vendors external plugin provides support for this, with support from other vendors

View File

@ -1,5 +1,5 @@
--- ---
features: features:
- The API definition and associated constants have been - The API definition and associated constants have been
rehomed from ``neutron.extensions.portbindings`` to rehomed from ``neutron.extensions.port_bindings`` to
``neutron_lib.api.definitions.portbindings``. ``neutron_lib.api.definitions.port_bindings``.