X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fcli%2Fcompute.py;h=179ae1e9fab48f4df6e7d75d4ea209f404047029;hb=eedba63896751d1669e2bb6b1fa329d3344621b3;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..179ae1e 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( @@ -93,7 +107,7 @@ parser.add_argument( help="Name of compute instance e.g. 'vnf1'") parser.add_argument( "--image","-i", dest="image", - help="Name of container image to be used e.g. 'ubuntu'") + help="Name of container image to be used e.g. 'ubuntu:trusty'") parser.add_argument( "--dcmd", "-c", dest="docker_command", help="Startup command of the container e.g. './start.sh'")