Browse Source

Limit execution of the neutron CI jobs on some irrelevant file

This patch tries to make execution of the CI jobs in the Neutron
queue to be more smart. There is no need to e.g. run
linuxbridge scenario jobs job when only changed files in patch
are in e.g. the openvswitch agent module, or vice versa.

Change-Id: Ie33514da28991fa5952a1d8c289402ecb9ffee49
changes/26/774626/5
Slawek Kaplonski 1 year ago
parent
commit
adb3e943b1
  1. 21
      zuul.d/base.yaml
  2. 45
      zuul.d/grenade.yaml
  3. 47
      zuul.d/project.yaml
  4. 43
      zuul.d/rally.yaml
  5. 47
      zuul.d/tempest-multinode.yaml
  6. 117
      zuul.d/tempest-singlenode.yaml
  7. 43
      zuul.d/tripleo.yaml

21
zuul.d/base.yaml

@ -12,11 +12,16 @@
pre-run: playbooks/configure_functional_job.yaml
run: playbooks/run_functional_job.yaml
post-run: playbooks/post_functional_job.yaml
irrelevant-files:
irrelevant-files: &irrelevant-files
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^vagrant/.*$
- ^devstack/.*\.sample$
vars:
OVN_BRANCH: v20.06.1
# TODO(jlibosva): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
@ -47,6 +52,20 @@
# /opt/stack/logs is default logs directory defined in neutron's
# tox.ini file
'{{ devstack_base_dir }}/logs/dsvm-fullstack-logs': logs
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^neutron/agent/ovn/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/plugins/ml2/drivers/ovn/.*$
- job:
name: neutron-fullstack-with-uwsgi

45
zuul.d/grenade.yaml

@ -4,18 +4,22 @@
required-projects:
- openstack/grenade
- openstack/neutron
irrelevant-files: &irrelevant-files
irrelevant-files: &openvswitch-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- ^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/.*$
vars:
devstack_services:
etcd: false
@ -48,7 +52,7 @@
required-projects:
- openstack/grenade
- openstack/neutron
irrelevant-files: *irrelevant-files
irrelevant-files: *openvswitch-irrelevant-files
vars:
devstack_services:
etcd: false
@ -130,7 +134,32 @@
name: neutron-grenade-ovn
parent: grenade-multinode
timeout: 9000
irrelevant-files: *irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/scheduler/.*$
roles:
- zuul: openstack/neutron-tempest-plugin
required-projects:

47
zuul.d/project.yaml

@ -15,48 +15,23 @@
- release-notes-jobs-python3
check:
jobs:
- neutron-functional-with-uwsgi:
# We don't run the job on things like neutron docs-only changes
irrelevant-files: &irrelevant-files
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- ^devstack/.*\.sample$
- neutron-fullstack-with-uwsgi:
irrelevant-files: *irrelevant-files
- neutron-rally-task:
irrelevant-files: *irrelevant-files
- neutron-grenade-multinode:
irrelevant-files: *irrelevant-files
- neutron-grenade-dvr-multinode:
irrelevant-files: *irrelevant-files
- neutron-tempest-multinode-full-py3:
irrelevant-files: *irrelevant-files
- neutron-tempest-dvr-ha-multinode-full:
irrelevant-files: *irrelevant-files
- neutron-tempest-slow-py3:
irrelevant-files: *irrelevant-files
- neutron-tempest-ipv6-only:
irrelevant-files: *irrelevant-files
- neutron-ovn-tempest-ovs-release:
irrelevant-files: *irrelevant-files
- neutron-ovn-tempest-ovs-release-ipv6-only:
irrelevant-files: *irrelevant-files
- neutron-functional-with-uwsgi
- neutron-fullstack-with-uwsgi
- neutron-rally-task
- neutron-grenade-multinode
- neutron-grenade-dvr-multinode
- neutron-tempest-multinode-full-py3
- neutron-tempest-dvr-ha-multinode-full
- neutron-tempest-slow-py3
- neutron-tempest-ipv6-only
- neutron-ovn-tempest-ovs-release
- neutron-ovn-tempest-ovs-release-ipv6-only
# TODO(slaweq): add this job again to the check queue when it will be
# working fine on python 3
#- networking-midonet-tempest-aio-ml2-centos-7:
# voting: false
# irrelevant-files: *irrelevant-files
- neutron-ovn-rally-task:
voting: false
irrelevant-files: *irrelevant-files
# TripleO jobs that deploy OVN.
# Note we don't use a project-template here, so it's easier
# to disable voting on one specific job if things go wrong.

43
zuul.d/rally.yaml

@ -34,18 +34,22 @@
- openstack/rally
- openstack/rally-openstack
- openstack/osprofiler
irrelevant-files: &irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- ^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/.*$
- job:
name: neutron-ovn-rally-task
@ -55,7 +59,32 @@
- name: openstack/devstack-gate
- name: openstack/rally
- name: openstack/rally-openstack
irrelevant-files: *irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/scheduler/.*$
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron

47
zuul.d/tempest-multinode.yaml

@ -9,18 +9,22 @@
- openstack/neutron
- openstack/tempest
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
irrelevant-files: &irrelevant-files
irrelevant-files: &openvswitch-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- ^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/.*$
voting: false
vars:
tox_envlist: integrated-network
@ -117,7 +121,7 @@
name: neutron-tempest-multinode-full-py3
parent: tempest-multinode-full-py3
timeout: 10800
irrelevant-files: *irrelevant-files
irrelevant-files: *openvswitch-irrelevant-files
vars:
tox_envlist: integrated-network
devstack_plugins:
@ -152,7 +156,7 @@
name: neutron-tempest-slow-py3
parent: tempest-slow-py3
timeout: 10800
irrelevant-files: *irrelevant-files
irrelevant-files: *openvswitch-irrelevant-files
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
@ -188,7 +192,32 @@
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
irrelevant-files: *irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/scheduler/.*$
roles:
- zuul: zuul/zuul-jobs
- zuul: openstack/neutron-tempest-plugin

117
zuul.d/tempest-singlenode.yaml

@ -49,6 +49,23 @@
vars:
devstack_localrc:
Q_AGENT: openvswitch
irrelevant-files: &openvswitch-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^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/.*$
- job:
name: neutron-tempest-dvr
@ -59,7 +76,14 @@
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
irrelevant-files: &irrelevant-files
- job:
name: neutron-tempest-linuxbridge
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: linuxbridge
irrelevant-files:
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
@ -70,15 +94,13 @@
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- job:
name: neutron-tempest-linuxbridge
parent: neutron-tempest-base
vars:
devstack_localrc:
Q_AGENT: linuxbridge
irrelevant-files: *irrelevant-files
- ^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/.*$
- job:
name: neutron-tempest-iptables_hybrid
@ -130,7 +152,6 @@
agent_availability_zone: nova
image_is_advanced: true
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
irrelevant-files: *irrelevant-files
- job:
name: neutron-tempest-postgres-full
@ -159,7 +180,19 @@
s-container: false
s-object: false
s-proxy: false
irrelevant-files: *irrelevant-files
irrelevant-files: &tempest-db-irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^neutron/agent/.*$
- ^neutron/plugins/ml2/drivers/.*$
- job:
name: neutron-tempest-mariadb-full
@ -191,7 +224,7 @@
# 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: *irrelevant-files
irrelevant-files: *tempest-db-irrelevant-files
- job:
name: neutron-tempest-with-os-ken-master
@ -219,6 +252,21 @@
s-container: false
s-object: false
s-proxy: false
irrelevant-files:
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^neutron/agent/windows/.*$
- ^neutron/plugins/ml2/drivers/linuxbridge/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- job:
name: neutron-tempest-with-neutron-lib-master
@ -271,7 +319,17 @@
s-container: false
s-object: false
s-proxy: false
irrelevant-files: *irrelevant-files
irrelevant-files: &irrelevant-files
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^doc/.*$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- job:
name: neutron-tempest-with-uwsgi-loki
@ -291,7 +349,6 @@
- openstack/devstack-gate
- openstack/neutron
- openstack/tempest
irrelevant-files: *irrelevant-files
vars: &ovn-base-vars
tempest_concurrency: 4
devstack_local_conf:
@ -366,12 +423,37 @@
c-sch: false
c-vol: false
cinder: false
irrelevant-files: &ovn-irrelevant-files
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/scheduler/.*$
- job:
name: neutron-tempest-ipv6-only
parent: tempest-ipv6-only
timeout: 10800
irrelevant-files: *irrelevant-files
vars:
tox_envlist: integrated-network
devstack_plugins:
@ -390,6 +472,7 @@
s-container: false
s-object: false
s-proxy: false
irrelevant-files: *openvswitch-irrelevant-files
- job:
name: neutron-ovn-tempest-ovs-master-fedora
@ -421,7 +504,7 @@
description: Base job for devstack/tempest to test Neutron with ovn driver in an IPv6-only deployment
parent: devstack-tempest-ipv6
timeout: 10800
irrelevant-files: *irrelevant-files
irrelevant-files: *ovn-irrelevant-files
required-projects: *ovn-base-required-projects
vars: *ovn-base-vars

43
zuul.d/tripleo.yaml

@ -16,18 +16,22 @@
tempest_test_whitelist:
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops'
use_os_tempest: true
irrelevant-files: &irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^.*\.rst$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
- ^vagrant/.*$
- ^migration/.*$
- ^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/.*$
- job:
name: neutron-ovn-tripleo-ci-centos-8-containers-multinode
@ -35,4 +39,29 @@
vars:
nodes: 1ctlr
featureset: '010'
irrelevant-files: *irrelevant-files
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/scheduler/.*$

Loading…
Cancel
Save