X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Fzerorpc%2Fcompute.py;h=39ccec29a86a2086b5d5b9c39f4039a7c6142b60;hb=5b37641a26aef3691b6f5ad2e3d1b768841eee8f;hp=7b6c1d45fe535b80d7f1e6bf3e4fe77ddcd61001;hpb=ee2f7e896f66d1fcb1729b2b83221c2e401bf879;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/zerorpc/compute.py b/src/emuvim/api/zerorpc/compute.py index 7b6c1d4..39ccec2 100644 --- a/src/emuvim/api/zerorpc/compute.py +++ b/src/emuvim/api/zerorpc/compute.py @@ -56,9 +56,9 @@ class MultiDatacenterApi(object): def __init__(self, dcs): self.dcs = dcs - def compute_action_start(self, dc_label, compute_name, image, network=None, command=None): + def compute_action_start(self, dc_label, compute_name, image, network, command): """ - Start a new compute instance: A docker container + Start a new compute instance: A docker container (note: zerorpc does not support keyword arguments) :param dc_label: name of the DC :param compute_name: compute container name :param image: image name @@ -113,6 +113,25 @@ class MultiDatacenterApi(object): logging.exception("RPC error.") return ex.message + def compute_profile(self, dc_label, compute_name, image, kwargs): + # note: zerorpc does not support keyword arguments + + ## VIM/dummy gatekeeper's tasks: + # start vnf + vnf_status = self.compute_action_start(self, dc_label, compute_name, image, + kwargs.get('network'), + kwargs.get('command')) + # start traffic source (with fixed ip addres, no use for now...) + self.compute_action_start(self, dc_label, 'psrc', 'profile_source', [{'id':'output'}], None) + # link vnf to traffic source + DCNetwork = self.dcs.get(dc_label).net + DCNetwork.setChain() + + + + + + def datacenter_list(self): logging.debug("RPC CALL: datacenter list") try: @@ -128,3 +147,10 @@ class MultiDatacenterApi(object): except Exception as ex: logging.exception("RPC error.") return ex.message + +''' +if __name__ == "__main__": + test = MultiDatacenterApi({}) + test.compute_profile('dc1','vnf1', 'image',network='',command='test',other='other') +''' +