[nova] Review guide for PCI tracking for Placement patches

Balazs Gibizer gibi at redhat.com
Mon Jul 11 07:33:04 UTC 2022

On Tue, Jun 21 2022 at 02:04:01 PM +02:00:00, Balazs Gibizer 
<gibi at redhat.com> wrote:
> 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.

Pinging this thread as I would like to ask for at least a high level 
review round to see that the implementation direction is OK before I 
produce the next bunch of commits of the series.

> 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