X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fcli%2Fcompute.py;h=006b57b4570dd4b9fd2a67b50d8e2ca65d9882bd;hb=7da4970fbf9548d755decc1361d5d9d548cc0f3c;hp=70de20aa45b96406bef226abb6f7bc54be8d5be0;hpb=3eef9fde234a4379d80e0435bac9ce650407a895;p=osm%2Fvim-emu.git diff --git a/src/emuvim/cli/compute.py b/src/emuvim/cli/compute.py index 70de20a..006b57b 100755 --- a/src/emuvim/cli/compute.py +++ b/src/emuvim/cli/compute.py @@ -29,9 +29,8 @@ class ZeroRpcClient(object): def start(self, args): nw_list = list() if args.get("network") is not None: - networks = args.get("network").split(",") - for nw in networks: - nw_list.append({"ip": nw}) + nw_list = self._parse_network(args.get("network")) + r = self.c.compute_action_start( args.get("datacenter"), args.get("name"), @@ -79,6 +78,21 @@ class ZeroRpcClient(object): args.get("datacenter"), args.get("name")) pp.pprint(r) + def _parse_network(self, network_str): + ''' + parse the options for all network interfaces of the vnf + :param network_str: (id=x,ip=x.x.x.x/x), ... + :return: list of dicts [{"id":x,"ip":"x.x.x.x/x"}, ...] + ''' + nw_list = list() + networks = network_str[1:-1].split('),(') + for nw in networks: + nw_dict = dict(tuple(e.split('=')) for e in nw.split(',')) + nw_list.append(nw_dict) + + return nw_list + + parser = argparse.ArgumentParser(description='son-emu compute') parser.add_argument(