
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
271 lines
8.8 KiB
YAML
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
|