0620678344
Allow instances to be created with VNIC_TYPE_REMOTE_MANAGED ports. Those ports are assumed to require remote-managed PCI devices which means that operators need to tag those as "remote_managed" in the PCI whitelist if this is the case (there is no meta information or standard means of querying this information). The following changes are introduced: * Handling for VNIC_TYPE_REMOTE_MANAGED ports during allocation of resources for instance creation (remote_managed == true in InstancePciRequests); * Usage of the noop os-vif plugin for VNIC_TYPE_REMOTE_MANAGED ports in order to avoid the invocation of the local representor plugging logic since a networking backend is responsible for that in this case; * Expectation of bind time events for ports of VNIC_TYPE_REMOTE_MANAGED. Events for those arrive early from Neutron after a port update (before Nova begins to wait in the virt driver code, therefore, Nova is set to avoid waiting for plug events for VNIC_TYPE_REMOTE_MANAGED ports; * Making sure the service version is high enough on all compute services before creating instances with ports that have VNIC type VNIC_TYPE_REMOTE_MANAGED. Network requests are examined for the presence of port ids to determine the VNIC type via Neutron API. If remote-managed ports are requested, a compute service version check is performed across all cells. Change-Id: Ica09376951d49bc60ce6e33147477e4fa38b9482 Implements: blueprint integration-with-off-path-network-backends
28 lines
1.4 KiB
YAML
28 lines
1.4 KiB
YAML
---
|
|
features:
|
|
- |
|
|
Added support for off-path networking backends where devices exposed to the
|
|
hypervisor host are managed remotely (which is the case, for example, with
|
|
various SmartNIC DPU devices). ``VNIC_TYPE_REMOTE_MANAGED`` ports can now
|
|
be added to Nova instances as soon as all compute nodes are upgraded to
|
|
the new compute service version. In order to use this feature, VF PCI/PCIe
|
|
devices need to be tagged as ``remote_managed: "true"` in the Nova config
|
|
in the ``passthrough_whitelist`` option.
|
|
|
|
This feature relies on Neutron being upgraded to the corresponding release
|
|
of OpenStack and having an appropriate backend capable of binding
|
|
``VNIC_TYPE_REMOTE_MANAGED`` ports (at the time of writing, ML2 with the OVN
|
|
ML2 mechanism driver is the only supported backend, see the Neutron
|
|
documentation for more details).
|
|
|
|
Note that the PCI devices (VFs or, alternatively, their PF) must have a
|
|
valid PCI Vital Product Data (VPD) with a serial number present in it for
|
|
this feature to work properly. Also note that only VFs can be tagged as
|
|
``remote_managed: "true"`` and they cannot be used for legacy SR-IOV
|
|
use-cases.
|
|
|
|
Nova operations on instances with ``VNIC_TYPE_REMOTE_MANAGED`` ports
|
|
follow the same logic as the operations on direct SR-IOV ports.
|
|
|
|
This feature is only supported with the Libvirt driver.
|