← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1739440] Re: Ironic virt driver is hardcoding Ironic API microversion

 

Reviewed:  https://review.openstack.org/582416
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=4acbf4fee389129611541b6d7db999dd5ddb45ad
Submitter: Zuul
Branch:    master

commit 4acbf4fee389129611541b6d7db999dd5ddb45ad
Author: Julia Kreger <juliaashleykreger@xxxxxxxxx>
Date:   Thu Jul 12 15:43:15 2018 -0700

    ironic: provide facilities to gracefully navigate versions
    
    For quite some time, the nova virt driver has invoked the ironic
    python client library with a static microversion pin which causes
    operators to have a failed nova-compute process upon out of order
    upgrades, as well as causes ironic's grenade CI jobs to break every
    cycle when the pin is changed to a version released in the current
    cycle due to established community agreement as well as the grenade
    testing framework limitations.
    
    In order to gracefully navigate this, python-ironicclient has
    accepted a list of possible versions to negotiate since 2.2.0.
    
    This patch provies a mechanism to validate if we are able to
    send a request that was added at a specific version, allowing for
    minimal code changes and for logic to only be centered around newer
    features being added.
    
    Change-Id: I440689a246538fbc8200687e40480d837b87eb7b
    Closes-Bug: #1739440


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1739440

Title:
  Ironic virt driver is hardcoding Ironic API microversion

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Doing this imposes a minimum cap on the Ironic version Nova can work
  with, even if potentially it can use older version (with somewhat
  reduced functionality, for example, booting from volume is optional).

  This complicates upgrades by enforcing a strict ordering between
  Ironic API and Nova compute. It also makes using mixed versions
  impossible.

  We should make the virt driver negotiated a version, and then
  gracefully downgrade the feature set. See some thoughts at
  https://etherpad.openstack.org/p/ironic-api-version-negotiation.

  If time allows in the Queens release, we would like to make the
  already merged configdrive change backward compatible with Pike.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1739440/+subscriptions


References