I was working on writing a spec for a blueprint [1] that would have touched on the os-pci API [2] and got to documenting about how it's not even documented [3] when Alex pointed out that the API is not even enabled [4][5].

It turns out that the os-pci API was added in the Nova V3 API and pulled back out, and [5] was a tracking bug to add it back in with a microversion, and that never happened.

Given the ugliness described in [3], and that I think our views on exposing this type of information have changed [6] since it was originally added, I'm proposing that we just delete the API code.

The API code itself was added back in Icehouse [7].

I tend to think if someone cared about needing this information in the REST API, they would have asked for it by now. As it stands, it's just technical debt and even if we did expose it, there are existing issues in the API, like the fact that the os-hypervisors extension just takes the compute_nodes.pci_stats dict and dumps it to json out of the REST API with no control over the keys in the response. That means if we ever change the fields in the PciDevicePool object, we implicitly introduce a backward incompatible change in the REST API.

So I move that we delete the (dead) code. Are there good reasons not to?

[1] https://blueprints.launchpad.net/nova/+spec/service-hyper-pci-uuid-in-api [2] https://github.com/openstack/nova/blob/15.0.0/nova/api/openstack/compute/pci.py
[3] https://bugs.launchpad.net/nova/+bug/1673869
[4] https://github.com/openstack/nova/blob/15.0.0/setup.cfg#L132
[5] https://bugs.launchpad.net/nova/+bug/1426241
[6] https://docs.openstack.org/developer/nova/policies.html?highlight=metrics#metrics-gathering
[7] https://review.openstack.org/#/c/51135/




OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

Reply via email to