Files
neutron/zuul.d/base.yaml
Slawek Kaplonski 78bc33d300 [Fullstack] Use new DB for each running test
Until now neutron fullstack tests which were run by the same worker were
using same DB but after test content of the DB was cleaned.
This could cause problems e.g. for default security group rules which
weren't created properly in second test run by the same worker.

To fix that issue patch [1] was proposed and merged some time ago. But
this didn't solve the problem so this patch is effectively reverting [1]
and proposing another solution which will make each fullstack test to
use own DB and run db migration script.

As running DB migration before every test makes this jobs to run a bit
longer than it took before, this patch also increases timeout for the
fullstack job(s) to 3h (10800 seconds).

[1] https://review.opendev.org/c/openstack/neutron/+/891040

Related-bug: #1983053
Change-Id: Ia261b4c62db9a99ef6eb161acb4609520e45d101
2023-08-30 12:16:51 +02:00

271 lines
8.8 KiB
YAML

- job:
name: neutron-functional
parent: devstack-minimal
description: Run neutron functional tests
timeout: 7800
required-projects:
- opendev.org/openstack/devstack
- openstack/neutron
- openstack/requirements
roles:
- zuul: openstack/devstack
pre-run: playbooks/configure_functional_job.yaml
run: playbooks/run_functional_job.yaml
post-run: playbooks/post_functional_job.yaml
irrelevant-files: &irrelevant-files
- ^\.pylintrc$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^devstack/.*\.sample$
- ^playbooks/add_mariadb_repo.yaml
- ^playbooks/configure_ebtables.yaml
- ^playbooks/dvr-multinode-scenario-pre-run.yaml
- ^playbooks/install_nftables.yaml
- ^playbooks/multinode-setup.yaml
- ^playbooks/prepare-ovn-multinode.yaml
- ^roles/add_mariadb_repo/.*$
- ^roles/nftables/.*$
- ^rally-jobs/.*$
- ^zuul.d/(?!(project)).*\.yaml
vars:
configure_swap_size: 8192
Q_BUILD_OVS_FROM_GIT: True
MEMORY_TRACKER: True
INSTALL_OVN: True
devstack_services:
# Ignore any default set by devstack. Emit a "disable_all_services".
base: false
etcd3: false
devstack_localrc:
INSTALL_TESTONLY_PACKAGES: true
DATABASE_PASSWORD: stackdb
tox_envlist: dsvm-functional-gate
tox_constraints_file: '{{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt'
zuul_copy_output:
# We need to copy archive with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'/opt/stack/logs/dsvm-functional-logs.tar.gz': logs
- job:
name: neutron-fullstack
parent: neutron-functional
timeout: 10800
vars:
tox_envlist: dsvm-fullstack-gate
Q_BUILD_OVS_FROM_GIT: False
INSTALL_OVN: False
logs_path: '/opt/stack/logs/dsvm-fullstack-logs'
log_archive_file_name: '/opt/stack/logs/dsvm-fullstack-logs.tar.gz'
zuul_copy_output:
# We need to copy archive with logs to have it in job artifacts also,
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'/opt/stack/logs/dsvm-fullstack-logs.tar.gz': logs
irrelevant-files:
- ^\.pylintrc$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/functional/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/plugins/ml2/drivers/ovn/.*$
- ^neutron_lib/tests/unit/.*$
- ^vagrant/.*$
- ^devstack/.*\.sample$
- ^playbooks/add_mariadb_repo.yaml
- ^playbooks/configure_ebtables.yaml
- ^playbooks/dvr-multinode-scenario-pre-run.yaml
- ^playbooks/install_nftables.yaml
- ^playbooks/multinode-setup.yaml
- ^playbooks/prepare-ovn-multinode.yaml
- ^roles/add_mariadb_repo/.*$
- ^roles/nftables/.*$
- ^rally-jobs/.*$
- ^zuul.d/(?!(project)).*\.yaml
- job:
name: neutron-fullstack-with-uwsgi
parent: neutron-fullstack
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron
- job:
name: neutron-fullstack-with-uwsgi-with-neutron-lib-master
branches: ^master$
parent: neutron-fullstack-with-uwsgi
required-projects:
- openstack/neutron-lib
- job:
name: neutron-fullstack-with-pyroute2-master
branches: ^master$
parent: neutron-fullstack
required-projects:
- name: github.com/svinota/pyroute2
- job:
name: neutron-functional-with-uwsgi
parent: neutron-functional
vars:
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: true
# Because this job uses neutron defined tox env (defined in base job),
# we need to set zuul_work_dir to neutron so that it can be used by
# other projects. Currently devstack run this job. Not setting this
# in base neutron-functional job as that is being used by neutron
# stadium projects where they need to use stadium project as working dir.
zuul_work_dir: src/opendev.org/openstack/neutron
- job:
name: neutron-functional-with-uwsgi-with-neutron-lib-master
branches: ^master$
parent: neutron-functional-with-uwsgi
required-projects:
- openstack/neutron-lib
- job:
name: neutron-functional-with-uwsgi-fips
parent: neutron-functional-with-uwsgi
nodeset: devstack-single-node-centos-9-stream
description: |
Functional testing for a FIPS enabled Centos 9 system
vars:
nslookup_target: 'opendev.org'
enable_fips: True
devstack_localrc:
ISCSI_CHAP_ALGORITHMS: SHA3-256,SHA256
Q_BUILD_OVS_FROM_GIT: true
- job:
name: neutron-functional-with-pyroute2-master
branches: ^master$
parent: neutron-functional
required-projects:
- name: github.com/svinota/pyroute2
- job:
name: neutron-functional-with-oslo-master
branches: ^master$
parent: neutron-functional
description: |
This job installs all oslo libraries from source and executes the
Neutron functional tests.
# NOTE(ralonsoh): the list of required projects is retrieved from
# "openstack-tox-with-oslo-master-base" job.
# TODO(ralonsoh): push a patch to "openstack-zuul-jobs" to create
# a list reference of the required projects for "-oslo-master" jobs.
required-projects:
- openstack/automaton
- openstack/debtcollector
- openstack/futurist
- openstack/osprofiler
- openstack/oslo.cache
- openstack/oslo.concurrency
- openstack/oslo.config
- openstack/oslo.context
- openstack/oslo.db
- openstack/oslo.i18n
- openstack/oslo.log
- openstack/oslo.messaging
- openstack/oslo.middleware
- openstack/oslo.policy
- openstack/oslo.privsep
- openstack/oslo.reports
- openstack/oslo.rootwrap
- openstack/oslo.serialization
- openstack/oslo.service
- openstack/oslo.utils
- openstack/oslo.versionedobjects
- openstack/oslo.vmware
- openstack/oslotest
- openstack/pycadf
- openstack/stevedore
- openstack/taskflow
- openstack/tooz
- openstack/pbr
- job:
name: neutron-functional-with-sqlalchemy-master
branches: ^master$
parent: neutron-functional
required-projects:
- name: github.com/sqlalchemy/sqlalchemy
override-checkout: main
- openstack/oslo.db
- openstack/neutron-lib
- name: github.com/sqlalchemy/alembic
override-checkout: main
- job:
name: openstack-tox-py310-with-sqlalchemy-master
branches: ^master$
parent: openstack-tox-py310
required-projects:
- name: github.com/sqlalchemy/sqlalchemy
override-checkout: main
- openstack/oslo.db
- openstack/neutron-lib
- name: github.com/sqlalchemy/alembic
override-checkout: main
- job:
name: neutron-fullstack-with-uwsgi-fips
parent: neutron-fullstack-with-uwsgi
nodeset: devstack-single-node-centos-9-stream
description: |
Functional testing for a FIPS enabled Centos 9 system
vars:
nslookup_target: 'opendev.org'
enable_fips: True
devstack_localrc:
ISCSI_CHAP_ALGORITHMS: SHA3-256,SHA256
Q_BUILD_OVS_FROM_GIT: true
- job:
name: neutron-linuxbridge-tempest-plugin-nftables
parent: neutron-tempest-plugin-linuxbridge
pre-run: playbooks/install_nftables.yaml
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
SECURITYGROUP:
enable_ipset: false # Not compatible with nftables
- job:
name: neutron-ovs-tempest-plugin-iptables_hybrid-nftables
parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
pre-run: playbooks/install_nftables.yaml
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
SECURITYGROUP:
enable_ipset: false # Not compatible with nftables