Define the Integrated-gate-object-storage gate template

tempest-full job run all services API and scenario tests (non slow)
and this job is part of Integrated-gate gate template which run on
multiple services (nova, neutron, cinder, glance, placement) check
and gate pipeline.

But there are many unrelated tests run on each project gate. For example,
neutron gate run cinder only tests and fail due to cinder bugs. There is
no point of breaking the neutron gate due to cinder only test failure and
slow down the neutron development phase.

This is what we dicussed in Train PTG in denver to improve the integrated
gate[1] and came up with idea of split the integated-gate template into
much logical way so that only dependent services tests run on their gate.

One way was to move the service only tests to service tempest plugin side
but Tempest is used by interop as well as on production cloud testing so
moving the test is not good idea.

This commit propose the idea of defining the 'Integrated-gate-object-storage'
gate template for swift gate which will run only Swift, Cinder and glance tests.

ML discussion: http://lists.openstack.org/pipermail/openstack-discuss/2019-May/005871.html

Next step will be to replace the Integrated-gate-py3 template with new
Integrated-gate-object-storage template on swift gate.

[1] https://etherpad.openstack.org/p/qa-train-ptg

Change-Id: I70851d41174462b83cc8c525cecdb1b3d65e4ec7
This commit is contained in:
Ghanshyam 2019-07-05 08:58:32 +00:00 committed by Ghanshyam Mann
parent ee7fd1f7e9
commit 95358523e4
3 changed files with 61 additions and 0 deletions

View File

@ -248,6 +248,22 @@
FORCE_CONFIG_DRIVE: true FORCE_CONFIG_DRIVE: true
ENABLE_VOLUME_MULTIATTACH: true ENABLE_VOLUME_MULTIATTACH: true
- job:
name: tempest-integrated-object-storage
parent: devstack-tempest
branches: ^(?!stable/ocata).*$
description: |
This job runs integration tests for object storage. This is
subset of 'tempest-full' job and run Swift, Cinder and Glance
related tests. This is meant to be run on Swift gate only.
vars:
tox_envlist: integrated-object-storage
devstack_localrc:
# NOTE(gmann): swift is not ready on python3 yet and devstack
# install it on python2.7 only. But settting the USE_PYTHON3
# for future once swift is ready on py3.
USE_PYTHON3: true
- job: - job:
name: tempest-full-py3-ipv6 name: tempest-full-py3-ipv6
parent: devstack-tempest-ipv6 parent: devstack-tempest-ipv6
@ -638,6 +654,22 @@
- grenade-py3 - grenade-py3
- tempest-integrated-storage - tempest-integrated-storage
- project-template:
name: integrated-gate-object-storage
description: |
Run the python3 Tempest object storage integration tests
(Swift, Cinder and Glance related) in check and gate
for the swift integrated gate. This is meant to be
run on swift gate only.
check:
jobs:
- grenade-py3
- tempest-integrated-object-storage
gate:
jobs:
- grenade-py3
- tempest-integrated-object-storage
- project: - project:
templates: templates:
- check-requirements - check-requirements

View File

@ -0,0 +1,17 @@
# This file includes the backlist of tests which need to be
# skipped for Integrated-gate-object-storage template. Integrated-gate-object-storage template
# needs to run only Swift, Cinder and Glance related tests and rest all
# tests will be skipped by below list.
# Skip network, compute, keystone API tests.
tempest.api.network
tempest.api.compute
tempest.api.identity
# Skip network, compute, keystone only scenario tests
tempest.scenario.test_network_advanced_server_ops.TestNetworkAdvancedServerOps.test_network_advanced_server_ops
tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops
tempest.scenario.test_network_v6.TestGettingAddress.test_security_groups_basic_ops
tempest.scenario.test_server_advanced_ops.TestServerAdvancedOps.test_server_sequence_suspend_resume
tempest.scenario.test_server_basic_ops.TestServerBasicOps.test_server_basic_ops
tempest.scenario.test_server_multinode.TestServerMultinode.test_schedule_to_all_nodes

12
tox.ini
View File

@ -166,6 +166,18 @@ commands =
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs} tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs}
tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs} tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-storage-blacklist.txt {posargs}
[testenv:integrated-object-storage]
envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages}
setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and
# tests listed in blacklist file:
commands =
find . -type f -name "*.pyc" -delete
tempest run --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.api)' --blacklist_file ./tools/tempest-integrated-gate-object-storage-blacklist.txt {posargs}
tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-object-storage-blacklist.txt {posargs}
[testenv:full-serial] [testenv:full-serial]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}