From 19ab990dc20aaa7d4fd91fc3aad8aff9407677fb Mon Sep 17 00:00:00 2001 From: Brian Haley Date: Tue, 4 Jun 2024 12:23:27 -0400 Subject: [PATCH] Fix regex lines in zuul.d/* files Commit 260c968118934 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/job-templates.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 11027e3e1ef9a58d5b2faa575a3764bd33cd2a08) (cherry picked from commit 0afdfb0ad5a4b2ede06624b8732a0b14965475df) (cherry picked from commit af8d6155179753e1a6a7eddcc2bd5251879aca01) (cherry picked from commit 0b7af2ba5378bb6d4b2cde1b3564a268107a97c0) (cherry picked from commit 049bf273d8a84c6dfa38ae1d085616ed18c1bd67) --- zuul.d/base.yaml | 16 ++++++++++++-- zuul.d/grenade.yaml | 16 ++++++++++++-- zuul.d/job-templates.yaml | 16 ++++++++++++-- zuul.d/tempest-multinode.yaml | 16 ++++++++++++-- zuul.d/tempest-singlenode.yaml | 40 +++++++++++++++++++++++++++++----- 5 files changed, 91 insertions(+), 13 deletions(-) diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index f06cc5e3717..e3124039af2 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -31,7 +31,13 @@ - ^playbooks/prepare-ovn-multinode.yaml - ^roles/add_mariadb_repo/.*$ - ^roles/nftables/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 @@ -93,7 +99,13 @@ - ^playbooks/prepare-ovn-multinode.yaml - ^roles/add_mariadb_repo/.*$ - ^roles/nftables/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 diff --git a/zuul.d/grenade.yaml b/zuul.d/grenade.yaml index 9a28a16dd91..f4d82758f35 100644 --- a/zuul.d/grenade.yaml +++ b/zuul.d/grenade.yaml @@ -31,7 +31,13 @@ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - ^vagrant/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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: devstack_services: etcd: false @@ -196,7 +202,13 @@ - ^neutron/services/trunk/drivers/openvswitch/.*$ - ^neutron/scheduler/.*$ - ^vagrant/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 roles: - zuul: openstack/neutron-tempest-plugin required-projects: diff --git a/zuul.d/job-templates.yaml b/zuul.d/job-templates.yaml index aad00ff6572..542b1aafd47 100644 --- a/zuul.d/job-templates.yaml +++ b/zuul.d/job-templates.yaml @@ -18,7 +18,13 @@ - ^devstack/.*$ - ^playbooks/.*$ - ^roles/.*$ - - ^zuul.d/(?!(job-templates)).*\.yaml + # Ignore everything except for zuul.d/job-templates.yaml + - ^zuul.d/base.yaml + - ^zuul.d/grenade.yaml + - ^zuul.d/project.yaml + - ^zuul.d/rally.yaml + - ^zuul.d/tempest-multinode.yaml + - ^zuul.d/tempest-singlenode.yaml - openstack-tox-py39: # from openstack-python3-yoga-jobs template timeout: 3600 irrelevant-files: *irrelevant-files @@ -83,7 +89,13 @@ - ^neutron/scheduler/.*$ - ^roles/.*functional.*$ - ^playbooks/.*functional.*$ - - ^zuul.d/(?!(project)).*\.yaml + # Ignore everything except for zuul.d/project.yaml + - ^zuul.d/base.yaml + - ^zuul.d/grenade.yaml + - ^zuul.d/job-templates.yaml.yaml + - ^zuul.d/rally.yaml + - ^zuul.d/tempest-multinode.yaml + - ^zuul.d/tempest-singlenode.yaml - project-template: name: neutron-periodic-jobs diff --git a/zuul.d/tempest-multinode.yaml b/zuul.d/tempest-multinode.yaml index a773663d001..59872ab7804 100644 --- a/zuul.d/tempest-multinode.yaml +++ b/zuul.d/tempest-multinode.yaml @@ -35,7 +35,13 @@ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - ^vagrant/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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: tox_envlist: integrated-network devstack_localrc: @@ -367,7 +373,13 @@ - ^neutron/services/trunk/drivers/linuxbridge/.*$ - ^neutron/services/trunk/drivers/openvswitch/.*$ - ^neutron/scheduler/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 roles: - zuul: zuul/zuul-jobs - zuul: openstack/neutron-tempest-plugin diff --git a/zuul.d/tempest-singlenode.yaml b/zuul.d/tempest-singlenode.yaml index f60ecf46c6d..bf58ac8236c 100644 --- a/zuul.d/tempest-singlenode.yaml +++ b/zuul.d/tempest-singlenode.yaml @@ -80,7 +80,13 @@ - ^neutron/services/trunk/drivers/ovn/.*$ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 @@ -133,7 +139,13 @@ - ^neutron/services/trunk/drivers/ovn/.*$ - ^neutron/cmd/ovn/.*$ - ^neutron/common/ovn/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 # TODO(ralonsoh): remove this duplicated definition when "devstack" and "nova" # adopt the new name. @@ -238,7 +250,13 @@ - ^vagrant/.*$ - ^neutron/agent/.*$ - ^neutron/plugins/ml2/drivers/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 @@ -312,7 +330,13 @@ - ^tools/.*$ - ^tox.ini$ - ^vagrant/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 @@ -438,7 +462,13 @@ - ^neutron/services/trunk/drivers/linuxbridge/.*$ - ^neutron/services/trunk/drivers/openvswitch/.*$ - ^neutron/scheduler/.*$ - - ^zuul.d/(?!(project)).*\.yaml + # 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 # TODO(slaweq): move this to be multinode job when it will be possible in Zuul - job: