[RFE] Allow inspection to discover pci devices

Bug #1681320 reported by Nisha Agarwal
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Triaged
Wishlist
Unassigned

Bug Description

This RFE proposes to allow inspection(OOB and inband both) to discover pci devices and populate the data in the capabilities field. Essentially it means to implement https://github.com/openstack/ironic-inspector-specs/blob/master/specs/generic-pci-resource.rst in ironic for OOB inspection.

summary: - Allow inspection to discover pci devices
+ [RFE] Allow inspection to discover pci devices
Revision history for this message
Jay Faulkner (jason-oldos) wrote :

I might suggest you combine this with 1680780 and address it in a single spec.

Changed in ironic:
status: New → Triaged
importance: Undecided → Wishlist
Revision history for this message
Wan-yen Hsu (wanyenhsu) wrote :

Inspector already discovers PCI devices so this RFE is to allow OOB inspection to discover the same.

Revision history for this message
Nisha Agarwal (agarwalnisha1980) wrote :

To add on Wanyen's comment, Inspector has the spec implemented https://github.com/openstack/ironic-inspector-specs/blob/master/specs/generic-pci-resource.rst for the PCI devices discovery. The solution now will sit in ironic instead of ironic-inspector to allow OOB inspection to do the same.

So ideally it would be like this:

1. Add a new section [pci] in ironic.conf
2. Add pci_alias example in ironic.conf under [pci] as given in https://docs.openstack.org/admin-guide/compute-pci-passthrough.html and https://github.com/openstack/ironic-inspector/blob/7fff708b2cdd61938fe1ea41303a8b71cebdba02/example.conf#L705-L714
3. The inspection returns the list of pci devices based on aliases in ironic.conf.
4. ironic updates the node.properties as node.properties.aliases = {'alias1': <count>, 'alias2': <count>}
5. This can be used from nova by extending the nova.conf as given in https://docs.openstack.org/admin-guide/compute-pci-passthrough.html and adding PciPassthroughFilter to "baremetal_enabled_filters" variable in nova.conf.

Given above explanation does this require any spec?

Revision history for this message
Nisha Agarwal (agarwalnisha1980) wrote :

Since inspector already adds it in capabilities field, it should be fine for OOB inspection to add the pci data to capabilities insted of any other field. It will essentially follow the same spec as implemented in inspector. https://github.com/openstack/ironic-inspector-specs/blob/master/specs/generic-pci-resource.rst

SO ideally it would be like this:
1. Add a new section [pci] in ironic.conf
2. Add pci_alias example in ironic.conf under [pci] as given in https://docs.openstack.org/admin-guide/compute-pci-passthrough.html and https://github.com/openstack/ironic-inspector/blob/7fff708b2cdd61938fe1ea41303a8b71cebdba02/example.conf#L705-L714
3. The inspection returns the list of pci devices based on aliases in ironic.conf.
4. ironic updates the node.properties as node.properties.capabilities = "alias1:count1,alias2:count2"

description: updated
Revision history for this message
milan k (vetrisko) wrote :
Revision history for this message
milan k (vetrisko) wrote :

IMO a spec is required to discuss how ironic vs inspector PCI-alias mapping should be shared.
So far 2 options were suggested that deserve more detailed description:
* extend the API of the inspector to contain the mapping
* let the ironic's inspector inspection interface post-process the mapping

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic-specs (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/475648

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on ironic-specs (master)

Change abandoned by "Dmitry Tantsur <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/ironic-specs/+/475648
Reason: Abandoning because of inactivity.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.