From ba28d78c30d4b7a6b144e0a963968dbe4963ac59 Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Fri, 3 Sep 2021 10:21:54 -0500 Subject: [PATCH] Add experimental job to run test with 'latest' microversion API microversions are inhertied in nature from features points of view, means higher microversion will have all the features/ changes done in lower microversion. In Tempest we write the microversion tests by capping the min and max microversion so that they can request the API with correct microversion. But for non microversion tests we do not test if they are run-able for all the configured microversion in Tempest config file. To test it at some extend this commit adds a experimental job to run the API tests (compute and volume) with 'latest' microversion to know if that run successfully or need modification. This job is experimental as now as I expect lot of test failure with the 'latest' microversion and as we keep fixing those and all the tests pass then we can move it to voting job in check/gate pipeline. Change-Id: Ie840dd0997519d7e11a661853f9376f43c6e7905 --- tox.ini | 12 ++++++++++++ zuul.d/integrated-gate.yaml | 14 ++++++++++++++ zuul.d/project.yaml | 1 + 3 files changed, 27 insertions(+) diff --git a/tox.ini b/tox.ini index cd321741de..efdaacc2ad 100644 --- a/tox.ini +++ b/tox.ini @@ -125,6 +125,18 @@ commands = find . -type f -name "*.pyc" -delete tempest run --regex '(^tempest\.scenario.*)|(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs} +[testenv:api-microversion-tests] +envdir = .tox/tempest +sitepackages = {[tempestenv]sitepackages} +basepython = {[tempestenv]basepython} +setenv = {[tempestenv]setenv} +deps = {[tempestenv]deps} +# The regex below is used to select all tempest api tests for services having API +# microversion concept. +commands = + find . -type f -name "*.pyc" -delete + tempest run --regex '(^tempest\.api\.compute)|(^tempest\.api\.volume)' {posargs} + [testenv:integrated-network] envdir = .tox/tempest sitepackages = {[tempestenv]sitepackages} diff --git a/zuul.d/integrated-gate.yaml b/zuul.d/integrated-gate.yaml index 2da5579f30..2faaa29e4b 100644 --- a/zuul.d/integrated-gate.yaml +++ b/zuul.d/integrated-gate.yaml @@ -193,6 +193,20 @@ # for future once swift is ready on py3. USE_PYTHON3: true +- job: + name: tempest-with-latest-microversion + parent: tempest-full-py3 + description: | + This job runs compute, placement and volume API tests with 'latest' + API microversion (This can be extended to other services having API + microversion concept). + vars: + tox_envlist: api-microversion-tests + devstack_localrc: + TEMPEST_COMPUTE_MIN_MICROVERSION: 'latest' + TEMPEST_VOLUME_MIN_MICROVERSION: 'latest' + TEMPEST_PLACEMENT_MIN_MICROVERSION: 'latest' + - job: name: tempest-multinode-full parent: tempest-multinode-full-base diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 7f490e1eb4..566c2c3f80 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -132,6 +132,7 @@ irrelevant-files: *tempest-irrelevant-files experimental: jobs: + - tempest-with-latest-microversion - tempest-stestr-master - tempest-cinder-v2-api: irrelevant-files: *tempest-irrelevant-files