X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=emuvim%2Fapi%2Fzerorpcapi.py;h=71505a5a104cb03f0fbf2d73ea3c3e1906594b52;hb=e4e89d363f122f86e8cfe5ed430d316ab4c938aa;hp=88d7740dd1d4e2349674106a85039c50cd7c541a;hpb=9c252b6c886bc254872fd1dfe3c19fab6fe15570;p=osm%2Fvim-emu.git diff --git a/emuvim/api/zerorpcapi.py b/emuvim/api/zerorpcapi.py index 88d7740..71505a5 100644 --- a/emuvim/api/zerorpcapi.py +++ b/emuvim/api/zerorpcapi.py @@ -11,6 +11,14 @@ logging.basicConfig(level=logging.DEBUG) class ZeroRpcApiEndpoint(object): + """ + Simple API endpoint that offers a zerorpc-based + interface. This interface will be used by the + default command line client. + It can be used as a reference to implement + REST interfaces providing the same semantics, + like e.g. OpenStack compute API. + """ def __init__(self, listenip, port): self.dcs = {} @@ -38,16 +46,26 @@ class ZeroRpcApiEndpoint(object): class MultiDatacenterApi(object): + """ + Just pass through the corresponding request to the + selected data center. Do not implement provisioning + logic here because will will have multiple API + endpoint implementations at the end. + """ def __init__(self, dcs): self.dcs = dcs def compute_action_start(self, dc_name, compute_name): - # TODO return UUID / IP ? - logging.info("compute start") + # TODO what to return UUID / IP ? + logging.debug("RPC CALL: compute start") + if dc_name in self.dcs: + self.dcs[dc_name].addCompute(compute_name) def compute_action_stop(self, dc_name, compute_name): logging.info("compute stop") + if dc_name in self.dcs: + self.dcs[dc_name].removeCompute(compute_name) def compute_list(self): pass