Fixes bridge checking on jumphost for bm
[apex.git] / apex / network / jumphost.py
index 1afcea7..f3f06ad 100644 (file)
@@ -87,6 +87,17 @@ def attach_interface_to_ovs(bridge, interface, network):
         bridge, interface, network
     ))
 
+    try:
+        output = subprocess.check_output(['ovs-vsctl', 'show'],
+                                         stderr=subprocess.STDOUT)
+        if bridge not in output.decode('utf-8'):
+            logging.debug("Bridge {} not found. Creating...".format(bridge))
+            subprocess.check_call(['ovs-vsctl', 'add-br', bridge])
+        else:
+            logging.debug("Bridge {} found".format(bridge))
+    except subprocess.CalledProcessError:
+        logging.error("Unable to validate/create OVS bridge {}".format(bridge))
+        raise
     try:
         output = subprocess.check_output(['ovs-vsctl', 'list-ports', bridge],
                                          stderr=subprocess.STDOUT)