PCI device tracking in placement

Registered by sean mooney

over the past few years we have been slowly moving quantitative tracking of resources to placement.
Today pci_devices are managed by the pci tracker and and are not modelled in placement.
while this works it has some disadvantages namely concurrent server create commands can both race for the same pci device.
The current approach also required a python post filter to be used to ensure that the correct type of pci device exists on a host.

this blueprint track modeling pci_device in placement using custom and standard resource classes and traits.

Blueprint information

Status:
Complete
Approver:
Sylvain Bauza
Priority:
Undefined
Drafter:
sean mooney
Direction:
Approved
Assignee:
Balazs Gibizer
Definition:
Approved
Series goal:
Accepted for antelope
Implementation:
Implemented
Milestone target:
None
Started by
Sylvain Bauza
Completed by
Sylvain Bauza

Related branches

Sprints

Whiteboard

Spec: https://review.opendev.org/c/openstack/nova-specs/+/791047
Topic: https://review.opendev.org/q/topic:bp/pci-device-tracking-in-placement

[20220614 bauzas] Spec was approved for the Zed cycle https://review.opendev.org/c/openstack/nova-specs/+/791047

[20221028 bauzas] Spec was approved for the Antelope cycle https://review.opendev.org/c/openstack/nova-specs/+/855661

Gerrit topic: https://review.opendev.org/#/q/topic:bp/pci-device-tracking-in-placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/862876
    FUP for the scheduler part of PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/867978
    Split ignored_tags in stats.py

Addressed by: https://review.opendev.org/c/openstack/nova/+/854121
    Store allocated RP in InstancePCIRequest

Addressed by: https://review.opendev.org/c/openstack/nova/+/854122
    Func test for PCI in placement scheduling

Addressed by: https://review.opendev.org/c/openstack/nova/+/854247
    Support cold migrate and resize with PCI tracking in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854615
    Support evacuate with PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854616
    Support unshelve with PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854441
    Support same host resize with PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854626
    Test reschedule with PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854663
    Test multi create with PCI in placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/854924
    Allow enabling PCI scheduling in Placement

Addressed by: https://review.opendev.org/c/openstack/nova/+/855654
    Follow up for the PCI in placement series

Addressed by: https://review.opendev.org/c/openstack/nova/+/855648
    Rename _to_device_spec_conf to _to_list_of_json_str

Addressed by: https://review.opendev.org/c/openstack/nova/+/855649
    Reproduce PCI pool filtering bug

Addressed by: https://review.opendev.org/c/openstack/nova/+/855650
    Strictly follow placement allocation during PCI claim

Addressed by: https://review.opendev.org/c/openstack/nova/+/854929
    Factor out base class for candidate aware filters

Addressed by: https://review.opendev.org/c/openstack/nova/+/855885
    Show candidate combinatorial explosion by dev number

[20230123 bauzas] Most of the series got implemented.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.