From d7ca286e6c82cad056f2879bc43d29aba457c9e0 Mon Sep 17 00:00:00 2001
From: Rodolfo Alonso Hernandez <ralonsoh@redhat.com>
Date: Fri, 18 Jun 2021 10:22:53 +0000
Subject: [PATCH] Make explicit the network backend used in the CI jobs

All Neutron CI jobs (except for unit, functional and fullstack jobs),
have explicitly defined the network backend used:
- linuxbridge
- ovs
- ovn

That was discussed and approved during the Neutron CI meetings [1].

[1]https://meetings.opendev.org/meetings/neutron_ci/2021/neutron_ci.2021-06-15-15.00.log.html

Change-Id: I036924f13b77dd5957ad5e60b9f536562deb9f05
---
 zuul.d/base.yaml               |  4 ++--
 zuul.d/grenade.yaml            | 12 +++++++---
 zuul.d/project.yaml            | 42 ++++++++++++++++----------------
 zuul.d/rally.yaml              |  2 +-
 zuul.d/tempest-multinode.yaml  | 12 +++++++---
 zuul.d/tempest-singlenode.yaml | 44 ++++++++++++++++++++++++----------
 6 files changed, 73 insertions(+), 43 deletions(-)

diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml
index e9484660cb5..50043d6704c 100644
--- a/zuul.d/base.yaml
+++ b/zuul.d/base.yaml
@@ -94,7 +94,7 @@
       zuul_work_dir: src/opendev.org/openstack/neutron
 
 - job:
-    name: neutron-tempest-plugin-scenario-linuxbridge-nftables
+    name: neutron-linuxbridge-tempest-plugin-scenario-nftables
     parent: neutron-tempest-plugin-scenario-linuxbridge
     pre-run: playbooks/install_nftables.yaml
     vars:
@@ -105,7 +105,7 @@
               enable_ipset: false  # Not compatible with nftables
 
 - job:
-    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-nftables
+    name: neutron-ovs-tempest-plugin-scenario-iptables_hybrid-nftables
     parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
     pre-run: playbooks/install_nftables.yaml
     vars:
diff --git a/zuul.d/grenade.yaml b/zuul.d/grenade.yaml
index e8f96089593..006030483a4 100644
--- a/zuul.d/grenade.yaml
+++ b/zuul.d/grenade.yaml
@@ -1,5 +1,5 @@
 - job:
-    name: neutron-grenade-multinode
+    name: neutron-ovs-grenade-multinode
     parent: grenade-multinode
     required-projects:
       - openstack/grenade
@@ -53,8 +53,14 @@
               agent:
                 debug_iptables_rules: True
 
+# TODO(ralonsoh): remove this duplicated definition when "devstack" and
+# "tempest" adopt the new name.
 - job:
-    name: neutron-grenade-dvr-multinode
+    name: neutron-grenade-multinode
+    parent: neutron-ovs-grenade-multinode
+
+- job:
+    name: neutron-ovs-grenade-dvr-multinode
     parent: grenade-multinode
     pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
     roles:
@@ -143,7 +149,7 @@
                 debug_iptables_rules: True
 
 - job:
-    name: neutron-grenade-ovn
+    name: neutron-ovn-grenade-multinode
     parent: grenade-multinode
     timeout: 9000
     irrelevant-files:
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 39479075922..2754320733d 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -17,17 +17,17 @@
       jobs:
         - neutron-functional-with-uwsgi
         - neutron-fullstack-with-uwsgi
-        - neutron-rally-task
-        - neutron-grenade-multinode
-        - neutron-grenade-dvr-multinode:
+        - neutron-ovs-rally-task
+        - neutron-ovs-grenade-multinode
+        - neutron-ovs-grenade-dvr-multinode:
             # TODO(slaweq): make that job voting when bug
             # https://bugs.launchpad.net/neutron/+bug/1920778
             # will be fixed
             voting: false
-        - neutron-tempest-multinode-full-py3
-        - neutron-tempest-dvr-ha-multinode-full
-        - neutron-tempest-slow-py3
-        - neutron-tempest-ipv6-only
+        - neutron-ovs-tempest-multinode-full
+        - neutron-ovs-tempest-dvr-ha-multinode-full
+        - neutron-ovs-tempest-slow
+        - neutron-ovn-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
@@ -59,14 +59,14 @@
       jobs:
         - neutron-functional-with-uwsgi
         - neutron-fullstack-with-uwsgi
-        - neutron-tempest-multinode-full-py3
-        - neutron-grenade-multinode
+        - neutron-ovs-tempest-multinode-full
+        - neutron-ovs-grenade-multinode
         # TODO(slaweq): make that job gating when bug
         # https://bugs.launchpad.net/neutron/+bug/1920778
         # will be fixed
-        # - neutron-grenade-dvr-multinode
-        - neutron-tempest-slow-py3
-        - neutron-tempest-ipv6-only
+        # - neutron-ovs-grenade-dvr-multinode
+        - neutron-ovs-tempest-slow
+        - neutron-ovn-tempest-ipv6-only
         - neutron-ovn-tempest-ovs-release
         - neutron-ovn-tempest-ovs-release-ipv6-only
         - openstack-tox-py36:  # from openstack-python3-xena-jobs template
@@ -80,21 +80,21 @@
 
     experimental:
       jobs:
-        - neutron-grenade-ovn
-        - neutron-tempest-with-uwsgi-loki
+        - neutron-ovn-grenade-multinode
+        - neutron-ovn-tempest-with-uwsgi-loki
         - neutron-ovn-tempest-full-multinode-ovs-master
         - neutron-ovn-tempest-ovs-master
-        - neutron-tempest-with-neutron-lib-master
+        - neutron-ovn-tempest-with-neutron-lib-master
 
     periodic:
       jobs:
         - neutron-functional
         - neutron-fullstack
-        - neutron-tempest-postgres-full
-        - neutron-tempest-mariadb-full
-        - neutron-tempest-with-os-ken-master
+        - neutron-ovn-tempest-postgres-full
+        - neutron-ovn-tempest-mariadb-full
+        - neutron-ovn-tempest-with-os-ken-master
         - neutron-ovn-tempest-ovs-master-fedora
-        - neutron-tempest-with-neutron-lib-master
+        - neutron-ovn-tempest-with-neutron-lib-master
         - devstack-tobiko-faults-centos:
             voting: true
         - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa
@@ -112,5 +112,5 @@
         - neutron-ovn-tripleo-ci-centos-8-containers-multinode:
             vars: *consumer_vars
             dependencies: *consumer_deps
-        - neutron-tempest-plugin-scenario-linuxbridge-nftables
-        - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-nftables
+        - neutron-linuxbridge-tempest-plugin-scenario-nftables
+        - neutron-ovs-tempest-plugin-scenario-iptables_hybrid-nftables
diff --git a/zuul.d/rally.yaml b/zuul.d/rally.yaml
index d894adabb88..af030e36fd6 100644
--- a/zuul.d/rally.yaml
+++ b/zuul.d/rally.yaml
@@ -1,5 +1,5 @@
 - job:
-    name: neutron-rally-task
+    name: neutron-ovs-rally-task
     parent: rally-task-neutron
     timeout: 10800
     vars:
diff --git a/zuul.d/tempest-multinode.yaml b/zuul.d/tempest-multinode.yaml
index 0205c389160..eacb46b23cc 100644
--- a/zuul.d/tempest-multinode.yaml
+++ b/zuul.d/tempest-multinode.yaml
@@ -1,5 +1,5 @@
 - job:
-    name: neutron-tempest-dvr-ha-multinode-full
+    name: neutron-ovs-tempest-dvr-ha-multinode-full
     parent: tempest-multinode-full-py3
     timeout: 10800
     roles:
@@ -144,8 +144,14 @@
                 availability_zone: nova
                 debug_iptables_rules: True
 
+# TODO(ralonsoh): remove this duplicated definition when "devstack",
+# "tempest" and "nova" adopt the new name.
 - job:
-    name: neutron-tempest-multinode-full-py3
+    name: neutron-tempest-dvr-ha-multinode-full
+    parent: neutron-ovs-tempest-dvr-ha-multinode-full
+
+- job:
+    name: neutron-ovs-tempest-multinode-full
     parent: tempest-multinode-full-py3
     timeout: 10800
     irrelevant-files: *openvswitch-irrelevant-files
@@ -215,7 +221,7 @@
                 debug_iptables_rules: True
 
 - job:
-    name: neutron-tempest-slow-py3
+    name: neutron-ovs-tempest-slow
     parent: tempest-slow-py3
     timeout: 10800
     irrelevant-files: *openvswitch-irrelevant-files
diff --git a/zuul.d/tempest-singlenode.yaml b/zuul.d/tempest-singlenode.yaml
index 55794810597..f902dad2759 100644
--- a/zuul.d/tempest-singlenode.yaml
+++ b/zuul.d/tempest-singlenode.yaml
@@ -47,7 +47,7 @@
               debug_iptables_rules: True
 
 - job:
-    name: neutron-ovs-base
+    name: neutron-ovs-tempest-base
     description: Base job for tempest to test Neutron with ML2/OVS driver
     parent: neutron-tempest-base
     vars:
@@ -72,8 +72,8 @@
       - ^neutron/plugins/ml2/drivers/ovn/.*$
 
 - job:
-    name: neutron-tempest-dvr
-    parent: neutron-ovs-base
+    name: neutron-ovs-tempest-dvr
+    parent: neutron-ovs-tempest-base
     vars:
       devstack_localrc:
         Q_DVR_MODE: dvr_snat
@@ -81,8 +81,14 @@
         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-linuxbridge
+    name: neutron-tempest-dvr
+    parent: neutron-ovs-tempest-dvr
+
+- job:
+    name: neutron-linuxbridge-tempest
     parent: neutron-tempest-base
     vars:
       devstack_localrc:
@@ -106,9 +112,15 @@
       - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
       - ^neutron/plugins/ml2/drivers/ovn/.*$
 
+# TODO(ralonsoh): remove this duplicated definition when "devstack" and "nova"
+# adopt the new name.
 - job:
-    name: neutron-tempest-iptables_hybrid
-    parent: neutron-ovs-base
+    name: neutron-tempest-linuxbridge
+    parent: neutron-linuxbridge-tempest
+
+- job:
+    name: neutron-ovs-tempest-iptables_hybrid
+    parent: neutron-ovs-tempest-base
     vars:
       devstack_plugins:
         neutron: https://opendev.org/openstack/neutron.git
@@ -157,8 +169,14 @@
               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-postgres-full
+    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:
@@ -198,7 +216,7 @@
       - ^neutron/plugins/ml2/drivers/.*$
 
 - job:
-    name: neutron-tempest-mariadb-full
+    name: neutron-ovn-tempest-mariadb-full
     parent: tempest-integrated-networking
     timeout: 10800
     required-projects:
@@ -229,7 +247,7 @@
     irrelevant-files: *tempest-db-irrelevant-files
 
 - job:
-    name: neutron-tempest-with-os-ken-master
+    name: neutron-ovn-tempest-with-os-ken-master
     parent: tempest-integrated-networking
     timeout: 10800
     required-projects:
@@ -270,7 +288,7 @@
       - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
 
 - job:
-    name: neutron-tempest-with-neutron-lib-master
+    name: neutron-ovn-tempest-with-neutron-lib-master
     parent: tempest-integrated-networking
     timeout: 10800
     required-projects:
@@ -296,7 +314,7 @@
         s-proxy: false
 
 - job:
-    name: neutron-tempest-with-uwsgi
+    name: neutron-ovn-tempest-with-uwsgi
     parent: tempest-integrated-networking
     description: Run neutron Tempest tests with uwsgi
     timeout: 10800
@@ -337,7 +355,7 @@
       - ^vagrant/.*$
 
 - job:
-    name: neutron-tempest-with-uwsgi-loki
+    name: neutron-ovn-tempest-with-uwsgi-loki
     parent: neutron-tempest-with-uwsgi
     timeout: 10800
     vars:
@@ -454,7 +472,7 @@
       - ^neutron/scheduler/.*$
 
 - job:
-    name: neutron-tempest-ipv6-only
+    name: neutron-ovn-tempest-ipv6-only
     parent: tempest-ipv6-only
     timeout: 10800
     vars: