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
This commit is contained in:
Ghanshyam Mann 2021-09-03 10:21:54 -05:00
parent acf37cf89b
commit ba28d78c30
3 changed files with 27 additions and 0 deletions

12
tox.ini
View File

@ -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}

View File

@ -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

View File

@ -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