migration to python3 (#1)
[osm/vim-emu.git] / src / emuvim / api / rest / compute.py
index aec010e..baa1830 100755 (executable)
@@ -79,6 +79,7 @@ class Compute(Resource):
             try:
                 config = c.dcinfo.get("Config", dict())
                 env = config.get("Env", list())
+                legacy_command_execution = False
                 for env_var in env:
                     var, cmd = map(str.strip, map(str, env_var.split('=', 1)))
                     logging.debug("%r = %r" % (var, cmd))
@@ -90,9 +91,15 @@ class Compute(Resource):
                         t = threading.Thread(target=c.cmdPrint, args=(cmd,))
                         t.daemon = True
                         t.start()
+                        legacy_command_execution = True
+                        break
+                if not legacy_command_execution:
+                    c.start()
             except Exception as ex:
                 logging.warning("Couldn't run Docker entry point VIM_EMU_CMD")
-                logging.exception("Exception:")
+                logging.exception(
+                    "Exception: " + str(ex) + "; " + str(type(ex))
+                )
             # return docker inspect dict
             return c.getStatus(), 200, CORS_HEADER
         except Exception as ex:
@@ -148,25 +155,16 @@ class ComputeList(Resource):
             if dc_label is None or dc_label == 'None':
                 # return list with all compute nodes in all DCs
                 all_containers = []
-                all_extSAPs = []
-                for dc in dcs.itervalues():
+                for dc in dcs.values():
                     all_containers += dc.listCompute()
-                    all_extSAPs += dc.listExtSAPs()
-
-                extSAP_list = [(sap.name, sap.getStatus())
-                               for sap in all_extSAPs]
                 container_list = [(c.name, c.getStatus())
                                   for c in all_containers]
-                total_list = container_list + extSAP_list
-                return total_list, 200, CORS_HEADER
+                return container_list, 200, CORS_HEADER
             else:
                 # return list of compute nodes for specified DC
                 container_list = [(c.name, c.getStatus())
                                   for c in dcs.get(dc_label).listCompute()]
-                extSAP_list = [(sap.name, sap.getStatus())
-                               for sap in dcs.get(dc_label).listExtSAPs()]
-                total_list = container_list + extSAP_list
-                return total_list, 200, CORS_HEADER
+                return container_list, 200, CORS_HEADER
         except Exception as ex:
             logging.exception("API error.")
             return ex.message, 500, CORS_HEADER
@@ -250,7 +248,7 @@ class DatacenterList(Resource):
     def get(self):
         logging.debug("API CALL: datacenter list")
         try:
-            return [d.getStatus() for d in dcs.itervalues()], 200, CORS_HEADER
+            return [d.getStatus() for d in dcs.values()], 200, CORS_HEADER
         except Exception as ex:
             logging.exception("API error.")
             return ex.message, 500, CORS_HEADER