nova/releasenotes/notes/vnic-type-remote-managed-b90cacf1c91df22b.yaml
Dmitrii Shcherbakov 0620678344 [yoga] Add support for VNIC_REMOTE_MANAGED
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
2022-02-09 01:23:27 +03:00

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.