From c3f392dd8e895c457abd55d82d58f1bb400ccff6 Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Tue, 11 Mar 2025 17:14:27 +0100 Subject: [PATCH] Multiple spec per PCI alias limitation Document and the limitation of the PCI in Placement feature that it does not support [pci]alias configuration where the name of the alias is repeated. E.g. [pci] alias = { "name": "vf1", "product_id":"10ca", "vendor_id":"8086", "device_type":"type-VF"} alias = { "name": "vf1", "product_id":"f000", "vendor_id":"8086", "device_type":"type-VF"} This would mean the alias vf1 can be fulfilled from devices with product id 10ca OR f000. However this OR relationship cannot be encoded to a single Placement allocation query as Placement does not support requesting alternative resource classes for a request[2]. This limitation was encoded in the original PCI in Placement implementation[1] but we missed to mention it in the doc. This is now fixed. [1]https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/objects/request_spec.py#L504-L528 [2]https://docs.openstack.org/api-ref/placement/#list-allocation-candidates Related-Bug: #2102038 Change-Id: I9dd78b1498f870a4e4c3f26c23d42d105aec0350 --- doc/source/admin/pci-passthrough.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/source/admin/pci-passthrough.rst b/doc/source/admin/pci-passthrough.rst index ed90cd26a1..4789b7932c 100644 --- a/doc/source/admin/pci-passthrough.rst +++ b/doc/source/admin/pci-passthrough.rst @@ -436,6 +436,12 @@ be added to the resource provider representing the matching PCI devices. (Zed) the nova-compute service will refuse to start with such configuration. It is suggested to use the PCI address of the device instead. +.. important:: + While nova supported configuring :oslo.config:option:`pci.alias` where an + alias name is repeated and therefore associated to multiple alias + specifications, such configuration is not supported when PCI tracking in + Placement is enabled. + The nova-compute service makes sure that existing instances with PCI allocations in the nova DB will have a corresponding PCI allocation in placement. This allocation healing also acts on any new instances regardless of