diff options
author | Balazs Gibizer <gibi@redhat.com> | 2022-08-16 17:24:28 +0200 |
---|---|---|
committer | Balazs Gibizer <gibi@redhat.com> | 2022-10-17 13:56:18 +0200 |
commit | b10482cbc00518853485d83a9ace35c8d5172749 (patch) | |
tree | b00d8d1052e8253c74a8d57383104636d7abca76 /doc | |
parent | 745921338c8338e39267dce2cdf8877877326212 (diff) | |
download | nova-b10482cbc00518853485d83a9ace35c8d5172749.tar.gz |
Support resource_class and traits in PCI alias
The [pci]alias configuration option now accepts two new optional fields:
* resource_class: that can be used to request PCI device by placement
RC name.
* traits: a comma separated list of placement trait names that can be
used to filter placement PCI resource provider by traits.
These fields has the matching counterpart in [pci]device_spec
implemented already.
These fields are matched by the Placement GET allocation_candidates
query therefore these fields are ignored when PCI device pools are
matched against IntancePCIRequest by nova.
Note that InstancePCIRequest object spec field is defined as a list of
dicts. But in reality nova creates the request always with a single
dict. So we restricted the placement logic to handle a single spec.
blueprint: pci-device-tracking-in-placement
Change-Id: I5c8f05c3c5d7597175e60b29e4ab2f22e6496ecd
Diffstat (limited to 'doc')
-rw-r--r-- | doc/source/admin/pci-passthrough.rst | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/source/admin/pci-passthrough.rst b/doc/source/admin/pci-passthrough.rst index de79792f16..46d1604214 100644 --- a/doc/source/admin/pci-passthrough.rst +++ b/doc/source/admin/pci-passthrough.rst @@ -442,6 +442,21 @@ removed and VFs from the same PF is configured (or vice versa) then nova-compute will refuse to start as it would create a situation where both the PF and its VFs are made available for consumption. +If a flavor requests multiple ``type-VF`` devices via +:nova:extra-spec:`pci_passthrough:alias` then it is important to consider the +value of :nova:extra-spec:`group_policy` as well. The value ``none`` +allows nova to select VFs from the same parent PF to fulfill the request. The +value ``isolate`` restricts nova to select each VF from a different parent PF +to fulfill the request. If :nova:extra-spec:`group_policy` is not provided in +such flavor then it will defaulted to ``none``. + +Symmetrically with the ``resource_class`` and ``traits`` fields of +:oslo.config:option:`pci.device_spec` the :oslo.config:option:`pci.alias` +configuration option supports requesting devices by Placement resource class +name via the ``resource_class`` field and also support requesting traits to +be present on the selected devices via the ``traits`` field in the alias. If +the ``resource_class`` field is not specified in the alias then it is defaulted +by nova to ``CUSTOM_PCI_<vendor_id>_<product_id>``. For deeper technical details please read the `nova specification. <https://specs.openstack.org/openstack/nova-specs/specs/zed/approved/pci-device-tracking-in-placement.html>`_ |