cleaning up logging out of 9800 to not leave telnet hung

This commit is contained in:
Chuck SmileyRekiere
2020-09-23 18:47:53 -06:00
parent d23dad1572
commit 9e0b83aaf9
2 changed files with 66 additions and 95 deletions

View File

@@ -648,14 +648,10 @@ def main():
logg.info("did get Are you sure you want to continue? (y/n)[y]:") logg.info("did get Are you sure you want to continue? (y/n)[y]:")
egg.sendline(CR) egg.sendline(CR)
sleep(0.1) sleep(0.1)
egg.sendline("end")
sleep(0.1)
if j == 1: if j == 1:
logg.info("did not get Are you sure you want to continue? (y/n)[y]:") logg.info("did not get Are you sure you want to continue? (y/n)[y]:")
egg.sendline(CR) egg.sendline(CR)
sleep(0.1) sleep(0.1)
egg.sendline("end")
sleep(0.1)
if i == 1: if i == 1:
logg.info("timed out on (config)# disable_network_5ghz") logg.info("timed out on (config)# disable_network_5ghz")
@@ -672,14 +668,10 @@ def main():
logg.info("did get Are you sure you want to continue? (y/n)[y]:") logg.info("did get Are you sure you want to continue? (y/n)[y]:")
egg.sendline(CR) egg.sendline(CR)
sleep(0.1) sleep(0.1)
egg.sendline("end")
sleep(0.1)
if j == 1: if j == 1:
logg.info("did not get Are you sure you want to continue? (y/n)[y]:") logg.info("did not get Are you sure you want to continue? (y/n)[y]:")
egg.sendline(CR) egg.sendline(CR)
sleep(0.1) sleep(0.1)
egg.sendline("end")
sleep(0.1)
if i == 1: if i == 1:
logg.info("timed out on (config)# disable_network_24ghz") logg.info("timed out on (config)# disable_network_24ghz")
@@ -691,12 +683,6 @@ def main():
if i == 0: if i == 0:
egg.sendline("no ap dot11 5ghz shutdown") egg.sendline("no ap dot11 5ghz shutdown")
sleep(0.1) sleep(0.1)
j = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2)
if j == 0:
egg.sendline("end")
sleep(0.1)
if j == 1:
logg.info("timed out on (config)# no ap dot11 5ghz shutdown")
if i == 1: if i == 1:
logg.info("timed out on (config) prompt") logg.info("timed out on (config) prompt")
@@ -708,12 +694,6 @@ def main():
if i == 0: if i == 0:
egg.sendline("no ap dot11 24ghz shutdown") egg.sendline("no ap dot11 24ghz shutdown")
sleep(0.1) sleep(0.1)
j = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2)
if j == 0:
egg.sendline("end")
sleep(0.1)
if j == 1:
logg.info("timed out on (config)# no ap dot11 24ghz shutdown")
if i == 1: if i == 1:
logg.info("timed out on (config) prompt") logg.info("timed out on (config) prompt")
@@ -789,15 +769,13 @@ def main():
sleep(0.1) sleep(0.1)
i = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2) i = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2)
if i == 0: if i == 0:
for command in ["wireless tag policy default-policy-tag","wlan open-wlan policy default-policy-profile","end"]: for command in ["wireless tag policy default-policy-tag","wlan open-wlan policy default-policy-profile"]:
egg.sendline(command) egg.sendline(command)
sleep(0.1) sleep(0.1)
j = egg.expect_exact(["(config-policy-tag)#","(config)#",pexpect.TIMEOUT],timeout=2) j = egg.expect_exact(["(config-policy-tag)#","(config)#",pexpect.TIMEOUT],timeout=2)
if j == 0: if j == 0:
logg.info("command sent: {}".format(command)) logg.info("command sent: {}".format(command))
if j == 1: if j == 1:
logg.info("command sent end: {}".format(command))
if j == 2:
logg.info("command timed out {}".format(command)) logg.info("command timed out {}".format(command))
if i == 1: if i == 1:
logg.info("did not get the (config)# prompt") logg.info("did not get the (config)# prompt")
@@ -812,15 +790,6 @@ def main():
command = "no wlan %s"%(args.wlan) command = "no wlan %s"%(args.wlan)
egg.sendline(command) egg.sendline(command)
sleep(0.1) sleep(0.1)
j = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2)
if j == 0:
logg.info("command sent: {}".format(command))
egg.sendline("end")
sleep(0.1)
if j == 1:
logg.info("command timed out {}".format(command))
egg.sendline("end")
sleep(0.1)
if i == 1: if i == 1:
logg.info("did not get the (config)# prompt") logg.info("did not get the (config)# prompt")
@@ -857,8 +826,6 @@ def main():
logg.info("command sent: {}".format(command)) logg.info("command sent: {}".format(command))
if k == 1: if k == 1:
logg.info("command time out: {}".format(command)) logg.info("command time out: {}".format(command))
egg.sendline("end")
sleep(0.1)
if j == 1: if j == 1:
logg.info("did not get the (config-wlan)# prompt") logg.info("did not get the (config-wlan)# prompt")
if i == 0: if i == 0:
@@ -879,15 +846,6 @@ def main():
cmd = "no wlan %s"%(args.wlan) cmd = "no wlan %s"%(args.wlan)
egg.sendline(cmd) egg.sendline(cmd)
sleep(0.1) sleep(0.1)
j = egg.expect_exact(["(config)#",pexpect.TIMEOUT],timeout=2)
if j == 0:
logg.info("received elevated (config)# after no wlan {}".format(args.wlan))
egg.sendline(cmd)
sleep(0.1)
if j == 1:
logg.info("did not get the (config# prompt")
egg.sendline(cmd)
sleep(0.1)
if i == 1: if i == 1:
logg.info("did not get the (config)# prompt") logg.info("did not get the (config)# prompt")
else: else:
@@ -916,15 +874,6 @@ def main():
cmd = "shutdown" cmd = "shutdown"
egg.sendline(cmd) egg.sendline(cmd)
sleep(0.1) sleep(0.1)
k = egg.expect_exact(["(config-wlan)#",pexpect.TIMEOUT],timeout=2)
if k == 0:
logg.info("cmd sent: {}".format(cmd))
egg.sendline("end")
sleep(0.1)
if k == 1:
logg.info("cmd timed out: {}".format(cmd))
egg.sendline("end")
sleep(0.1)
if j == 1: if j == 1:
logg.info("did not get the (config-wlan)# prompt") logg.info("did not get the (config-wlan)# prompt")
if i == 1: if i == 1:
@@ -942,66 +891,88 @@ def main():
if (args.action == "wlan_qos"): if (args.action == "wlan_qos"):
command = "config wlan qos %s %s"%(args.wlanID, args.value) command = "config wlan qos %s %s"%(args.wlanID, args.value)
if (command is None): # separate the 3504 and 9800 logouts as the are conflicting
sleep(0.5) if (args.series == "9800"):
if args.series == "9800": if (command is None ):
logg.info("9800 series command completed by earlier logic: {}".format(command)) sleep(0.5)
else:
logg.info("No command specified, going to log out.") logg.info("No command specified, going to log out.")
else: else:
logg.info("Command[%s]"%command) logg.info("Command[%s]"%command)
egg.sendline(command) egg.sendline(command)
sleep(0.5) sleep(0.5)
logg.info("command sent {}".format(command)) logg.info("command sent {}".format(command))
sleep(1)
while True: while True:
i = egg.expect(["WLC>","WLC#", "WLC(config)#",AREYOUSURE,'--More-- or',pexpect.TIMEOUT],timeout=3) i = egg.expect(["WLC>","WLC#", "WLC(config)#","(config-wlan)#","(config-policy-tag)#",pexpect.TIMEOUT],timeout=3)
print (egg.before.decode('utf-8', 'ignore')) print (egg.before.decode('utf-8', 'ignore'))
if i == 0: if i == 0:
logg.info("> prompt received after command sent") logg.info("WLC> prompt received can send logout")
egg.sendline("logout")
break break
if i == 1: if i == 1:
logg.info("WLC# prompt received after command sent") logg.info("WLC# prompt received will send end")
try: try:
logg.info("9800 send exit") egg.sendline("end")
egg.sendline("exit")
sleep(0.1) sleep(0.1)
except: except:
logg.info("9800 exception on exit") logg.info("9800 exception on end")
sleep(0.1) sleep(0.1)
if i == 2:
logg.info("WLC(config)# prompt received will send end")
try:
egg.sendline("end")
sleep(0.1)
except:
logg.info("9800 exception on end")
sleep(0.1)
if i == 3:
logg.info("WLC(config-wlan)# prompt received will send end")
try:
egg.sendline("end")
sleep(0.1)
except:
logg.info("9800 exception on end")
sleep(0.1)
if i == 4:
logg.info("(config-policy-tag)# prompt received will send end")
try:
egg.sendline("end")
sleep(0.1)
except:
logg.info("9800 exception on end")
sleep(0.1)
if i == 5:
logg.info("9800 expect timeout send logout")
egg.sendline("logout")
break
# 3504
else:
if (command is None ):
sleep(0.5)
logg.info("No command specified, going to log out.")
else:
logg.info("Command[%s]"%command)
egg.sendline(command)
sleep(0.5)
logg.info("command sent {}".format(command))
while True:
i = egg.expect([CCPROMPT,AREYOUSURE,'--More-- or',pexpect.TIMEOUT],timeout=3)
print (egg.before.decode('utf-8', 'ignore'))
if i == 0:
logg.info("{} prompt received after command sent".format(CCPROMPT))
break
if i == 1:
egg.sendline("y")
break break
if i == 2: if i == 2:
egg.sendline("end")
sleep(0.2)
egg.sendline("exit")
sleep(0.1)
break
if i == 3:
logg.info("are you sure received after command sent")
egg.sendline("y")
sleep(0.1)
break
if i == 4:
logg.info("--More-- or received")
egg.sendline(NL) egg.sendline(NL)
sleep(0.1)
if i == 5:
logg.info("expect timeout")
break
if args.series == "9800":
pass
else:
egg.sendline("logout") egg.sendline("logout")
logg.info("logout") logg.info("logout")
i = egg.expect([LOGOUTPROMPT, EXITPROMPT, CLOSEDBYREMOTE, CLOSEDCX,pexpect.TIMEOUT],timeout=3) i = egg.expect([LOGOUTPROMPT, EXITPROMPT, CLOSEDBYREMOTE, CLOSEDCX,pexpect.TIMEOUT],timeout=3)
if i == 0: if i == 0:
egg.sendline("y") egg.sendline("y")
sleep(0.1)
if i == 4:
logg.info("pexpect timeout on logout")

View File

@@ -77,9 +77,9 @@ lfmgr = "127.0.0.1"
lfstation = "sta00000" lfstation = "sta00000"
lfresource = "1" lfresource = "1"
lfresource2 = "1" lfresource2 = "1"
outfile = "" outfile = "cisco_power_results.txt"
full_outfile = "" full_outfile = "cisco_power_results_full.txt"
outfile_xlsx = "" outfile_xlsx = "cisco_power_results.xlsx"
upstream_port = "eth1" upstream_port = "eth1"
pf_dbm = 6 pf_dbm = 6
# Allow one chain to have a lower signal, since customer's DUT has # Allow one chain to have a lower signal, since customer's DUT has