[nova] Review guide for PCI tracking for Placement patches

Balazs Gibizer gibi at redhat.com
Tue Jun 21 12:04:01 UTC 2022


Hi Nova,

The first batch of patches are up for review for the PCI tracking for 
Placement feature. These mostly covers two aspects of the spec[1]:
1) renaming [pci]passthrough_whitelist to [pci]device_spec
2) pci inventory reporting to placement, excluding existing PCI 
allocation healing in placement

This covers the first 4 sub chapters of Proposed Change chapter of the 
spec[1] up until "PCI alias configuration". I noted intentional 
deviations from the spec in the spec review [2] and I will push a 
follow up to the spec at some point fixing those.

I tried to do it in small steps hence the long list of commits[3]:

#2) pci inventory reporting to placement, excluding existing PCI 
allocation healing in placement
5827d56310 Stop if tracking is disable after it was enabled before
a4b5788858 Support [pci]device_spec reconfiguration
10642c787a Reject devname based device_spec config
b0ad05fb69 Ignore PCI devs with physical_network tag
f5a34ee441 Reject mixed VF rc and trait config
c60b26014f Reject PCI dependent device config
5cf7325221 Extend device_spec with resource_class and traits
eff0df6a98 Basics for PCI Placement reporting
#1) renaming [pci]passthrough_whitelist to [pci]device_spec
adfe34080a Rename whitelist in tests
ea955a0c15 Rename exception.PciConfigInvalidWhitelist to 
PciConfigInvalidSpec
55770e4c14 Rename [pci]passthrough_whitelist to device_spec

There is a side track branching out from "adfe34080a Rename whitelist 
in tests" to clean up the device spec handling[4]:

514500b5a4 Move __str__ to the PciAddressSpec base class
3a6198c8fb Fix type annotation of pci.Whitelist class
f70adbb613 Remove unused PF checking from get_function_by_ifname
b7eef53b1d Clean up mapping input to address spec types
93bbd67101 Poison /sys access via various calls in test
467ef91a86 Remove dead code from PhysicalPciAddress
233212d30f Fix PciAddressSpec descendants to call super.__init__
ad5bd46f46 Unparent PciDeviceSpec from PciAddressSpec
cef0d2de4c Extra tests for remote managed dev spec
2fa2825afb Add more test coverage for devname base dev spec
adfe34080a Rename whitelist in tests

This is not a mandatory part of the feature but I think they improve 
the code in hand and even fixing some small bugs.


I will continue with adding allocation healing for existing PCI 
allocations.

Any feedback is highly appreciated.
Cheers,
gibi

[1] 
https://specs.openstack.org/openstack/nova-specs/specs/zed/approved/pci-device-tracking-in-placement.html
[2] https://review.opendev.org/c/openstack/nova-specs/+/791047
[3] 
https://review.opendev.org/q/topic:bp/pci-device-tracking-in-placement
[4] https://review.opendev.org/q/topic:bp/pci-device-spec-cleanup





More information about the openstack-discuss mailing list