FIX: Data centers now have a user defined label (to be identified) but use a short...
[osm/vim-emu.git] / emuvim / api / zerorpcapi.py
index c6b9c70..bbb95ca 100644 (file)
@@ -28,9 +28,9 @@ class ZeroRpcApiEndpoint(object):
             self.__class__.__name__, self.ip, self.port))
 
     def connectDatacenter(self, dc):
-        self.dcs[dc.name] = dc
+        self.dcs[dc.label] = dc
         logging.info("Connected DC(%s) to API endpoint %s(%s:%d)" % (
-            dc.name, self.__class__.__name__, self.ip, self.port))
+            dc.label, self.__class__.__name__, self.ip, self.port))
 
     def start(self):
         thread = threading.Thread(target=self._api_server_thread, args=())
@@ -56,11 +56,14 @@ class MultiDatacenterApi(object):
     def __init__(self, dcs):
         self.dcs = dcs
 
-    def compute_action_start(self, dc_name, compute_name):
+    def compute_action_start(self, dc_name, compute_name, image, network):
+        # network e.g. {"ip": "10.0.0.254/8"}
         # TODO what to return UUID / given name / internal name ?
         logging.debug("RPC CALL: compute start")
         try:
-            return self.dcs.get(dc_name).startCompute(compute_name)
+            c = self.dcs.get(dc_name).startCompute(
+                compute_name, image=image, network=network)
+            return str(c.name)
         except Exception as ex:
             logging.exception("RPC error.")
             return ex.message