Define the Integrated-gate-networking 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-networking'
gate template for neutron gate which will run only nova and neutron 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-networking template on neutron gate.

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

Change-Id: Ifca8172f2f929105af4bad8ab72b05c2c45a5f58
This commit is contained in:
Ghanshyam 2019-07-03 14:40:53 +00:00 committed by Ghanshyam Mann
parent 2df6114e44
commit 5072a24080
3 changed files with 64 additions and 0 deletions

View File

@ -171,6 +171,26 @@
# without Swift, c-bak cannot run (in the Gate at least)
c-bak: false
- job:
name: tempest-integrated-networking
parent: devstack-tempest
branches: ^(?!stable/ocata).*$
description: |
This job runs integration tests for networking. This is subset of
'tempest-full' job and run only Neutron and Nova related tests.
This is meant to be run on neutron gate only.
vars:
tox_envlist: integrated-network
devstack_localrc:
USE_PYTHON3: true
FORCE_CONFIG_DRIVE: true
devstack_services:
s-account: false
s-container: false
s-object: false
s-proxy: false
c-bak: false
- job:
name: tempest-full-py3-ipv6
parent: devstack-tempest-ipv6
@ -499,6 +519,21 @@
ENABLE_FILE_INJECTION: true
DATABASE_TYPE: postgresql
- project-template:
name: integrated-gate-networking
description: |
Run the python3 Tempest network integration tests (Nova and Neutron related)
in check and gate for the neutron integrated gate. This is meant to be
run on neutron gate only.
check:
jobs:
- grenade-py3
- tempest-integrated-networking
gate:
jobs:
- grenade-py3
- tempest-integrated-networking
- project:
templates:
- check-requirements

View File

@ -0,0 +1,17 @@
# This file includes the backlist of tests which need to be
# skipped for Integrated-gate-networking template.
# Skip Cinder, Glance, keystone and Swift API tests.
tempest.api.volume
tempest.api.image
tempest.api.object_storage
tempest.api.identity
# Skip Cinder, Glance and Swift only scenario tests.
tempest.scenario.test_encrypted_cinder_volumes.TestEncryptedCinderVolumes.test_encrypted_cinder_volumes_luks
tempest.scenario.test_encrypted_cinder_volumes.TestEncryptedCinderVolumes.test_encrypted_cinder_volumes_cryptsetup
tempest.scenario.test_object_storage_basic_ops.TestObjectStorageBasicOps.test_swift_basic_ops
tempest.scenario.test_object_storage_basic_ops.TestObjectStorageBasicOps.test_swift_acl_anonymous_download
tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_boot_server_from_encrypted_volume_luks
tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_image_defined_boot_from_volume
tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_create_server_from_volume_snapshot

12
tox.ini
View File

@ -118,6 +118,18 @@ commands =
find . -type f -name "*.pyc" -delete
tempest run --regex '(^tempest\.scenario.*)|(?!.*\[.*\bslow\b.*\])(^tempest\.api)' {posargs}
[testenv:integrated-network]
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-networking-blacklist.txt {posargs}
tempest run --combine --serial --regex '(?!.*\[.*\bslow\b.*\])(^tempest\.scenario)' --blacklist_file ./tools/tempest-integrated-gate-networking-blacklist.txt {posargs}
[testenv:full-serial]
envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages}