Comment 14 for bug 1500688

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-novaclient (stable/liberty)

Reviewed: https://review.openstack.org/239277
Committed: https://git.openstack.org/cgit/openstack/python-novaclient/commit/?id=dc4970728bae71f9745506190cc87b2edb36b0b8
Submitter: Jenkins
Branch: stable/liberty

commit dc4970728bae71f9745506190cc87b2edb36b0b8
Author: Matt Riedemann <email address hidden>
Date: Thu Oct 1 09:19:14 2015 -0700

    Set DEFAULT_OS_COMPUTE_API_VERSION to 2.5

    The client currently implements support for microversions 2.2, 2.4 and
    2.11.

    According the nova API microversion history:

    http://docs.openstack.org/developer/nova/api_microversion_history.html

    2.3 just returns extra attributes in the response so it's not a problem
    for the client. We should expose those at some point but it's not a
    breaking change.

    2.5 is a server-side only change since the client allows filtering
    servers by IPv6 address but the server wasn't honoring that until 2.5.
    There are no client side changes for that microversion.

    2.6 is the first backwards incompatible microversion since it replaces
    the old specific console APIs (RDP/serial/SPICE/VNC) with a new generic
    remote-consoles API. The client must be updated to handle this since
    requesting any microversion >=2.6 for consoles will fail right now. This
    is exposed on the CLI right now because the CLI defaults to the 2.latest
    microversion.

    So even though the client actually supports the 2.11 microversion, we
    shouldn't default to higher than 2.5 because we have gaps in handling
    2.6->2.10.

    This change fixes the default for the CLI by setting
    DEFAULT_OS_COMPUTE_API_VERSION=2.5.

    Partial-Bug: #1500688

    Change-Id: I52074f9a3e7faa6a7a51c3fa9766100acf25dee2
    (cherry picked from commit d045019f0f2d28f26730b3617f7d7b993506b6e8)

    ------------------------------------------------------------------------
    The first change introduced a regression which is fixed in the following
    squashed change to make the complete fix.
    ------------------------------------------------------------------------

    Correct usage of API_MAX_VERSION and DEFAULT_OS_COMPUTE_API_VERSION

    Commit d045019f0f2d28f26730b3617f7d7b993506b6e8 use the variables
    API_MAX_VERSION and DEFAULT_OS_COMPUTE_API_VERSION with wrong way.

    API_MAX_VERSION means the max version of client supported. This
    variable only be changed when client support the new version. And
    it's must bumped sequentially.

    DEFAULT_OS_COMPUTE_API_VERSION is default value of option
    '--os-compute-api-version', this value decided the default behaviour
    of nova client. The nova client CLI behaviour should be that client
    negotiate with server side to find out most recent version betweeyn
    client and server. So the value should be '2.latest'. And it won't
    be changed except we decided to change the default behaviour of nova
    client CLI.

    Change-Id: Iba9bfa136245bd2899c427ac0c231a30c00bd7f3
    Closes-Bug: #1508244
    (cherry picked from commit 28bf8ddb06a618bec280c9fbc21b4be6af2c1787)