Update gate jobs as per the 2025.1 cycle testing runtime

As per 2025.1 testing runtime[1], we need to test on Ubuntu
Noble (which will be taken care by depends-on tempest and devstack
patches to move base jobs to Noble) and at least single job to run on
Ubuntu Jammy (for smooth upgrade from previous releases).

This commit adds a new job to run on Jammy which can be removed
in future cycle when testing runtime test next version of Ubuntu
as default.

[1]https://governance.openstack.org/tc/reference/runtimes/2025.1.html

Change-Id: Ib93e87a2d9828eb28bd1bed37a3e06d88e480c74
diff --git a/zuul.d/2023_1_jobs.yaml b/zuul.d/2023_1_jobs.yaml
index f038076..26b1efb 100644
--- a/zuul.d/2023_1_jobs.yaml
+++ b/zuul.d/2023_1_jobs.yaml
@@ -1,6 +1,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-2023-1
     parent: neutron-tempest-plugin-openvswitch
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_openvswitch:
@@ -105,6 +106,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-iptables_hybrid-2023-1
     parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -143,6 +145,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults-2023-1
     parent: neutron-tempest-plugin-openvswitch-2023-1
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
@@ -160,6 +163,7 @@
 - job:
     name: neutron-tempest-plugin-linuxbridge-2023-1
     parent: neutron-tempest-plugin-linuxbridge
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -201,6 +205,7 @@
 - job:
     name: neutron-tempest-plugin-ovn-2023-1
     parent: neutron-tempest-plugin-ovn
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_ovn:
@@ -229,6 +234,7 @@
 - job:
     name: neutron-tempest-plugin-dvr-multinode-scenario-2023-1
     parent: neutron-tempest-plugin-dvr-multinode-scenario
+    nodeset: openstack-two-node-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -242,6 +248,7 @@
 - job:
     name: neutron-tempest-plugin-designate-scenario-2023-1
     parent: neutron-tempest-plugin-designate-scenario
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -251,6 +258,7 @@
 - job:
     name: neutron-tempest-plugin-sfc-2023-1
     parent: neutron-tempest-plugin-sfc
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
@@ -259,6 +267,7 @@
 - job:
     name: neutron-tempest-plugin-bgpvpn-bagpipe-2023-1
     parent: neutron-tempest-plugin-bgpvpn-bagpipe
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
@@ -267,11 +276,13 @@
 - job:
     name: neutron-tempest-plugin-dynamic-routing-2023-1
     parent: neutron-tempest-plugin-dynamic-routing
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
 
 - job:
     name: neutron-tempest-plugin-fwaas-2023-1
     parent: neutron-tempest-plugin-fwaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
@@ -280,6 +291,7 @@
 - job:
     name: neutron-tempest-plugin-vpnaas-2023-1
     parent: neutron-tempest-plugin-vpnaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
@@ -288,6 +300,7 @@
 - job:
     name: neutron-tempest-plugin-tap-as-a-service-2023-1
     parent: neutron-tempest-plugin-tap-as-a-service
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.1
     vars:
       devstack_localrc:
diff --git a/zuul.d/2023_2_jobs.yaml b/zuul.d/2023_2_jobs.yaml
index 63a63fa..b45ebb6 100644
--- a/zuul.d/2023_2_jobs.yaml
+++ b/zuul.d/2023_2_jobs.yaml
@@ -1,6 +1,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-2023-2
     parent: neutron-tempest-plugin-openvswitch
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_openvswitch: &api_extensions_openvswitch
@@ -105,6 +106,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-iptables_hybrid-2023-2
     parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -138,6 +140,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults-2023-2
     parent: neutron-tempest-plugin-openvswitch-2023-2
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
@@ -155,6 +158,7 @@
 - job:
     name: neutron-tempest-plugin-linuxbridge-2023-2
     parent: neutron-tempest-plugin-linuxbridge
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -196,6 +200,7 @@
 - job:
     name: neutron-tempest-plugin-ovn-2023-2
     parent: neutron-tempest-plugin-ovn
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_ovn:
@@ -224,6 +229,7 @@
 - job:
     name: neutron-tempest-plugin-dvr-multinode-scenario-2023-2
     parent: neutron-tempest-plugin-dvr-multinode-scenario
+    nodeset: openstack-two-node-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -237,6 +243,7 @@
 - job:
     name: neutron-tempest-plugin-designate-scenario-2023-2
     parent: neutron-tempest-plugin-designate-scenario
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2023.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -246,6 +253,7 @@
 - job:
     name: neutron-tempest-plugin-sfc-2023-2
     parent: neutron-tempest-plugin-sfc
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
@@ -254,6 +262,7 @@
 - job:
     name: neutron-tempest-plugin-bgpvpn-bagpipe-2023-2
     parent: neutron-tempest-plugin-bgpvpn-bagpipe
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
@@ -262,11 +271,13 @@
 - job:
     name: neutron-tempest-plugin-dynamic-routing-2023-2
     parent: neutron-tempest-plugin-dynamic-routing
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
 
 - job:
     name: neutron-tempest-plugin-fwaas-2023-2
     parent: neutron-tempest-plugin-fwaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
@@ -275,6 +286,7 @@
 - job:
     name: neutron-tempest-plugin-vpnaas-2023-2
     parent: neutron-tempest-plugin-vpnaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
@@ -283,6 +295,7 @@
 - job:
     name: neutron-tempest-plugin-tap-as-a-service-2023-2
     parent: neutron-tempest-plugin-tap-as-a-service
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2023.2
     vars:
       devstack_localrc:
diff --git a/zuul.d/2024_1_jobs.yaml b/zuul.d/2024_1_jobs.yaml
index c426be6..40dafc8 100644
--- a/zuul.d/2024_1_jobs.yaml
+++ b/zuul.d/2024_1_jobs.yaml
@@ -1,6 +1,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-2024-1
     parent: neutron-tempest-plugin-openvswitch
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_openvswitch: &api_extensions_openvswitch
@@ -107,6 +108,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-iptables_hybrid-2024-1
     parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -140,6 +142,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults-2024-1
     parent: neutron-tempest-plugin-openvswitch-2024-1
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -157,6 +160,7 @@
 - job:
     name: neutron-tempest-plugin-linuxbridge-2024-1
     parent: neutron-tempest-plugin-linuxbridge
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -198,6 +202,7 @@
 - job:
     name: neutron-tempest-plugin-ovn-2024-1
     parent: neutron-tempest-plugin-ovn
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_ovn:
@@ -223,6 +228,7 @@
 - job:
     name: neutron-tempest-plugin-dvr-multinode-scenario-2024-1
     parent: neutron-tempest-plugin-dvr-multinode-scenario
+    nodeset: openstack-two-node-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -236,6 +242,7 @@
 - job:
     name: neutron-tempest-plugin-designate-scenario-2024-1
     parent: neutron-tempest-plugin-designate-scenario
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       network_api_extensions_common: *api_extensions
@@ -245,6 +252,7 @@
 - job:
     name: neutron-tempest-plugin-sfc-2024-1
     parent: neutron-tempest-plugin-sfc
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -253,6 +261,7 @@
 - job:
     name: neutron-tempest-plugin-bgpvpn-bagpipe-2024-1
     parent: neutron-tempest-plugin-bgpvpn-bagpipe
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -261,11 +270,13 @@
 - job:
     name: neutron-tempest-plugin-dynamic-routing-2024-1
     parent: neutron-tempest-plugin-dynamic-routing
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
 
 - job:
     name: neutron-tempest-plugin-fwaas-2024-1
     parent: neutron-tempest-plugin-fwaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -274,6 +285,7 @@
 - job:
     name: neutron-tempest-plugin-vpnaas-2024-1
     parent: neutron-tempest-plugin-vpnaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -282,6 +294,7 @@
 - job:
     name: neutron-tempest-plugin-tap-as-a-service-2024-1
     parent: neutron-tempest-plugin-tap-as-a-service
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
diff --git a/zuul.d/2024_2_jobs.yaml b/zuul.d/2024_2_jobs.yaml
index bb77ca2..2002142 100644
--- a/zuul.d/2024_2_jobs.yaml
+++ b/zuul.d/2024_2_jobs.yaml
@@ -1,6 +1,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-2024-2
     parent: neutron-tempest-plugin-openvswitch
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_openvswitch: &api_extensions_openvswitch
@@ -107,6 +108,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-iptables_hybrid-2024-2
     parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -139,6 +141,7 @@
 - job:
     name: neutron-tempest-plugin-openvswitch-enforce-scope-new-defaults-2024-1
     parent: neutron-tempest-plugin-openvswitch-2024-1
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.1
     vars:
       devstack_localrc:
@@ -156,6 +159,7 @@
 - job:
     name: neutron-tempest-plugin-linuxbridge-2024-2
     parent: neutron-tempest-plugin-linuxbridge
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -197,6 +201,7 @@
 - job:
     name: neutron-tempest-plugin-ovn-2024-2
     parent: neutron-tempest-plugin-ovn
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_ovn:
@@ -226,6 +231,7 @@
 - job:
     name: neutron-tempest-plugin-dvr-multinode-scenario-2024-2
     parent: neutron-tempest-plugin-dvr-multinode-scenario
+    nodeset: openstack-two-node-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -238,6 +244,7 @@
 - job:
     name: neutron-tempest-plugin-designate-scenario-2024-2
     parent: neutron-tempest-plugin-designate-scenario
+    nodeset: neutron-nested-virt-ubuntu-jammy
     override-checkout: stable/2024.2
     vars:
       network_api_extensions_common: *api_extensions
@@ -247,29 +254,35 @@
 - job:
     name: neutron-tempest-plugin-sfc-2024-2
     parent: neutron-tempest-plugin-sfc
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
 
 - job:
     name: neutron-tempest-plugin-bgpvpn-bagpipe-2024-2
     parent: neutron-tempest-plugin-bgpvpn-bagpipe
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
 
 - job:
     name: neutron-tempest-plugin-dynamic-routing-2024-2
     parent: neutron-tempest-plugin-dynamic-routing
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
 
 - job:
     name: neutron-tempest-plugin-fwaas-2024-2
     parent: neutron-tempest-plugin-fwaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
 
 - job:
     name: neutron-tempest-plugin-vpnaas-2024-2
     parent: neutron-tempest-plugin-vpnaas
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
 
 - job:
     name: neutron-tempest-plugin-tap-as-a-service-2024-2
     parent: neutron-tempest-plugin-tap-as-a-service
+    nodeset: openstack-single-node-jammy
     override-checkout: stable/2024.2
diff --git a/zuul.d/base-nested-switch.yaml b/zuul.d/base-nested-switch.yaml
index f8fa799..fa5217c 100644
--- a/zuul.d/base-nested-switch.yaml
+++ b/zuul.d/base-nested-switch.yaml
@@ -18,16 +18,26 @@
         nodes:
           - controller
 
-# Base nested switch job for 2023.1 and later
+- nodeset:
+    name: neutron-nested-virt-ubuntu-noble
+    nodes:
+      - name: controller
+        label: nested-virt-ubuntu-noble
+    groups:
+      - name: tempest
+        nodes:
+          - controller
+
+# Base nested switch job for 2025.1 and later
 - job:
     name: neutron-tempest-plugin-base-nested-switch
     parent: neutron-tempest-plugin-base
     abstract: true
     branches:
-      regex: ^(unmaintained|stable/(victoria|wallaby|xena|yoga|zed)).*$
+      regex: ^(unmaintained|stable/(victoria|wallaby|xena|yoga|zed|2023|2024)).*$
       negate: true
     # Comment nodeset and vars to switch back to non nested nodes
-    nodeset: neutron-nested-virt-ubuntu-jammy
+    nodeset: neutron-nested-virt-ubuntu-noble
     vars: &nested_virt_vars
       devstack_localrc:
         LIBVIRT_TYPE: kvm
@@ -39,6 +49,16 @@
         DEFAULT_IMAGE_NAME: cirros-0.5.3-x86_64-disk
         DEFAULT_IMAGE_FILE_NAME: cirros-0.5.3-x86_64-disk.img
 
+# Base nested switch job for 2023.1 till 2024.2
+- job:
+    name: neutron-tempest-plugin-base-nested-switch
+    parent: neutron-tempest-plugin-base
+    abstract: true
+    branches: ^(unmaintained|stable)/(2023|2024).*$
+    # Comment nodeset and vars to switch back to non nested nodes
+    nodeset: neutron-nested-virt-ubuntu-jammy
+    vars: *nested_virt_vars
+
 # Base nested switch job for yoga and zed
 - job:
     name: neutron-tempest-plugin-base-nested-switch
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 01dada3..db40202 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -1713,3 +1713,13 @@
       - ^zuul.d/xena_jobs.yaml
       - ^zuul.d/yoga_jobs.yaml
       - ^zuul.d/zed_jobs.yaml
+
+- job:
+    name: neutron-tempest-plugin-openvswitch-ubuntu-jammy
+    parent: neutron-tempest-plugin-openvswitch
+    nodeset: neutron-nested-virt-ubuntu-jammy
+
+- job:
+    name: neutron-tempest-plugin-ovn-ubuntu-jammy
+    parent: neutron-tempest-plugin-ovn
+    nodeset: neutron-nested-virt-ubuntu-jammy
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 5feac4e..e27910c 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -9,6 +9,8 @@
             # TODO(slaweq) make job voting again once bug
             # https://bugs.launchpad.net/designate/+bug/2072627 will be fixed
             voting: false
+        - neutron-tempest-plugin-openvswitch-ubuntu-jammy
+        - neutron-tempest-plugin-ovn-ubuntu-jammy
     gate:
       jobs:
         - neutron-tempest-plugin-openvswitch