Merge "Remove babel.cfg"
diff --git a/roles/multi-node-setup/tasks/main.yaml b/roles/multi-node-setup/tasks/main.yaml
index 043e70f..8f6772b 100644
--- a/roles/multi-node-setup/tasks/main.yaml
+++ b/roles/multi-node-setup/tasks/main.yaml
@@ -1,12 +1,12 @@
 - name: Ensure the infra bridge exists
   become: yes
-  openvswitch_bridge:
-    bridge: "{{ infra_bridge_name }}"
+  command: >-
+    ovs-vsctl --may-exist add-br {{ infra_bridge_name }}
 
 - name: Ensure the Neutron external bridge exists
   become: yes
-  openvswitch_bridge:
-    bridge: "{{ neutron_external_bridge_name }}"
+  command: >-
+    ovs-vsctl --may-exist add-br {{ neutron_external_bridge_name }}
 
 - name: Create patch port between bridges
   become: yes
diff --git a/setup.py b/setup.py
index 566d844..cd35c3c 100644
--- a/setup.py
+++ b/setup.py
@@ -13,17 +13,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
 import setuptools
 
-# In python < 2.7.4, a lazy loading of package `pbr` will break
-# setuptools if some other modules registered functions in `atexit`.
-# solution from: http://bugs.python.org/issue15881#msg170215
-try:
-    import multiprocessing  # noqa
-except ImportError:
-    pass
-
 setuptools.setup(
     setup_requires=['pbr>=2.0.0'],
     pbr=True)
diff --git a/tox.ini b/tox.ini
index c8add2c..21574f4 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,10 +1,8 @@
 [tox]
 minversion = 3.18.0
 envlist = pep8
-ignore_basepython_conflict = True
 
 [testenv]
-basepython = {env:TOX_PYTHON:python3}
 usedevelop = True
 setenv =
    VIRTUAL_ENV={envdir}
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index 11e66b7..4c2e400 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -23,7 +23,6 @@
           (^tempest.api.compute.servers.test_attach_interfaces)|\
           (^tempest.api.compute.servers.test_multiple_create)"
       devstack_localrc:
-        USE_PYTHON3: true
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
         PHYSICAL_NETWORK: public
         IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/jammy/release/ubuntu-22.04-minimal-cloudimg-amd64.img
@@ -212,6 +211,7 @@
       - ^neutron_tempest_plugin/scenario/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*functional.*$
       - ^vagrant/.*$
       # Ignore everything except for zuul.d/project.yaml
@@ -308,6 +308,7 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -416,6 +417,7 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -576,6 +578,7 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -718,6 +721,7 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -770,7 +774,6 @@
         - dhcp_agent_scheduler
         - dvr
       devstack_localrc:
-        USE_PYTHON3: true
         NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}"
         PHYSICAL_NETWORK: default
         CIRROS_VERSION: 0.6.3
@@ -910,7 +913,6 @@
           s-object: false
           s-proxy: false
         devstack_localrc:
-          USE_PYTHON3: true
           Q_AGENT: openvswitch
           Q_ML2_TENANT_NETWORK_TYPE: vxlan
           Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
@@ -1029,6 +1031,7 @@
       - ^neutron_tempest_plugin/services/bgp/.*$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1131,6 +1134,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1203,6 +1207,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1261,6 +1266,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*functional.*$
       - ^playbooks/.*linuxbridge.*$
@@ -1316,6 +1322,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1420,6 +1427,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1484,6 +1492,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$
@@ -1599,6 +1608,7 @@
       - ^plugin.spec$
       - ^rally-jobs/.*$
       - ^roles/.*functional.*$
+      - ^roles/.*multi-node-setup.*$
       - ^playbooks/.*dvr-multinode.*$
       - ^playbooks/.*dynamic-routing.*$
       - ^playbooks/.*functional.*$