Merge "Add job definitions for 2023.2 (Bobcat) branch"
diff --git a/playbooks/linuxbridge-scenario-pre-run.yaml b/playbooks/linuxbridge-scenario-pre-run.yaml
index 26586f6..bc80e76 100644
--- a/playbooks/linuxbridge-scenario-pre-run.yaml
+++ b/playbooks/linuxbridge-scenario-pre-run.yaml
@@ -4,4 +4,4 @@
     # destination IP addresses in arp tables:
     - include_role:
         name: legacy_ebtables
-      when: ansible_distribution_release | lower == 'focal'
+      when: ansible_distribution_release | lower in ['focal', 'jammy']
diff --git a/zuul.d/2023_1_jobs.yaml b/zuul.d/2023_1_jobs.yaml
index e521c01..b9f293f 100644
--- a/zuul.d/2023_1_jobs.yaml
+++ b/zuul.d/2023_1_jobs.yaml
@@ -96,10 +96,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -134,10 +130,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -195,10 +187,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_linuxbridge) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/base-nested-switch.yaml b/zuul.d/base-nested-switch.yaml
index f407d8f..b4570fe 100644
--- a/zuul.d/base-nested-switch.yaml
+++ b/zuul.d/base-nested-switch.yaml
@@ -23,13 +23,17 @@
     name: neutron-tempest-plugin-base-nested-switch
     parent: neutron-tempest-plugin-base
     abstract: true
-    branches: ^(?!stable/(train|ussuri|victoria|wallaby|xena|yoga|zed)).*$
+    branches:
+      regex: ^(stable/(train|ussuri|victoria|wallaby|xena|yoga|zed)).*$
+      negate: true
     # Comment nodeset and vars to switch back to non nested nodes
     nodeset: neutron-nested-virt-ubuntu-jammy
     vars: &nested_virt_vars
       devstack_localrc:
         LIBVIRT_TYPE: kvm
-        LIBVIRT_CPU_MODE: host-passthrough
+        # NOTE(ykarel): seeing issues with host-passthrough mode
+        # https://bugs.launchpad.net/neutron/+bug/2036603
+        # LIBVIRT_CPU_MODE: host-passthrough
         CIRROS_VERSION: 0.6.2
         DEFAULT_IMAGE_NAME: cirros-0.6.2-x86_64-disk
         DEFAULT_IMAGE_FILE_NAME: cirros-0.6.2-x86_64-disk.img
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 49098dc..58fc684 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -255,8 +255,7 @@
           $NEUTRON_CONF:
             DEFAULT:
               enable_dvr: false
-              # TODO(ykarel) Turn on once https://bugs.launchpad.net/neutron/+bug/2037239 fixed
-              l3_ha: false
+              l3_ha: true
           /$NEUTRON_CORE_PLUGIN_CONF:
             agent:
               tunnel_types: vxlan,gre
@@ -271,7 +270,7 @@
             neutron_plugin_options:
               available_type_drivers: flat,vlan,local,vxlan
               firewall_driver: openvswitch
-    irrelevant-files: &openvswitch-scenario-irrelevant-files
+    irrelevant-files:
       - ^\.pylintrc$
       - ^(test-|)requirements.txt$
       - lower-constraints.txt
@@ -306,7 +305,10 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -355,8 +357,7 @@
           $NEUTRON_CONF:
             DEFAULT:
               enable_dvr: false
-              # TODO(ykarel) Turn on once https://bugs.launchpad.net/neutron/+bug/2037239 fixed
-              l3_ha: false
+              l3_ha: true
           /$NEUTRON_CORE_PLUGIN_CONF:
             agent:
               tunnel_types: vxlan,gre
@@ -408,7 +409,10 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -526,8 +530,7 @@
             DEFAULT:
               enable_dvr: false
               vlan_transparent: true
-              # TODO(ykarel) Turn on once https://bugs.launchpad.net/neutron/+bug/2037239 fixed
-              l3_ha: false
+              l3_ha: true
             AGENT:
               debug_iptables_rules: true
             EXPERIMENTAL:
@@ -581,6 +584,8 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
@@ -713,7 +718,10 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -906,7 +914,46 @@
                 agent_mode: dvr_snat
               agent:
                 availability_zone: nova
-    irrelevant-files: *openvswitch-scenario-irrelevant-files
+    irrelevant-files:
+      - ^\.pylintrc$
+      - ^(test-|)requirements.txt$
+      - lower-constraints.txt
+      - ^releasenotes/.*$
+      - ^doc/.*$
+      - ^setup.cfg$
+      - ^.*\.rst$
+      - ^.*\.conf\.sample$
+      - ^neutron/locale/.*$
+      - ^neutron/tests/unit/.*$
+      - ^neutron/tests/fullstack/.*
+      - ^neutron/tests/functional/.*
+      - ^tools/.*$
+      - ^tox.ini$
+      - ^plugin.spec$
+      - ^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/.*$
+      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
+      - ^neutron_tempest_plugin/services/bgp/.*$
+      - ^rally-jobs/.*$
+      - ^roles/.*functional.*$
+      - ^playbooks/.*dynamic-routing.*$
+      - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
+      - ^vagrant/.*$
+      - ^zuul.d/(?!(project)).*\.yaml
 
 - job:
     name: neutron-tempest-plugin-designate-scenario
@@ -961,7 +1008,10 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1034,7 +1084,10 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1099,7 +1152,10 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1151,7 +1207,9 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1214,7 +1272,10 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1280,7 +1341,10 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
 
@@ -1388,6 +1452,9 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^playbooks/.*dvr-multinode.*$
+      - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
+      - ^playbooks/.*linuxbridge.*$
       - ^vagrant/.*$
       - ^zuul.d/(?!(project)).*\.yaml
diff --git a/zuul.d/train_jobs.yaml b/zuul.d/train_jobs.yaml
index 5b1d354..159feb2 100644
--- a/zuul.d/train_jobs.yaml
+++ b/zuul.d/train_jobs.yaml
@@ -154,9 +154,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived doesn't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -191,9 +188,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived don't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -228,9 +222,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived don't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/ussuri_jobs.yaml b/zuul.d/ussuri_jobs.yaml
index 81da9af..5abc741 100644
--- a/zuul.d/ussuri_jobs.yaml
+++ b/zuul.d/ussuri_jobs.yaml
@@ -159,9 +159,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived don't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -194,9 +191,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived don't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -224,9 +218,6 @@
             DEFAULT:
               # NOTE(slaweq): on Bionic keepalived don't knows this option yet
               keepalived_use_no_track: False
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/victoria_jobs.yaml b/zuul.d/victoria_jobs.yaml
index ca5ae6b..1f611db 100644
--- a/zuul.d/victoria_jobs.yaml
+++ b/zuul.d/victoria_jobs.yaml
@@ -152,10 +152,6 @@
         ADVANCED_INSTANCE_USER: ubuntu
         CUSTOMIZE_IMAGE: false
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -188,10 +184,6 @@
         ADVANCED_INSTANCE_USER: ubuntu
         CUSTOMIZE_IMAGE: false
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -220,10 +212,6 @@
         ADVANCED_INSTANCE_USER: ubuntu
         CUSTOMIZE_IMAGE: false
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/wallaby_jobs.yaml b/zuul.d/wallaby_jobs.yaml
index c40ec37..92a3e50 100644
--- a/zuul.d/wallaby_jobs.yaml
+++ b/zuul.d/wallaby_jobs.yaml
@@ -110,10 +110,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -141,10 +137,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -165,10 +157,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/xena_jobs.yaml b/zuul.d/xena_jobs.yaml
index 3c86d53..25d63a9 100644
--- a/zuul.d/xena_jobs.yaml
+++ b/zuul.d/xena_jobs.yaml
@@ -112,10 +112,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -136,10 +132,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -160,10 +152,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/yoga_jobs.yaml b/zuul.d/yoga_jobs.yaml
index 76a24fc..04c9ddd 100644
--- a/zuul.d/yoga_jobs.yaml
+++ b/zuul.d/yoga_jobs.yaml
@@ -109,10 +109,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -133,10 +129,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -157,10 +149,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/zed_jobs.yaml b/zuul.d/zed_jobs.yaml
index 1318586..8c70a66 100644
--- a/zuul.d/zed_jobs.yaml
+++ b/zuul.d/zed_jobs.yaml
@@ -98,10 +98,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -136,10 +132,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -168,10 +160,6 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_linuxbridge) | join(',') }}"
       devstack_local_conf:
-        post-config:
-          $NEUTRON_CONF:
-            DEFAULT:
-              l3_ha: true
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled: