lf_cisco_power.py: updated use of logg (duplicate entires in file)

This commit is contained in:
Chuck SmileyRekiere
2020-10-30 17:14:18 -06:00
parent 40294a9d3c
commit 483ada2dec

View File

@@ -189,7 +189,7 @@ def main():
parser.add_argument("-p", "--passwd", type=str, help="credential password")
parser.add_argument("-s", "--scheme", type=str, choices=["serial", "ssh", "telnet"], help="Connect via serial, ssh or telnet")
parser.add_argument("-t", "--tty", type=str, help="tty serial device")
parser.add_argument("-l", "--log", type=str, help="logfile for messages, stdout means output to console")
parser.add_argument("-l", "--log", type=str, help="logfile for messages, stdout means output to console",default="stdout")
parser.add_argument("-a", "--ap", type=str, help="select AP")
parser.add_argument("-b", "--bandwidth", type=str, help="List of bandwidths to test. NA means no change")
parser.add_argument("-c", "--channel", type=str, help="List of channels to test, with optional path-loss, 36:64 149:60. NA means no change")
@@ -301,7 +301,9 @@ def main():
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logg.addHandler(file_handler)
logging.basicConfig(format=FORMAT, handlers=[file_handler])
logg.addHandler(logging.StreamHandler(sys.stdout)) # allows to logging to file and stderr
# if loggin.basicConfig is called this will result in duplicating log entries
# logging.basicConfig(format=FORMAT, handlers=[file_handler])
else:
# stdout logging
logging.basicConfig(format=FORMAT, handlers=[console_handler])
@@ -466,16 +468,16 @@ def main():
if (args.create_station != None):
if (args.radio == None):
print("WARNING --create needs a radio")
logg.info("WARNING --create needs a radio")
exit_test(workbook)
elif (args.vht160):
print("creating station with VHT160 set: {} on radio {}".format(args.create_station,args.radio))
logg.info("creating station with VHT160 set: {} on radio {}".format(args.create_station,args.radio))
subprocess.run(["./lf_associate_ap.pl", "--radio", args.radio, "--ssid", args.ssid , "--passphrase", args.ssidpw,
"--security", args.security, "--upstream", args.upstream_port, "--first_ip", "DHCP",
"--first_sta",args.create_station,"--action","add","--xsec","ht160_enable"], timeout=20, capture_output=True)
sleep(3)
else:
print("creating station: {} on radio {}".format(args.create_station,args.radio))
logg.info("creating station: {} on radio {}".format(args.create_station,args.radio))
subprocess.run(["./lf_associate_ap.pl", "--radio", args.radio, "--ssid", args.ssid , "--passphrase", args.ssidpw,
"--security", args.security, "--upstream", args.upstream_port, "--first_ip", "DHCP",
"--first_sta",args.create_station,"--action","add"], timeout=20, capture_output=True)
@@ -515,34 +517,34 @@ def main():
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: no_logging_console")
logg.info("9800 cisco_wifi_ctl.py: no_logging_console")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "no_logging_console","--series",args.series,"--port",args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore');
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: line_console_0")
logg.info("9800 cisco_wifi_ctl.py: line_console_0")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "line_console_0","--series",args.series,"--port",args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore');
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800/3504 cisco_wifi_ctl.py: summary")
logg.info("9800/3504 cisco_wifi_ctl.py: summary")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "summary","--series",args.series,"--port",args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore');
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# Find our current regulatory domain so we can report it properly
@@ -575,7 +577,7 @@ def main():
if (n != "NA"):
ni = int(n)
if (parent == None):
print("ERROR: Skipping setting the spatial streams because cannot find Parent radio for station: %s."%(lfstation))
logg.info("ERROR: Skipping setting the spatial streams because cannot find Parent radio for station: %s."%(lfstation))
else:
# Set nss on LANforge Station, not sure it can be done on AP
if (bw == "160"):
@@ -583,13 +585,13 @@ def main():
if (ni > 2):
if(args.vht160):
ni = 2
print("NOTE: --vht160 set will set ni : {}".format(ni))
logg.info("NOTE: --vht160 set will set ni : {}".format(ni))
# Set radio to 2x requested value
ni *=2
print("NOTE: --vht160 set will set ni * 2 : {}".format(ni))
logg.info("NOTE: --vht160 set will set ni * 2 : {}".format(ni))
else:
print("NOTE: Skipping NSS %s for 160Mhz, LANforge radios do not support more than 2NSS at 160Mhz currently."%(n))
print("NOTE: use --vht160 to force 2NSS at 160Mhz")
logg.info("NOTE: Skipping NSS %s for 160Mhz, LANforge radios do not support more than 2NSS at 160Mhz currently."%(n))
logg.info("NOTE: use --vht160 to force 2NSS at 160Mhz")
continue
else:
# Set radio to 2x requested value for 160Mhz
@@ -602,7 +604,7 @@ def main():
if (ni == 3):
antset = 7
set_cmd = "set_wifi_radio 1 %s %s NA NA NA NA NA NA NA NA NA %s"%(lfresource, parent, antset)
print("Setting LANforge radio to %s NSS with command: %s"%(ni, set_cmd))
logg.info("Setting LANforge radio to %s NSS with command: %s"%(ni, set_cmd))
subprocess.run(["./lf_portmod.pl", "--manager", lfmgr, "--card", lfresource, "--port_name", parent,
"--cli_cmd", set_cmd], capture_output=True)
@@ -619,179 +621,179 @@ def main():
"--set_ifstate", "down"]);
# Disable AP, apply settings, enable AP
print("3504/9800 cisco_wifi_ctl.py: disable AP {}".format(args.ap))
logg.info("3504/9800 cisco_wifi_ctl.py: disable AP {}".format(args.ap))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
if args.series == "9800":
# 9800 series need to "Configure radio for manual channel assignment"
print("9800 Configure radio for manual channel assignment")
logg.info("9800 Configure radio for manual channel assignment")
try:
print("9800 cisco_wifi_ctl.py: disable_wlan")
logg.info("9800 cisco_wifi_ctl.py: disable_wlan")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable_wlan","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: disable_network_5ghz")
logg.info("9800 cisco_wifi_ctl.py: disable_network_5ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable_network_5ghz","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: disable_network_24ghz")
logg.info("9800 cisco_wifi_ctl.py: disable_network_24ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable_network_24ghz","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: manual")
logg.info("9800 cisco_wifi_ctl.py: manual")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "manual","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
else:
try:
print("3504 cisco_wifi_ctl.py: config 802.11a disable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11a disable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11a disable network","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("3504 cisco_wifi_ctl.py: config 802.11b disable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11b disable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11b disable network","--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
print("9800/3504 test_parameters_summary: set : tx: {} ch: {} bw: {}".format(tx,ch,bw))
logg.info("9800/3504 test_parameters_summary: set : tx: {} ch: {} bw: {}".format(tx,ch,bw))
if (tx != "NA"):
print("9800/3504 test_parameters: set txPower: {}".format(tx))
logg.info("9800/3504 test_parameters: set txPower: {}".format(tx))
try:
print("9800/3504 cisco_wifi_ctl.py: txPower {}".format(tx))
logg.info("9800/3504 cisco_wifi_ctl.py: txPower {}".format(tx))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "txPower", "--value", tx, "--series" , args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# NSS is set on the station earlier...
if (ch != "NA"):
print("9800/3504 test_parameters set channel: {}".format(ch))
logg.info("9800/3504 test_parameters set channel: {}".format(ch))
try:
print("9800/3504 cisco_wifi_ctl.py: channel {}".format(ch))
logg.info("9800/3504 cisco_wifi_ctl.py: channel {}".format(ch))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "channel", "--value", ch, "--series" , args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if (bw != "NA"):
print("9800/3504 test_parameters bandwidth: set : {}".format(bw))
logg.info("9800/3504 test_parameters bandwidth: set : {}".format(bw))
try:
print("9800/3504 cisco_wifi_ctl.py: bandwidth {}".format(bw))
logg.info("9800/3504 cisco_wifi_ctl.py: bandwidth {}".format(bw))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "bandwidth", "--value", bw, "--series" , args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if args.series == "9800":
#print("9800 cisco_wifi_ctl.py: delete_wlan")
#logg.info("9800 cisco_wifi_ctl.py: delete_wlan")
#subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
# "--action", "delete_wlan","--series",args.series, "--wlan", args.wlan, "--wlanID", args.wlanID], capture_output=True, check=True)
try:
print("9800 cisco_wifi_ctl.py: create_wlan wlan {} wlanID {} port {}".format(args.wlan, args.wlanID, args.port))
logg.info("9800 cisco_wifi_ctl.py: create_wlan wlan {} wlanID {} port {}".format(args.wlan, args.wlanID, args.port))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "create_wlan","--series",args.series, "--wlan", args.wlan, "--wlanID", args.wlanID,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: wireless_tag_policy")
logg.info("9800 cisco_wifi_ctl.py: wireless_tag_policy")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "wireless_tag_policy","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: enable_wlan")
logg.info("9800 cisco_wifi_ctl.py: enable_wlan")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable_wlan","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# enable transmission for the entier 802.11z network
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: enable_network_5ghz")
logg.info("9800 cisco_wifi_ctl.py: enable_network_5ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable_network_5ghz","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: enable_network_24ghz")
logg.info("9800 cisco_wifi_ctl.py: enable_network_24ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable_network_24ghz","--series",args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
else:
try:
print("3504 cisco_wifi_ctl.py: config 802.11a enable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11a enable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11a enable network","--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("3504 cisco_wifi_ctl.py: config 802.11a enable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11a enable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11b enable network","--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800/3504 cisco_wifi_ctl.py: enable")
logg.info("9800/3504 cisco_wifi_ctl.py: enable")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable", "--series" , args.series,"--port", args.port], capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# Wait a bit for AP to come back up
time.sleep(2)
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: advanced")
logg.info("9800 cisco_wifi_ctl.py: advanced")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "advanced","--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
searchap = False
@@ -820,42 +822,42 @@ def main():
cc_ch_count = cc_ch.count(",") + 1
cc_bw = m.group(3)
print("group 1: {} 2: {} 3: {} 4: {} 5: {} 6: {}".format(m.group(1),m.group(2),m.group(3),m.group(4),m.group(5),m.group(6)))
print("9800 test_parameters_summary: read: tx: {} ch: {} bw: {}".format(tx,ch,bw))
logg.info("group 1: {} 2: {} 3: {} 4: {} 5: {} 6: {}".format(m.group(1),m.group(2),m.group(3),m.group(4),m.group(5),m.group(6)))
logg.info("9800 test_parameters_summary: read: tx: {} ch: {} bw: {}".format(tx,ch,bw))
print("9800 test_parameters cc_mac: read : {}".format(cc_mac))
print("9800 test_parameters cc_slot: read : {}".format(cc_slot))
print("9800 test_parameters cc_count: read : {}".format(cc_ch_count))
print("9800 test_parameters cc_bw: read : {}".format(cc_bw))
print("9800 test_parameters cc_power: read : {}".format(cc_power))
print("9800 test_parameters cc_dbm: read : {}".format(cc_dbm))
print("9800 test_parameters cc_ch: read : {}".format(cc_ch))
logg.info("9800 test_parameters cc_mac: read : {}".format(cc_mac))
logg.info("9800 test_parameters cc_slot: read : {}".format(cc_slot))
logg.info("9800 test_parameters cc_count: read : {}".format(cc_ch_count))
logg.info("9800 test_parameters cc_bw: read : {}".format(cc_bw))
logg.info("9800 test_parameters cc_power: read : {}".format(cc_power))
logg.info("9800 test_parameters cc_dbm: read : {}".format(cc_dbm))
logg.info("9800 test_parameters cc_ch: read : {}".format(cc_ch))
break
if (cc_dbm == ""):
# Could not talk to controller?
err = "ERROR: Could not query dBm from controller, maybe controller died?"
print(err)
print("Check controller and AP , Command on AP to erase the config: capwap ap erase all")
logg.info(err)
logg.info("Check controller and AP , Command on AP to erase the config: capwap ap erase all")
e_tot += err
e_tot += " "
try:
print("9800 cisco_wifi_ctl.py: show_wlan_summary")
logg.info("9800 cisco_wifi_ctl.py: show_wlan_summary")
wlan_summary = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "show_wlan_summary","--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = wlan_summary.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
else:
try:
print("3504 cisco_wifi_ctl.py: advanced")
logg.info("3504 cisco_wifi_ctl.py: advanced")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "advanced","--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
searchap = False
@@ -888,16 +890,16 @@ def main():
if (cc_dbm == ""):
# Could not talk to controller?
err = "ERROR: Could not query dBm from controller, maybe controller died?"
print(err)
logg.info(err)
e_tot += err
e_tot += " "
print("3504 test_parameters cc_mac: read : {}".format(cc_mac))
print("3504 test_parameters cc_count: read : {}".format(ch_count))
print("3504 test_parameters cc_bw: read : {}".format(cc_bw))
print("3504 test_parameters cc_power: read : {}".format(cc_power))
print("3504 test_parameters cc_dbm: read : {}".format(cc_dbm))
print("3504 test_parameters cc_ch: read : {}".format(cc_ch))
logg.info("3504 test_parameters cc_mac: read : {}".format(cc_mac))
logg.info("3504 test_parameters cc_count: read : {}".format(ch_count))
logg.info("3504 test_parameters cc_bw: read : {}".format(cc_bw))
logg.info("3504 test_parameters cc_power: read : {}".format(cc_power))
logg.info("3504 test_parameters cc_dbm: read : {}".format(cc_dbm))
logg.info("3504 test_parameters cc_ch: read : {}".format(cc_ch))
# Up station
@@ -924,41 +926,41 @@ def main():
if (m != None):
_ip = m.group(1)
#print("IP %s Status %s"%(_ip, _status))
#logg.info("IP %s Status %s"%(_ip, _status))
if (_status == "Authorized"):
if ((_ip != None) and (_ip != "0.0.0.0")):
print("Station is associated with IP address.")
logg.info("Station is associated with IP address.")
break
else:
if (not wait_ip_print):
print("Waiting for station to get IP Address.")
logg.info("Waiting for station to get IP Address.")
wait_ip_print = True
else:
if (not wait_assoc_print):
print("Waiting up to 180s for station to associate.")
logg.info("Waiting up to 180s for station to associate.")
wait_assoc_print = True
i += 1
# We wait a fairly long time since AP will take a long time to start on a CAC channel.
if (i > 180):
err = "ERROR: Station did not connect within 180 seconds."
print(err)
logg.info(err)
e_tot += err
e_tot += " "
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: advanced")
logg.info("9800 cisco_wifi_ctl.py: advanced")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "advanced","--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if (args.wait_forever):
print("Will continue waiting, you may wish to debug the system...")
logg.info("Will continue waiting, you may wish to debug the system...")
i = 0
else:
break
@@ -970,7 +972,7 @@ def main():
"--cmd", "set_cx_state all c-udp-power RUNNING"], capture_output=True, check=True)
# Wait 10 more seconds
print("Waiting 10 seconds to let traffic run for a bit, Channel %s NSS %s BW %s TX-Power %s"%(ch, n, bw, tx))
logg.info("Waiting 10 seconds to let traffic run for a bit, Channel %s NSS %s BW %s TX-Power %s"%(ch, n, bw, tx))
time.sleep(10)
# Gather probe results and record data, verify NSS, BW, Channel
@@ -986,7 +988,7 @@ def main():
foundit = False
for line in pss.splitlines():
#print("probe-line: %s"%(line))
#logg.info("probe-line: %s"%(line))
m = re.search('signal avg:\s+(\S+)\s+\[(.*)\]\s+dBm', line)
if (m != None):
sig = m.group(1)
@@ -996,17 +998,17 @@ def main():
ants[q] = ants[q].replace(",", "", 1)
q += 1
print("sig: %s ants: %s ants-len: %s n: %s"%(sig, m.group(2), len(ants), n))
logg.info("sig: %s ants: %s ants-len: %s n: %s"%(sig, m.group(2), len(ants), n))
if (len(ants) == int(n)):
foundit = True
else:
print("Looking for %s spatial streams, signal avg reported fewer: %s"%(n, m.group(1)))
logg.info("Looking for %s spatial streams, signal avg reported fewer: %s"%(n, m.group(1)))
m = re.search('beacon signal avg:\s+(\S+)\s+dBm', line)
if (m != None):
beacon_sig = m.group(1)
print("beacon_sig: %s "%(beacon_sig))
logg.info("beacon_sig: %s "%(beacon_sig))
if (foundit):
break
@@ -1014,7 +1016,7 @@ def main():
i += 1
if (i > 10):
err = "Tried and failed 10 times to find correct spatial streams, continuing."
print(err)
logg.info(err)
e_tot += err
e_tot += " "
while (len(ants) < int(n)):
@@ -1027,7 +1029,7 @@ def main():
pss = endp_stats.stdout.decode('utf-8', 'ignore');
for line in pss.splitlines():
#print("probe-line: %s"%(line))
#logg.info("probe-line: %s"%(line))
m = re.search('Rx Bytes:\s+(\d+)', line)
if (m != None):
rx_bytes = int(m.group(1))
@@ -1043,7 +1045,7 @@ def main():
antstr = ""
for x in range(4):
if (x < int(n)):
#print("x: %s n: %s len(ants): %s"%(x, n, len(ants)))
#logg.info("x: %s n: %s len(ants): %s"%(x, n, len(ants)))
antstr += ants[x]
else:
antstr += " "
@@ -1111,12 +1113,12 @@ def main():
pi = int(pathloss)
ag = int(antenna_gain)
if(rssi_to_use == "beacon"):
print("rssi_to_use == beacon: beacon_sig: %s "%(beacon_sig))
logg.info("rssi_to_use == beacon: beacon_sig: %s "%(beacon_sig))
calc_dbm = int(beacon_sig) + pi + rssi_adj + ag
else:
print("rssi_to_use == combined: sig: %s"%sig)
logg.info("rssi_to_use == combined: sig: %s"%sig)
calc_dbm = int(sig) + pi + rssi_adj + ag
print("calc_dbm %s"%(calc_dbm))
logg.info("calc_dbm %s"%(calc_dbm))
# Calculated per-antenna power is what we calculate the AP transmitted
@@ -1214,7 +1216,7 @@ def main():
if (diff_a4 > pfrange):
pf = 0
print("_nss {} allowed_per_path (AP should be transmitting at) {}".format(_nss, allowed_per_path))
logg.info("_nss {} allowed_per_path (AP should be transmitting at) {}".format(_nss, allowed_per_path))
if (pf == 0):
pfs = "FAIL"
@@ -1229,7 +1231,7 @@ def main():
diff_a1, diff_a2, diff_a3, diff_a4, pfs, time_stamp
)
#print("RESULT: %s"%(ln))
#logg.info("RESULT: %s"%(ln))
csv.write(ln)
csv.write("\t")
@@ -1293,12 +1295,12 @@ def main():
if (_bw != bw):
err = "ERROR: Requested bandwidth: %s != station's reported bandwidth: %s. "%(bw, _bw)
e_tot += err
print(err)
logg.info(err)
csv.write(err)
csvs.write(err)
if (_nss != n):
err = "ERROR: Station NSS: %s != configured: %s. "%(_nss, n)
print(err)
logg.info(err)
csv.write(err)
csvs.write(err)
e_tot += err
@@ -1318,35 +1320,35 @@ def main():
# write out the data and exit on failure
if (pf == 0):
if(args.exit_on_fail):
print("EXITING ON FAILURE, exit_on_fail set ")
logg.info("EXITING ON FAILURE, exit_on_fail set ")
exit_test(workbook)
if (e_tot != ""):
if(args.exit_on_error):
print("EXITING ON ERROR, exit_on_error set ")
logg.info("EXITING ON ERROR, exit_on_error set ")
exit_test(workbook)
workbook.close()
# check if keeping the existing state
if(args.keep_state):
print("9800/3504 flag --keep_state set thus keeping state")
logg.info("9800/3504 flag --keep_state set thus keeping state")
try:
print("9800/3504 cisco_wifi_ctl.py: advanced")
logg.info("9800/3504 cisco_wifi_ctl.py: advanced")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "advanced","--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800/3504 cisco_wifi_ctl.py: summary")
logg.info("9800/3504 cisco_wifi_ctl.py: summary")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "summary","--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore')
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
exit_test(workbook)
@@ -1354,128 +1356,128 @@ def main():
# Set things back to defaults
# remove the station
if(args.cleanup):
print("--cleanup set Deleting all stations on radio {}".format(args.radio))
logg.info("--cleanup set Deleting all stations on radio {}".format(args.radio))
subprocess.run(["./lf_associate_ap.pl", "--action", "del_all_phy","--port_del", args.radio], timeout=20, capture_output=True)
# Disable AP, apply settings, enable AP
try:
print("9800/3504 cisco_wifi_ctl.py: disable AP {}".format(args.ap))
logg.info("9800/3504 cisco_wifi_ctl.py: disable AP {}".format(args.ap))
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable", "--series" , args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: disable_network_5ghz")
logg.info("9800 cisco_wifi_ctl.py: disable_network_5ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable_network_5ghz","--series",args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: disable_network_24ghz")
logg.info("9800 cisco_wifi_ctl.py: disable_network_24ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "disable_network_24ghz","--series",args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
else:
try:
print("3504 cisco_wifi_ctl.py: config 802.11a disable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11a disable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11a disable network","--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("3504 cisco_wifi_ctl.py: config 802.11b disable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11b disable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11b disable network","--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if (tx != "NA"):
try:
print("9800/3504 cisco_wifi_ctl.py: txPower tx 1")
logg.info("9800/3504 cisco_wifi_ctl.py: txPower tx 1")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "txPower", "--value", "1", "--series" , args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# NSS is set on the station earlier...
if (ch != "NA"):
try:
print("9800/3504 cisco_wifi_ctl.py: channel 36")
logg.info("9800/3504 cisco_wifi_ctl.py: channel 36")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "channel", "--value", "36", "--series" , args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if (bw != "NA"):
try:
print("9800/3504 cisco_wifi_ctl.py: bandwidth 20")
logg.info("9800/3504 cisco_wifi_ctl.py: bandwidth 20")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "bandwidth", "--value", "20", "--series" , args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
if args.series == "9800":
try:
print("9800 cisco_wifi_ctl.py: enable_network_5ghz")
logg.info("9800 cisco_wifi_ctl.py: enable_network_5ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable_network_5ghz","--series",args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: enable_network_24ghz")
logg.info("9800 cisco_wifi_ctl.py: enable_network_24ghz")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable_network_24ghz","--series",args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800 cisco_wifi_ctl.py: auto")
logg.info("9800 cisco_wifi_ctl.py: auto")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "auto","--series",args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
else:
try:
print("3504 cisco_wifi_ctl.py: config 802.11a enable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11a enable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11a enable network","--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("3504 cisco_wifi_ctl.py: config 802.11b enable network")
logg.info("3504 cisco_wifi_ctl.py: config 802.11b enable network")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "cmd", "--value", "config 802.11b enable network","--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
try:
print("9800/3504 cisco_wifi_ctl.py: enable")
logg.info("9800/3504 cisco_wifi_ctl.py: enable")
subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "enable", "--series" , args.series,"--port", args.port],capture_output=cap_ctl_out, check=True)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)
# Remove LANforge traffic connection
@@ -1488,13 +1490,13 @@ def main():
# Show controller status
try:
print("9800/3504 cisco_wifi_ctl.py: advanced")
logg.info("9800/3504 cisco_wifi_ctl.py: advanced")
advanced = subprocess.run(["./cisco_wifi_ctl.py", "--scheme", scheme, "-d", args.dest, "-u", args.user, "-p", args.passwd, "-a", args.ap, "--band", band,
"--action", "advanced", "--series" , args.series,"--port", args.port], capture_output=True, check=True)
pss = advanced.stdout.decode('utf-8', 'ignore');
print(pss)
logg.info(pss)
except subprocess.CalledProcessError as process_error:
print("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
logg.info("Controller unable to commicate to AP or unable to communicate to controller error code: {} output {}".format(process_error.returncode, process_error.output))
exit_test(workbook)