update son-emu-cli network CLI
[osm/vim-emu.git] / src / emuvim / cli / rest / compute.py
index 870eea1..fdfc11b 100755 (executable)
@@ -30,6 +30,7 @@ from tabulate import tabulate
 import pprint
 import argparse
 import json
+from subprocess import Popen
 
 pp = pprint.PrettyPrinter(indent=4)
 
@@ -77,7 +78,7 @@ class RestApiClient():
             if len(c) > 1:
                 name = c[0]
                 status = c[1]
-                eth0ip = status.get("docker_network", "-")
+                #eth0ip = status.get("docker_network", "-")
                 netw_list = [netw_dict['intf_name'] for netw_dict in status.get("network")]
                 dc_if_list = [netw_dict['dc_portname'] for netw_dict in status.get("network")]
                 table.append([status.get("datacenter"),
@@ -103,8 +104,13 @@ class RestApiClient():
 
         pp.pprint(list)
 
+    def xterm(self, args):
+        vnf_names = args.get("vnf_names")
+        for vnf_name in vnf_names:
+            Popen(['xterm', '-xrm', 'XTerm.vt100.allowTitleOps: false', '-T', vnf_name,
+                   '-e', "docker exec -it mn.{0} /bin/bash".format(vnf_name)])
 
-parser = argparse.ArgumentParser(description="""son-emu compute
+parser = argparse.ArgumentParser(description="""son-emu-cli compute
     
     Examples:
     - son-emu-cli compute start -d dc2 -n client -i sonatanfv/sonata-iperf3-vnf
@@ -113,8 +119,12 @@ parser = argparse.ArgumentParser(description="""son-emu compute
     """, formatter_class=argparse.RawTextHelpFormatter)
 parser.add_argument(
     "command",
-    choices=['start', 'stop', 'list', 'status'],
+    choices=['start', 'stop', 'list', 'status', 'xterm'],
     help="Action to be executed.")
+parser.add_argument(
+    "vnf_names",
+    nargs='*',
+    help="vnf names to open an xterm for")
 parser.add_argument(
     "--datacenter", "-d", dest="datacenter",
     help="Data center to which the command should be applied.")
@@ -134,7 +144,7 @@ parser.add_argument(
 parser.add_argument(
     "--endpoint", "-e", dest="endpoint",
     default="http://127.0.0.1:5001",
-    help="UUID of the plugin to be manipulated.")
+    help="REST API endpoint of son-emu (default:http://127.0.0.1:5001)")
 
 
 def main(argv):