Enable l3_ha in neutron config for scenario jobs

This patch sets l3_ha config option in neutron server to be
True in singlenode scenario jobs:
 - neutron-tempest-plugin-openvswitch
 - neutron-tempest-plugin-openvswitch-iptables_hybrid
 - neutron-tempest-plugin-linuxbridge

So all routers created in those jobs will be HA by default.
Even in single node jobs this will provide us better coverage
of L3HA mode for routers becuase we didn't have any job to cover
such case since now.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/776618

Change-Id: I368d0e9410b009097b29367579f958e3ff537936
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index ee7c6e3..e43fb47 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -112,6 +112,7 @@
           $NEUTRON_CONF:
             DEFAULT:
               enable_dvr: false
+              l3_ha: true
           # NOTE(slaweq): We can get rid of this hardcoded absolute path when
           # devstack-tempest job will be switched to use lib/neutron instead of
           # lib/neutron-legacy
@@ -146,6 +147,7 @@
           $NEUTRON_CONF:
             DEFAULT:
               enable_dvr: false
+              l3_ha: true
           # NOTE(slaweq): We can get rid of this hardcoded absolute path when
           # devstack-tempest job will be switched to use lib/neutron instead of
           # lib/neutron-legacy
@@ -188,6 +190,7 @@
             DEFAULT:
               enable_dvr: false
               vlan_transparent: true
+              l3_ha: true
             AGENT:
               debug_iptables_rules: true
           # NOTE(slaweq): We can get rid of this hardcoded absolute path when
diff --git a/zuul.d/queens_jobs.yaml b/zuul.d/queens_jobs.yaml
index e1ecc00..85ad49e 100644
--- a/zuul.d/queens_jobs.yaml
+++ b/zuul.d/queens_jobs.yaml
@@ -91,6 +91,12 @@
       branch_override: stable/queens
       network_api_extensions: *api_extensions
       network_available_features: *available_features
+      devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
+              keepalived_use_no_track: False
       # TODO(slaweq): remove trunks subport_connectivity test from blacklist
       # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
       # NOTE(bcafarel): remove DNS test as queens pinned version does not have
@@ -145,6 +151,10 @@
           /$NEUTRON_CORE_PLUGIN_CONF:
             ml2:
               type_drivers: flat,vlan,local,vxlan
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           # NOTE: ignores linux bridge's trunk delete on bound port test
           # for rocky branch (as https://review.opendev.org/#/c/605589/
diff --git a/zuul.d/rocky_jobs.yaml b/zuul.d/rocky_jobs.yaml
index 4b6145b..40ec672 100644
--- a/zuul.d/rocky_jobs.yaml
+++ b/zuul.d/rocky_jobs.yaml
@@ -115,6 +115,12 @@
         USE_PYTHON3: false
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
         TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
+      devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
+              keepalived_use_no_track: False
       # NOTE(bcafarel): newer tests, unstable on rocky branch
       tempest_black_regex: "\
           (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
@@ -152,6 +158,12 @@
         USE_PYTHON3: false
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
         TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
+      devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
+              keepalived_use_no_track: False
       # TODO(bcafarel): remove trunks subport_connectivity test from blacklist
       # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
       # NOTE(bcafarel): other are newer tests, unstable on rocky branch
@@ -209,6 +221,10 @@
           /$NEUTRON_CORE_PLUGIN_CONF:
             ml2:
               type_drivers: flat,vlan,local,vxlan
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           # NOTE: ignores linux bridge's trunk delete on bound port test
           # for rocky branch (as https://review.opendev.org/#/c/605589/
diff --git a/zuul.d/stein_jobs.yaml b/zuul.d/stein_jobs.yaml
index 29dfa8a..6c1e2dc 100644
--- a/zuul.d/stein_jobs.yaml
+++ b/zuul.d/stein_jobs.yaml
@@ -98,6 +98,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -118,6 +123,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -138,6 +148,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/train_jobs.yaml b/zuul.d/train_jobs.yaml
index 0785924..86aaac1 100644
--- a/zuul.d/train_jobs.yaml
+++ b/zuul.d/train_jobs.yaml
@@ -96,6 +96,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived doesn't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -115,6 +120,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -134,6 +144,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
diff --git a/zuul.d/ussuri_jobs.yaml b/zuul.d/ussuri_jobs.yaml
index 9cc0621..cc946e5 100644
--- a/zuul.d/ussuri_jobs.yaml
+++ b/zuul.d/ussuri_jobs.yaml
@@ -101,6 +101,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -121,6 +126,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled:
@@ -140,6 +150,11 @@
       devstack_localrc:
         NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
       devstack_local_conf:
+        post-config:
+          $NEUTRON_L3_CONF:
+            DEFAULT:
+              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
+              keepalived_use_no_track: False
         test-config:
           $TEMPEST_CONFIG:
             network-feature-enabled: