pci plugin needs to be re-enabled for V2 microversions

Bug #1426241 reported by Christopher Yeoh
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Medium
Matt Riedemann

Bug Description

The PCI API support was enabled for v3 but never for V2. However V2.1 is built on v3 and it includes everything in v3. So we are disabling pci support in v3. and then will renable in the v2 microversions as one of the early microversion changes.

This bug is to keep track of this work.

Changed in nova:
importance: Undecided → Medium
assignee: nobody → Christopher Yeoh (cyeoh-0)
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

Reviewed: https://review.openstack.org/159767
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=45591b6da121737532862cfb342ef22769ac2d66
Submitter: Jenkins
Branch: master

commit 45591b6da121737532862cfb342ef22769ac2d66
Author: Chris Yeoh <email address hidden>
Date: Fri Feb 27 19:38:15 2015 +1030

    Disables pci plugin for v2.1 & microversions

    The pci plugin was only ever merged into the v3 (now v2.1 microversions)
    and never the v2 API. Since v2.1 i meant to be identical to v2 it should not
    appear in v2 either.

    This change disables the pci api functionality in v2.1. It will be renabled
    soon after microversions is enabled using a microversion bump.

    Related-Bug: 1426241
    Partially implements blueprint v2-on-v3-api

    Change-Id: Ifc1d6f24d5a637270154b996087a98b41133e014

Revision history for this message
Hans Lindgren (hanlind) wrote :

Is this to be done in kilo?

Revision history for this message
Christopher Yeoh (cyeoh-0) wrote :

V3 (and therefore pci) was never "released". Do you know of anyone who actually used the pci plugin (and thus the v3 api) in deployment?

Revision history for this message
Hans Lindgren (hanlind) wrote :

No, but the bug states it should be re-enabled soon after microversions landed. There are lots of pci code in Nova and it looks like it is actively being worked on. Maybe someone else knows.

Yongli He (yongli-he)
Changed in nova:
assignee: Christopher Yeoh (cyeoh-0) → Yongli He (yongli-he)
Revision history for this message
John Garbutt (johngarbutt) wrote :

To be clear, this will need a spec.

Revision history for this message
lvmxh (shaohef) wrote :
Changed in nova:
assignee: Yongli He (yongli-he) → nobody
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/457854

Changed in nova:
assignee: nobody → Matt Riedemann (mriedem)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/457854
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=75a7e6fc7d02608bf128ad72b2b8945515b12c21
Submitter: Jenkins
Branch: master

commit 75a7e6fc7d02608bf128ad72b2b8945515b12c21
Author: Matt Riedemann <email address hidden>
Date: Tue Apr 18 21:14:43 2017 -0400

    Remove unused os-pci API

    The os-pci API was never part of the v2.0 API and was added
    to the v3 API, but when the v3 API turned into the v2.1 API
    which is backward compatible with the v2.0 API, the os-pci
    API was removed from v2.1. The original intent was to enable
    it in a microversion but that never happened.

    We should just delete this API since it has a number of issues
    anyway:

    1. It's not documented (which makes sense since it's not enabled).
    2. The PciHypervisorController 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.
    3. We don't want to be reporting host stats out of the API [1].
    4. To make the os-hypervisors extension work in a multi-cell environment
       we'd have to add uuids to the PciDevices model and change the API to
       return and take in uuids to identify the devices for GET requests.
    5. And last but not least, no one has asked for this in over two years.

    As a result of removing this API we can also remove the join on the
    pci_devices table when showing details about an instance or listing
    instances, which were added years ago because of the PciServerController:

    Id3c8a0b187e399ce2acecd4aaa37ac95e731d46c

    Id3e60c3c56c2eb4209e8aca8a2c26881ca86b435

    [1] https://docs.openstack.org/developer/nova/policies.html?#metrics-gathering

    Closes-Bug: #1426241
    Closes-Bug: #1673869

    Change-Id: I9099744264eeec175672d10d04da69648dec1a9d

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.0.0.0b2

This issue was fixed in the openstack/nova 16.0.0.0b2 development milestone.

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.