cleanup for open sourcing
[osm/vim-emu.git] / src / emuvim / cli / compute.py
index 6423917..b5f775f 100755 (executable)
@@ -1,6 +1,29 @@
 """
-son-emu compute CLI
-(c) 2016 by Manuel Peuster <manuel.peuster@upb.de>
+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).
 """
 
 import argparse
@@ -15,7 +38,7 @@ pp = pprint.PrettyPrinter(indent=4)
 class ZeroRpcClient(object):
 
     def __init__(self):
-        self.c = zerorpc.Client()
+        self.c = zerorpc.Client(heartbeat=None, timeout=120) #heartbeat=None, timeout=120
         self.c.connect("tcp://127.0.0.1:4242")  # TODO hard coded for now. we'll change this later
         self.cmds = {}
 
@@ -24,15 +47,12 @@ class ZeroRpcClient(object):
             # call the local method with the same name as the command arg
             getattr(self, args["command"])(args)
         else:
-            print "Command not implemented."
+            print("Command not implemented.")
 
     def start(self, args):
         nw_list = list()
         if args.get("network") is not None:
             nw_list = self._parse_network(args.get("network"))
-
-        pp.pprint('nwlist1: {0}'.format(nw_list))
-
         r = self.c.compute_action_start(
             args.get("datacenter"),
             args.get("name"),
@@ -59,9 +79,9 @@ class ZeroRpcClient(object):
                 eth0ip = None
                 eth0status = "down"
                 if len(status.get("network")) > 0:
-                    eth0ip = status.get("network")[0][1]
+                    eth0ip = status.get("network")[0].get("ip")
                     eth0status = "up" if status.get(
-                        "network")[0][3] else "down"
+                        "network")[0].get("up") else "down"
                 table.append([status.get("datacenter"),
                               name,
                               status.get("image"),
@@ -74,28 +94,15 @@ class ZeroRpcClient(object):
                    "eth0 IP",
                    "eth0 status",
                    "Status"]
-        print tabulate(table, headers=headers, tablefmt="grid")
+        print(tabulate(table, headers=headers, tablefmt="grid"))
 
     def status(self, args):
         r = self.c.compute_status(
             args.get("datacenter"), args.get("name"))
         pp.pprint(r)
 
-    def profile(self, args):
-        nw_list = list()
-        if args.get("network") is not None:
-            nw_list = self._parse_network(args.get("network"))
-            logging.info('nwlist: {0}'.format(nw_list))
-        r = self.c.compute_profile(
-            args.get("datacenter"),
-            args.get("name"),
-            args.get("image"),
-            network=nw_list,
-            command=args.get("docker_command"),
-            input=args.get("input"),
-            output=args.get("output")
-        )
-        pp.pprint(r)
+    def _create_dict(self, **kwargs):
+        return kwargs
 
     def _parse_network(self, network_str):
         '''
@@ -132,15 +139,8 @@ parser.add_argument(
     help="Startup command of the container e.g. './start.sh'")
 parser.add_argument(
     "--net", dest="network",
-    help="Network properties of compute instance e.g. \
-          '10.0.0.123/8' or '10.0.0.123/8,11.0.0.123/24' for multiple interfaces.")
-parser.add_argument(
-    "--input", "-in", dest="input",
-    help="input interface of the vnf to profile")
-parser.add_argument(
-    "--output", "-out", dest="output",
-    help="output interface of the vnf to profile")
-
+    help="Network properties of a compute instance e.g. \
+          '(id=input,ip=10.0.10.3/24),(id=output,ip=10.0.10.4/24)' for multiple interfaces.")
 
 def main(argv):
     args = vars(parser.parse_args(argv))