supports_device_tagging check in /servers API won't work with multiple cells

Bug #1695993 reported by Matt Riedemann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Matt Riedemann

Bug Description

The /servers API controller does a minimum nova-compute service version check in the deployment before allowing you to create a server with block device or virtual interface tags (the 2.32 microversion):

https://github.com/openstack/nova/blob/78c69f61ab186c3d3eb0fe5cc5114cc71f0fbdad/nova/api/openstack/compute/servers.py#L496-L499

That won't work if we have multiple cells since the services records are in the cells databases.

So we'd really need to iterate the cells, get the minimums for each, and then get the final minimum across all of the cells.

Tags: api cells
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/471431

Changed in nova:
assignee: nobody → Dan Smith (danms)
status: Triaged → In Progress
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/471432

Changed in nova:
assignee: Dan Smith (danms) → Matt Riedemann (mriedem)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to nova (master)

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

commit af5ef8ee0b367d8357dd1b85edc5791ed3fe45e4
Author: Dan Smith <email address hidden>
Date: Tue Jun 6 09:40:22 2017 -0700

    Add get_minimum_version_all_cells() helper for service

    If we're making decisions in the API about the age of services
    such as compute, we need to survey all the cells to get the minimum
    across all of them. This adds a helper function that can be used
    from places where we need to do that.

    Change-Id: I9976de405de575d9da1389e629c17694207d8c34
    Related-Bug: #1695993

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

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

commit d9281796f23ec42c4823baa577b3efc6ab8eafbf
Author: Dan Smith <email address hidden>
Date: Tue Jun 6 10:18:23 2017 -0700

    Fix device metadata service version check for multiple cells

    This makes the service version check for device metadata support use the
    new cross-cell helper. Without this, we could incorrectly determine that
    everything is new when it is not.

    Change-Id: I207dd91c447d7b0da392d333a2806a1a10e1451c
    Closes-Bug: #1695993

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/nova 16.0.0.0b3

This issue was fixed in the openstack/nova 16.0.0.0b3 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.