[microversions] Skip microversion 2.18

2.18 - Establishes a set of routes that makes project_id an optional
       construct in v2.1.

The change on Nova-API side adds only check for existence of
"project_id" at the url. It doesn't check microversion, so all latest
and previous microversions can work with or without project_id.
Proof: all functional tests are succeed on this change (several of them
       use latest microversion).

To cut down "project_id" from the url at the novaclient side, we need to
modify ``novaclient.client.HttpClient`` and
``novaclient.client.SessionClient``. This change requires splitting
Nova's related requests and the others(authentication, volume...), which
are still require "project_id" at the url.

It is a complex task, which can be skipped for now to unblock
implementation of further microversions.

Change-Id: Ia6e608aac41d2f2d59b9504d21647e4f88af3335
This commit is contained in:
Andrey Kurilin
2016-02-10 13:49:53 +02:00
parent 3da2728ce6
commit ecaca2279e
2 changed files with 9 additions and 1 deletions

View File

@@ -25,4 +25,4 @@ API_MIN_VERSION = api_versions.APIVersion("2.1")
# when client supported the max version, and bumped sequentially, otherwise
# the client may break due to server side new version may include some
# backward incompatible change.
API_MAX_VERSION = api_versions.APIVersion("2.17")
API_MAX_VERSION = api_versions.APIVersion("2.18")

View File

@@ -2677,6 +2677,14 @@ class ShellTest(utils.TestCase):
9, # doesn't require any changes in novaclient
15, # doesn't require any changes in novaclient
16, # doesn't require any changes in novaclient
18, # NOTE(andreykurilin): this microversion requires changes in
# HttpClient and our SessionClient, which is based on
# keystoneauth1.session. Skipping this complicated change
# allows to unblock implementation further microversions
# before feature-freeze
# (we can do it, since nova-api change didn't actually add
# new microversion, just an additional checks. See
# https://review.openstack.org/#/c/233076/ for more details)
])
versions_supported = set(range(0,
novaclient.API_MAX_VERSION.ver_minor + 1))