neutron/zuul.d/tempest-singlenode.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

627 lines
19 KiB
YAML

- job:
name: neutron-tempest-base
description: Base job for tempest to test Neutron
parent: tempest-integrated-networking
abstract: true
timeout: 10800
required-projects:
- openstack/neutron
- openstack/tempest
pre-run: playbooks/configure_ebtables.yaml
vars:
tempest_concurrency: 4
devstack_localrc:
Q_ML2_TENANT_NETWORK_TYPE: vxlan
MYSQL_REDUCE_MEMORY: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
# OVN services
ovn-controller: false
ovn-northd: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: true
q-svc: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
- job:
name: neutron-ovs-tempest-base
description: Base job for tempest to test Neutron with ML2/OVS driver
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
irrelevant-files: &openvswitch-irrelevant-files
- ^\.pylintrc$
- ^test-requirements.txt$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/linuxbridge/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/plugins/ml2/drivers/ovn/.*$
- ^neutron/services/ovn_l3/.*$
- ^neutron/services/logapi/drivers/ovn/.*$
- ^neutron/services/portforwarding/drivers/ovn/.*$
- ^neutron/services/qos/drivers/linuxbridge/.*$
- ^neutron/services/qos/drivers/ovn/.*$
- ^neutron/services/trunk/drivers/linuxbridge/.*$
- ^neutron/services/trunk/drivers/ovn/.*$
- ^neutron/cmd/ovn/.*$
- ^neutron/common/ovn/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
# 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-ovs-tempest-dvr
parent: neutron-ovs-tempest-base
vars:
devstack_localrc:
Q_DVR_MODE: dvr_snat
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# TODO(ralonsoh): remove this duplicated definition when "devstack",
# "tempest" and "nova" adopt the new name.
- job:
name: neutron-tempest-dvr
parent: neutron-ovs-tempest-dvr
- job:
name: neutron-linuxbridge-tempest
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: linuxbridge
Q_ML2_PLUGIN_MECHANISM_DRIVERS: linuxbridge
devstack_local_conf:
post-config:
"/$NEUTRON_CORE_PLUGIN_CONF":
experimental:
linuxbridge: true
irrelevant-files:
- ^\.pylintrc$
- ^test-requirements.txt$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/agent/linux/openvswitch_firewall/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/openvswitch/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/plugins/ml2/drivers/ovn/.*$
- ^neutron/services/ovn_l3/.*$
- ^neutron/services/logapi/drivers/openvswitch/.*$
- ^neutron/services/logapi/drivers/ovn/.*$
- ^neutron/services/portforwarding/drivers/ovn/.*$
- ^neutron/services/qos/drivers/openvswitch/.*$
- ^neutron/services/qos/drivers/ovn/.*$
- ^neutron/services/trunk/drivers/openvswitch/.*$
- ^neutron/services/trunk/drivers/ovn/.*$
- ^neutron/cmd/ovn/.*$
- ^neutron/common/ovn/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
# 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-ovs-tempest-iptables_hybrid
parent: neutron-ovs-tempest-base
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
tls-proxy: true
tempest: true
neutron-dns: true
neutron-qos: true
neutron-segments: true
neutron-trunk: true
neutron-uplink-status-propagation: true
br-ex-tcpdump: true
br-int-flows: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
QUOTAS:
quota_router: 100
quota_floatingip: 500
quota_security_group: 100
quota_security_group_rule: 1000
"/$NEUTRON_CORE_PLUGIN_CONF":
ml2_type_vlan:
network_vlan_ranges: foo:1:10
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan,gre
arp_responder: True
securitygroup:
firewall_driver: iptables_hybrid
$NEUTRON_L3_CONF:
agent:
availability_zone: nova
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
provider_vlans: foo,
agent_availability_zone: nova
image_is_advanced: true
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
# TODO(ralonsoh): remove this duplicated definition when "nova" adopts the
# new name.
- job:
name: neutron-tempest-iptables_hybrid
parent: neutron-ovs-tempest-iptables_hybrid
- job:
name: neutron-ovn-tempest-postgres-full
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/neutron
- openstack/tempest
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
postgresql: true
mysql: false
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
irrelevant-files: &tempest-db-irrelevant-files
- ^\.pylintrc$
- ^test-requirements.txt$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^neutron/agent/.*$
- ^neutron/plugins/ml2/drivers/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
# 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-ovn-tempest-mariadb-full
parent: tempest-integrated-networking
timeout: 10800
required-projects:
- openstack/neutron
- openstack/tempest
vars:
devstack_localrc:
MYSQL_SERVICE_NAME: mariadb
MYSQL_REDUCE_MEMORY: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
# NOTE(ralonsoh): once MariaDB default version in Ubuntu is bumped to
# >10.1, this workaround can be removed (bug 1855912)
pre-run: playbooks/add_mariadb_repo.yaml
irrelevant-files: *tempest-db-irrelevant-files
- job:
name: neutron-ovn-tempest-with-uwsgi
parent: tempest-integrated-networking
description: Run neutron Tempest tests with uwsgi
timeout: 10800
vars:
devstack_localrc:
# TODO(ykarel) can be enabled once
# https://bugs.launchpad.net/neutron/+bug/1912359 fixed
NEUTRON_DEPLOY_MOD_WSGI: false
MYSQL_REDUCE_MEMORY: true
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
irrelevant-files: &irrelevant-files
- ^\.pylintrc$
- ^test-requirements.txt$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^vagrant/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
# 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-ovn-tempest-with-uwsgi-loki
parent: neutron-ovn-tempest-with-uwsgi
timeout: 10800
vars:
devstack_services:
neutron-loki: true
irrelevant-files: *irrelevant-files
- job:
name: neutron-ovn-base
description: Base job for devstack/tempest to test Neutron with ovn driver.
parent: tempest-integrated-networking
timeout: 10800
required-projects: &ovn-base-required-projects
- openstack/neutron
- openstack/tempest
vars: &ovn-base-vars
tempest_concurrency: 4
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
is_igmp_snooping_enabled: True
post-config:
$NEUTRON_CONF:
DEFAULT:
rpc_workers: 0
devstack_localrc:
MYSQL_REDUCE_MEMORY: true
CIRROS_VERSION: 0.6.2
DEFAULT_IMAGE_NAME: cirros-0.6.2-x86_64-uec
DEFAULT_IMAGE_FILE_NAME: cirros-0.6.2-x86_64-uec.tar.gz
Q_AGENT: ovn
ML2_L3_PLUGIN: ovn-router,trunk
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
USE_PYTHON3: True
BUILD_TIMEOUT: 784
ENABLE_TLS: True
OVN_IGMP_SNOOPING_ENABLE: True
# Don't change that value in the base job's definition.
# It should by default use OVS and OVN provided in the packages by the
# distribution used by the job.
# In case when there is need for a job which will install OVS/OVN from
# sources, new job, inheriting from this one, should be created and
# that option should be overwritten there.
OVN_BUILD_FROM_SOURCE: False
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
extensions_to_txt:
db: true
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
dstat: true
g-api: true
g-reg: true
keystone: true
n-api-meta: true
n-api: true
n-cauth: true
n-cond-cell1: true
n-cpu: true
n-novnc-cell1: true
n-sch: true
n-super-cond: true
q-ovn-metadata-agent: true
ovn-controller: true
ovn-northd: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
q-svc: true
q-dns: true
etcd: false
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
s-account: false
s-container-sync: false
s-container: false
s-object: false
s-proxy: false
tls-proxy: true
q-qos: true
q-port-forwarding: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
irrelevant-files: &ovn-irrelevant-files
- ^\.pylintrc$
- ^test-requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.conf\.sample$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/.*$
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^tools/ovn_migration/.*$
- ^neutron/agent/dhcp/.*$
- ^neutron/agent/l2/.*$
- ^neutron/agent/l3/.*$
- ^neutron/agent/metadata/.*$
- ^neutron/agent/windows/.*$
- ^neutron/agent/dhcp_agent.py
- ^neutron/agent/l3_agent.py
- ^neutron/agent/metadata_agent.py
- ^neutron/agent/resource_cache.py
- ^neutron/agent/rpc.py
- ^neutron/agent/securitygroup_rpc.py
- ^neutron/plugins/ml2/drivers/linuxbridge/.*$
- ^neutron/plugins/ml2/drivers/openvswitch/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/services/qos/drivers/linuxbridge/.*$
- ^neutron/services/qos/drivers/openvswitch/.*$
- ^neutron/services/trunk/drivers/linuxbridge/.*$
- ^neutron/services/trunk/drivers/openvswitch/.*$
- ^neutron/scheduler/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
# 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-ovn-tempest-ovs-release
description: Job testing for devstack/tempest testing Neutron with ovn driver and latest OVN version provided by the packages released in the operating system this job is deployed on
parent: neutron-ovn-base
- job:
name: neutron-ovn-tempest-ovs-master-centos-9-stream
description: Job testing for devstack/tempest testing Neutron with ovn driver and OVN master branch and CentOS 9-Stream
parent: neutron-ovn-tempest-ovs-master
nodeset: devstack-single-node-centos-9-stream
vars:
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
- job:
name: neutron-ovs-tempest-fips
parent: neutron-ovs-tempest-base
nodeset: devstack-single-node-centos-9-stream
description: |
Scenario testing for a FIPS enabled Centos 9 system
pre-run: playbooks/enable-fips.yaml
vars:
nslookup_target: 'opendev.org'
configure_swap_size: 4096
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
devstack_local_conf:
test-config:
"$TEMPEST_CONFIG":
validation:
ssh_key_type: 'ecdsa'
- job:
name: neutron-ovn-tempest-ovs-release-fips
parent: neutron-ovn-tempest-ovs-release
nodeset: devstack-single-node-centos-9-stream
description: |
Scenario testing for a FIPS enabled Centos 9 system
pre-run: playbooks/enable-fips.yaml
vars:
nslookup_target: 'opendev.org'
configure_swap_size: 4096
devstack_local_conf:
test-config:
"$TEMPEST_CONFIG":
validation:
ssh_key_type: 'ecdsa'
# TODO(slaweq): move this to be multinode job when it will be possible in Zuul
- job:
name: neutron-ovn-tempest-ipv6-only-base
abstract: true
parent: tempest-ipv6-only
timeout: 10800
vars:
tox_envlist: integrated-network
devstack_localrc:
MYSQL_REDUCE_MEMORY: true
CIRROS_VERSION: 0.6.2
DEFAULT_IMAGE_NAME: cirros-0.6.2-x86_64-uec
DEFAULT_IMAGE_FILE_NAME: cirros-0.6.2-x86_64-uec.tar.gz
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
rpc_workers: 0
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
irrelevant-files: *ovn-irrelevant-files
- job:
name: neutron-ovn-tempest-ipv6-only-ovs-release
parent: neutron-ovn-tempest-ipv6-only-base
vars:
# TODO(ykarel) remove once ubuntu jammy contains fixed version
# of ovn https://bugs.launchpad.net/neutron/+bug/2007166
tempest_exclude_regex: "\
(test_update_delete_extra_route)|\
(test_update_router_admin_state)|\
(test_dhcp_stateful_router)|\
(TestSecurityGroupsBasicOps)"