X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fcli%2Frest%2Fcompute.py;h=3a719cc267fba8010628c606e6964d5714b86eca;hb=ff6b404f001a0460252a29051bc34c07c91e4cf1;hp=4a20ca94978ace7044d1f37a2ad406dfdb327f11;hpb=0a336cc612849715b03a513a7b4668d30542b5d6;p=osm%2Fvim-emu.git diff --git a/src/emuvim/cli/rest/compute.py b/src/emuvim/cli/rest/compute.py index 4a20ca9..3a719cc 100755 --- a/src/emuvim/cli/rest/compute.py +++ b/src/emuvim/cli/rest/compute.py @@ -1,3 +1,30 @@ +""" +Copyright (c) 2015 SONATA-NFV and Paderborn University +ALL RIGHTS RESERVED. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +Neither the name of the SONATA-NFV [, ANY ADDITIONAL AFFILIATION] +nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written +permission. + +This work has been performed in the framework of the SONATA project, +funded by the European Commission under Grant number 671517 through +the Horizon 2020 and 5G-PPP programmes. The authors would like to +acknowledge the contributions of their colleagues of the SONATA +partner consortium (www.sonata-nfv.eu). +""" from requests import get,put from tabulate import tabulate import pprint @@ -20,18 +47,16 @@ class RestApiClient(): def start(self, args): - nw_list = list() - if args.get("network") is not None: - nw_list = self._parse_network(args.get("network")) req = {'image':args.get("image"), 'command':args.get("docker_command"), - 'network':nw_list} + 'network':args.get("network")} response = put("%s/restapi/compute/%s/%s/start" % (args.get("endpoint"), args.get("datacenter"), args.get("name")), - json = json.dumps(req)) + json = req) + pp.pprint(response.json()) def stop(self, args): @@ -82,22 +107,6 @@ class RestApiClient(): pp.pprint(list) - - 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 datacenter') parser.add_argument( "command",