diff options
Diffstat (limited to 'scripts/automation/trex_control_plane/examples')
-rw-r--r-- | scripts/automation/trex_control_plane/examples/interactive_stateless.py | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/scripts/automation/trex_control_plane/examples/interactive_stateless.py b/scripts/automation/trex_control_plane/examples/interactive_stateless.py deleted file mode 100644 index 7c25b4ef..00000000 --- a/scripts/automation/trex_control_plane/examples/interactive_stateless.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/router/bin/python - -import trex_root_path -from client.trex_stateless_client import * -from common.trex_exceptions import * -import cmd -from termstyle import termstyle -# import termstyle -import os -from argparse import ArgumentParser -import socket -import errno -import ast -import json - - -class InteractiveStatelessTRex(cmd.Cmd): - - intro = termstyle.green("\nInteractive shell to play with Cisco's TRex stateless API.\ - \nType help to view available pre-defined scenarios\n(c) All rights reserved.\n") - prompt = '> ' - - def __init__(self, trex_host, trex_port, virtual, verbose): - cmd.Cmd.__init__(self) - - self.verbose = verbose - self.virtual = virtual - self.trex = CTRexStatelessClient(trex_host, trex_port, self.virtual) - self.DEFAULT_RUN_PARAMS = dict(m=1.5, - nc=True, - p=True, - d=100, - f='avl/sfr_delay_10_1g.yaml', - l=1000) - self.run_params = dict(self.DEFAULT_RUN_PARAMS) - - def do_transmit(self, line): - """Transmits a request over using a given link to server.\ - \nuse: transmit [method_name] [method_params]""" - if line == "": - print "\nUsage: [method name] [param dict as string]\n" - print "Example: rpc test_add {'x': 12, 'y': 17}\n" - return - - args = line.split(' ', 1) # args will have max length of 2 - method_name = args[0] - params = None - bad_parse = False - - try: - params = ast.literal_eval(args[1]) - if not isinstance(params, dict): - bad_parse = True - except ValueError as e1: - bad_parse = True - except SyntaxError as e2: - bad_parse = True - - if bad_parse: - print "\nValue should be a valid dict: '{0}'".format(args[1]) - print "\nUsage: [method name] [param dict as string]\n" - print "Example: rpc test_add {'x': 12, 'y': 17}\n" - return - - response = self.trex.transmit(method_name, params) - if not self.virtual: - # expect response - rc, msg = response - if rc: - print "\nServer Response:\n\n" + json.dumps(msg) + "\n" - else: - print "\n*** " + msg + "\n" - - - - - - def do_push_files(self, filepaths): - """Pushes a custom file to be stored locally on T-Rex server.\ - \nPush multiple files by specifying their path separated by ' ' (space).""" - try: - filepaths = filepaths.split(' ') - print termstyle.green("*** Starting pushing files ({trex_files}) to T-Rex. ***".format( - trex_files=', '.join(filepaths)) - ) - ret_val = self.trex.push_files(filepaths) - if ret_val: - print termstyle.green("*** End of T-Rex push_files method (success) ***") - else: - print termstyle.magenta("*** End of T-Rex push_files method (failed) ***") - - except IOError as inst: - print termstyle.magenta(inst) - -if __name__ == "__main__": - parser = ArgumentParser(description=termstyle.cyan('Run TRex client stateless API demos and scenarios.'), - usage="client_interactive_example [options]") - - parser.add_argument('-v', '--version', action='version', version='%(prog)s 1.0 \t (C) Cisco Systems Inc.\n') - - parser.add_argument("-t", "--trex-host", required = True, dest="trex_host", - action="store", help="Specify the hostname or ip to connect with T-Rex server.", - metavar="HOST" ) - parser.add_argument("-p", "--trex-port", type=int, default = 5050, metavar="PORT", dest="trex_port", - help="Select port on which the T-Rex server listens. Default port is 5050.", action="store") - # parser.add_argument("-m", "--maxhist", type=int, default = 100, metavar="SIZE", dest="hist_size", - # help="Specify maximum history size saved at client side. Default size is 100.", action="store") - parser.add_argument("--virtual", dest="virtual", - action="store_true", - help="Switch ON virtual option at TRex client. Default is: OFF.", - default=False) - parser.add_argument("--verbose", dest="verbose", - action="store_true", - help="Switch ON verbose option at TRex client. Default is: OFF.", - default=False) - args = parser.parse_args() - - try: - InteractiveStatelessTRex(**vars(args)).cmdloop() - - except KeyboardInterrupt: - print termstyle.cyan('Bye Bye!') - exit(-1) - except socket.error, e: - if e.errno == errno.ECONNREFUSED: - raise socket.error(errno.ECONNREFUSED, - "Connection from T-Rex server was terminated. \ - Please make sure the server is up.") |