ap_ctl.py : updates to use mux_client

lf_report.py : added traceback for exceptions

Signed-off-by: Chuck SmileyRekiere <chuck.smileyrekiere@candelatech.com>
This commit is contained in:
Chuck SmileyRekiere
2022-03-16 17:52:14 -06:00
committed by shivam
parent 1da36b43cf
commit a9d258d41a
2 changed files with 33 additions and 14 deletions

View File

@@ -48,6 +48,7 @@ import pexpect
import serial
from pexpect_serial import SerialSpawn
import importlib
import os
sys.path.append(os.path.join(os.path.abspath(__file__ + "../../")))
@@ -63,7 +64,7 @@ default_ports = {
"serial": None,
"ssh": 22,
"telnet": 23,
"mux_serial": 23200
"mux_client": 23200
}
NL = "\n"
CR = "\r\n"
@@ -124,13 +125,15 @@ def main():
parser = argparse.ArgumentParser(description="Cisco AP Control Script")
parser.add_argument("-a", "--prompt", type=str, help="ap prompt")
parser.add_argument("-d", "--dest", type=str, help="address of the AP 172.19.27.55")
parser.add_argument("-m", "--host", type=str, help="address of the mux_serial server 192.168.100.239")
parser.add_argument("-o", "--port", type=int, help="control port on the AP, 2008")
parser.add_argument("-u", "--user", type=str, help="credential login/username, admin")
parser.add_argument("-p", "--passwd", type=str, help="credential password Wnbulab@123")
parser.add_argument("-s", "--scheme", type=str, choices=["serial", "ssh", "telnet", "mux_client"], help="Connect via serial, ssh, telnet, mux_client")
parser.add_argument("-t", "--tty", type=str, help="tty serial device for connecting to AP")
parser.add_argument("-l", "--log", type=str, help="logfile for messages, stdout means output to console",default="stdout")
parser.add_argument("-z", "--action", type=str, help="action, current action is powercfg")
parser.add_argument("-z", "--action", type=str, help="action, cmd, powercfg, clear_log, show_log, cac_expiry_evt, ds_data_5ghz, ds_data_24ghz ")
parser.add_argument("-v", "--value", type=str, help="value, cmd value")
parser.add_argument("-b", "--baud", type=str, help="baud, baud rate lanforge: 115200 cisco: 9600")
parser.add_argument("--mux_client_module", type=str, help="mux client module")
@@ -192,20 +195,29 @@ def main():
egg = pexpect.spawn(cmd)
egg.logfile = FileAdapter(logg)
# Will login below as needed.
elif (scheme == "mux_serial"):
elif (scheme == "mux_client"):
# sudo ./mux_server.py --device /dev/ttyUSB0 --baud 115200 --port 23200
if port is None:
port = default_ports["mux_serial"]
cmd = "./mux_client.py "
port = default_ports["mux_client"]
# for client
cmd = "./mux_client.py --host {host} --port {port}".format(host=args.host,port=args.port)
logg.info("Spawn: "+cmd+NL)
egg = pexpect.spawn(cmd)
egg.logfile = FileAdapter(logg)
else:
usage()
exit(1)
except Exception as e:
logging.exception(e)
if args.scheme == 'mux_client' or args.prompt is None:
AP_PROMPT = ">"
AP_HASH = "#"
MUX_PROMPT = "MUX>"
else:
AP_PROMPT = "{}>".format(args.prompt)
AP_HASH = "{}#".format(args.prompt)
time.sleep(0.1)
logged_in = False
loop_count = 0

View File

@@ -32,6 +32,7 @@ import datetime
import pandas as pd
import pdfkit
import argparse
import traceback
# internal candela references included during intial phases, to be deleted at future date
@@ -185,7 +186,8 @@ class lf_report:
try:
if not os.path.exists(self.path_date_time):
os.mkdir(self.path_date_time)
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
self.path_date_time = os.path.join(self.current_path, self.date_time_directory)
if not os.path.exists(self.path_date_time):
os.mkdir(self.path_date_time)
@@ -197,7 +199,8 @@ class lf_report:
try:
if not os.path.exists(self.log_directory):
os.mkdir(self.log_directory)
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
print("exception making {}".format(self.log_directory))
exit(1)
@@ -277,7 +280,8 @@ class lf_report:
test_file = open(self.write_output_html, "w")
test_file.write(self.html)
test_file.close()
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
print("write_html failed")
return self.write_output_html
@@ -288,7 +292,8 @@ class lf_report:
test_file = open(self.write_output_index_html, "w")
test_file.write(self.html)
test_file.close()
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
print("write_index_html failed")
return self.write_output_index_html
@@ -299,7 +304,8 @@ class lf_report:
test_file = open(self.write_output_html, "w")
test_file.write(self.html)
test_file.close()
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
print("write_html failed")
return self.write_output_html
@@ -456,7 +462,8 @@ class lf_report:
try:
self.path_date_time = os.path.join(self.path, self.date_time)
os.mkdir(self.path_date_time)
except:
except Exception as x:
traceback.print_exception(Exception, x, x.__traceback__, chain=True)
curr_dir_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
self.path_date_time = os.path.join(curr_dir_path, self.date_time)
os.mkdir(self.path_date_time)