neutron/zuul.d/base.yaml
Brian Haley 0afdfb0ad5 Fix regex lines in zuul.d/* files
Commit 260c968118 broke the gate by causing jobs
to not get run when it added RE2 compatibility for
irrelevant-files. Digging found that RE2 doesn't
support negative lookahead (and won't ever), so it's
impossible to replace the previous pcre filter with a
similar RE2 filter.

Instead of reverting to the original filter, which
is considered obsolete by zuul, this patch fixes the
issue by explicitly listing all files under zuul.d/
except the one that we actually want to trigger the
jobs: zuul.d/project.yaml.

Listing all the files in the directory for every job
is not ideal, and we may revisit it later, or perhaps
even reconsider the extensive use of irrelevant-files
in the neutron tree. This will have to wait for when
the gate is in better shape though.

[0] https://github.com/google/re2/issues/156

Conflicts:
    zuul.d/base.yaml
    zuul.d/grenade.yaml
    zuul.d/job-templates.yaml
    zuul.d/project.yaml
    zuul.d/rally.yaml
    zuul.d/tempest-multinode.yaml
    zuul.d/tempest-singlenode.yaml

Related-bug: #2065821
Change-Id: I3bba89ac14414c6b7d375072ae92d2e0b5497736
(cherry picked from commit 11027e3e1e)
2024-08-01 11:40:18 +02:00

190 lines
6.5 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/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base.yaml
- ^zuul.d/grenade.yaml
- ^zuul.d/job-templates.yaml
- ^zuul.d/rally.yaml
- ^zuul.d/tempest-multinode.yaml
- ^zuul.d/tempest-singlenode.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/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base.yaml
- ^zuul.d/grenade.yaml
- ^zuul.d/job-templates.yaml
- ^zuul.d/rally.yaml
- ^zuul.d/tempest-multinode.yaml
- ^zuul.d/tempest-singlenode.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-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-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-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-2024-1
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-2024-1
pre-run: playbooks/install_nftables.yaml
vars:
devstack_local_conf:
post-config:
$NEUTRON_CONF:
SECURITYGROUP:
enable_ipset: false # Not compatible with nftables