merge network/monitoring cli commands
diff --git a/emuvim/cli/network.py b/emuvim/cli/network.py
index 080b0ac..fd7851a 100755
--- a/emuvim/cli/network.py
+++ b/emuvim/cli/network.py
@@ -1,9 +1,64 @@
-"""
-son-emu network CLI
-(c) 2016 by Manuel Peuster <manuel.peuster@upb.de>
-"""
-
-
-def main(argv):
-    print "This is the son-emu network CLI."
-    print "Arguments: %s" % str(argv)
+"""

+son-emu network CLI

+(c) 2016 by Manuel Peuster <manuel.peuster@upb.de>

+"""

+

+import argparse

+import pprint

+from tabulate import tabulate

+import zerorpc

+

+

+pp = pprint.PrettyPrinter(indent=4)

+

+class ZeroRpcClient(object):

+

+    def __init__(self):

+        self.c = zerorpc.Client()

+        # TODO connect to DCNetwork API

+        #self.c.connect("tcp://127.0.0.1:4242")  # TODO hard coded for now. we'll change this later

+        self.c.connect("tcp://127.0.0.1:5151")

+        self.cmds = {}

+

+    def execute_command(self, args):

+        if getattr(self, args["command"]) is not None:

+            # call the local method with the same name as the command arg

+            getattr(self, args["command"])(args)

+        else:

+            print "Command not implemented."

+

+    def add(self, args):

+        r = self.c.network_action_start(

+            #args.get("datacenter"),

+            args.get("source"),

+            args.get("destination"))

+        pp.pprint(r)

+

+    def remove(self, args):

+        r = self.c.network_action_stop(

+            #args.get("datacenter"),

+            args.get("source"),

+            args.get("destination"))

+        pp.pprint(r)

+

+

+parser = argparse.ArgumentParser(description='son-emu network')

+parser.add_argument(

+    "command",

+    help="Action to be executed: add|remove")

+parser.add_argument(

+    "--datacenter", "-d", dest="datacenter",

+    help="Data center to in which the network action should be initiated")

+parser.add_argument(

+    "--source", "-src", dest="source",

+    help="vnf name of the source of the chain")

+parser.add_argument(

+    "--destination", "-dst", dest="destination",

+    help="vnf name of the destination of the chain")

+

+def main(argv):

+    print "This is the son-emu network CLI."

+    print "Arguments: %s" % str(argv)

+    args = vars(parser.parse_args(argv))

+    c = ZeroRpcClient()

+    c.execute_command(args)