X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Femuvim%2Fcli%2Fmonitor.py;h=34853a61580ceadf7e7fbfe8f1f8a6ad8ccbaf25;hb=418815231ec9713829606e56e3cf6ea022b3dccf;hp=3b667f76c22ea1013e94660daecee2497344202c;hpb=d806ed7ca29fa8d4f07dbed383378ecb1c353c13;p=osm%2Fvim-emu.git diff --git a/src/emuvim/cli/monitor.py b/src/emuvim/cli/monitor.py index 3b667f7..34853a6 100755 --- a/src/emuvim/cli/monitor.py +++ b/src/emuvim/cli/monitor.py @@ -46,6 +46,37 @@ class ZeroRpcClient(object): args.get("metric")) pp.pprint(r) + def setup_flow(self, args): + vnf_name = self._parse_vnf_name(args.get("vnf_name")) + vnf_interface = self._parse_vnf_interface(args.get("vnf_name")) + r = self.c.setup_flow( + vnf_name, + vnf_interface, + args.get("metric"), + args.get("cookie")) + pp.pprint(r) + + def stop_flow(self, args): + vnf_name = self._parse_vnf_name(args.get("vnf_name")) + vnf_interface = self._parse_vnf_interface(args.get("vnf_name")) + r = self.c.stop_flow( + vnf_name, + vnf_interface, + args.get("metric"), + args.get("cookie")) + pp.pprint(r) + + def prometheus(self, args): + vnf_name = self._parse_vnf_name(args.get("vnf_name")) + vnf_interface = self._parse_vnf_interface(args.get("vnf_name")) + r = self.c.prometheus( + args.get("datacenter"), + vnf_name, + vnf_interface, + args.get("query")) + pp.pprint(r) + + def _parse_vnf_name(self, vnf_name_str): vnf_name = vnf_name_str.split(':')[0] return vnf_name @@ -58,17 +89,26 @@ class ZeroRpcClient(object): return vnf_interface -parser = argparse.ArgumentParser(description='son-emu network') +parser = argparse.ArgumentParser(description='son-emu monitor') parser.add_argument( "command", - help="Action to be executed") + choices=['setup_metric', 'stop_metric', 'setup_flow', 'stop_flow','prometheus'], + help="setup/stop a metric/flow to be monitored or Prometheus query") parser.add_argument( "--vnf_name", "-vnf", dest="vnf_name", help="vnf name:interface to be monitored") parser.add_argument( "--metric", "-m", dest="metric", help="tx_bytes, rx_bytes, tx_packets, rx_packets") - +parser.add_argument( + "--cookie", "-c", dest="cookie", + help="flow cookie to monitor") +parser.add_argument( + "--query", "-q", dest="query", + help="prometheus query") +parser.add_argument( + "--datacenter", "-d", dest="datacenter", + help="Data center where the vnf is deployed") def main(argv): #print "This is the son-emu monitor CLI."