Add support for virtio-forwarder VNIC type
* This patch adds support for the virtio-forwarder VNIC type. * The virtio-forwarder VNIC type has been added as another option for setting the "binding:vnic_type" property on a port. This requests a low-latency virtio port inside the instance, likely backed by hardware acceleration. * The documentation for OPENSTACK_NEUTRON_NETWORK/supported_vnic_types has been updated to clarify the term "supported VNIC types". Unfortunately, the VNIC binding happens at scheduling and error reporting in core Nova and Neutron is not optimal in this case. * Corresponding python-openstackclient change: https://review.openstack.org/#/c/483532/ * Corresponding neutron-lib change: https://review.openstack.org/#/c/483530/ Signed-off-by: Jan Gutter <jan.gutter@netronome.com> Closes-Bug: 1705548 Depends-On: I28315fb12f62dc7d52d099c211086b2b81eca39a Change-Id: I02dc3581de8f31c659e545e340cbdf6a1b2bb837
This commit is contained in:
parent
5058f8f8f8
commit
587c3de89b
@ -1757,13 +1757,24 @@ supported_vnic_types
|
||||
|
||||
.. versionadded:: 2015.1(Kilo)
|
||||
|
||||
.. versionchanged:: 12.0.0(Pike)
|
||||
|
||||
Added ``virtio-forwarder`` VNIC type
|
||||
Clarified VNIC type availability for users and operators
|
||||
|
||||
|
||||
Default ``['*']``
|
||||
|
||||
For use with the port binding extension. Use this to explicitly set which VNIC
|
||||
types are supported; only those listed will be shown when creating or editing
|
||||
a port. VNIC types include ``normal``, ``direct``, ``direct-physical``,
|
||||
``macvtap`` and ``baremetal``. By default all VNIC types will be available to
|
||||
choose from.
|
||||
types are available for users to choose from, when creating or editing a port.
|
||||
The VNIC types actually supported are determined by resource availability and
|
||||
Neutron ML2 plugin support.
|
||||
Currently, error reporting for users selecting an incompatible or unavailable
|
||||
VNIC type is restricted to receiving a message from the scheduler that the
|
||||
instance cannot spawn because of insufficient resources.
|
||||
VNIC types include ``normal``, ``direct``, ``direct-physical``, ``macvtap``,
|
||||
``baremetal`` and ``virtio-forwarder``. By default all VNIC types will be
|
||||
available to choose from.
|
||||
|
||||
Example: ``['normal', 'direct']``
|
||||
|
||||
|
@ -32,7 +32,8 @@ VNIC_TYPES = [('normal', _('Normal')),
|
||||
('direct', _('Direct')),
|
||||
('direct-physical', _('Direct Physical')),
|
||||
('macvtap', _('MacVTap')),
|
||||
('baremetal', _('Bare Metal'))]
|
||||
('baremetal', _('Bare Metal')),
|
||||
('virtio-forwarder', _('Virtio Forwarder'))]
|
||||
|
||||
|
||||
class CreatePort(project_forms.CreatePort):
|
||||
|
@ -30,7 +30,8 @@ VNIC_TYPES = [('normal', _('Normal')),
|
||||
('direct', _('Direct')),
|
||||
('direct-physical', _('Direct Physical')),
|
||||
('macvtap', _('MacVTap')),
|
||||
('baremetal', _('Bare Metal'))]
|
||||
('baremetal', _('Bare Metal')),
|
||||
('virtio-forwarder', _('Virtio Forwarder'))]
|
||||
|
||||
|
||||
class CreatePort(forms.SelfHandlingForm):
|
||||
|
@ -49,7 +49,8 @@
|
||||
'direct': gettext('Direct'),
|
||||
'direct-physical': gettext('Direct Physical'),
|
||||
'macvtap': gettext('MacVTap'),
|
||||
'baremetal': gettext('Bare Metal')
|
||||
'baremetal': gettext('Bare Metal'),
|
||||
'virtio-forwarder': gettext('Virtio Forwarder')
|
||||
};
|
||||
|
||||
ctrl.tableDataMulti = {
|
||||
|
@ -350,8 +350,8 @@ OPENSTACK_NEUTRON_NETWORK = {
|
||||
# Set which VNIC types are supported for port binding. Only the VNIC
|
||||
# types in this list will be available to choose from when creating a
|
||||
# port.
|
||||
# VNIC types include 'normal', 'direct', 'direct-physical', 'macvtap' and
|
||||
# 'baremetal'
|
||||
# VNIC types include 'normal', 'direct', 'direct-physical', 'macvtap',
|
||||
# 'baremetal' and 'virtio-forwarder'
|
||||
# Set to empty list or None to disable VNIC type selection.
|
||||
'supported_vnic_types': ['*'],
|
||||
|
||||
|
@ -0,0 +1,9 @@
|
||||
---
|
||||
features:
|
||||
- The ``virtio-forwarder`` VNIC type has been added to the list of valid
|
||||
types that may be set on a port. This requests a low-latency virtio port
|
||||
inside the instance, likely backed by hardware acceleration and requires a
|
||||
supporting Neutron mechanism driver.
|
||||
- The configuration documentation for ``supported_vnic_types`` in
|
||||
``OPENSTACK_NEUTRON_NETWORK`` has been updated to help an operator decide
|
||||
which VNIC types should be available for users to choose from.
|
Loading…
Reference in New Issue
Block a user