[openstack-dev] [nova] Should we delete the (unexposed) os-pci API?

Matt Riedemann mriedemos at gmail.com
Fri Mar 17 20:19:06 UTC 2017


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/

-- 

Thanks,

Matt



More information about the OpenStack-dev mailing list