Added files created for SDNIP CHO test
diff --git a/TestON/drivers/common/cli/sdnipclidriver.py b/TestON/drivers/common/cli/sdnipclidriver.py
new file mode 100644
index 0000000..58dfb03
--- /dev/null
+++ b/TestON/drivers/common/cli/sdnipclidriver.py
@@ -0,0 +1,73 @@
+import time
+import pexpect
+import struct, fcntl, os, sys, signal
+import sys
+import re
+import json
+sys.path.append("../")
+from drivers.common.clidriver import CLI
+
+
+class SDNIPCliDriver(CLI):
+
+ def __init__(self):
+ super(CLI, self).__init__()
+
+ def connect(self, **connectargs):
+ for key in connectargs:
+ vars(self)[key] = connectargs[key]
+
+ self.name = self.options['name']
+ self.handle = super(SDNIPCliDriver,self).connect(user_name = self.user_name, ip_address = self.ip_address,port = self.port, pwd = self.pwd)
+
+ if self.handle:
+ return self.handle
+ else :
+ main.log.info("NO HANDLE")
+ return main.FALSE
+
+ def check_routes(self, brand, ip, user, pw):
+ self.handle.sendline("")
+ self.handle.expect("\$")
+ main.log.info("Connecting to Pronto switch")
+ child = pexpect.spawn("telnet " + ip)
+ i = child.expect(["login:", "CLI#",pexpect.TIMEOUT])
+ if i == 0:
+ main.log.info("Username and password required. Passing login info.")
+ child.sendline(user)
+ child.expect("Password:")
+ child.sendline(pw)
+ child.expect("CLI#")
+ main.log.info("Logged in, getting flowtable.")
+ child.sendline("flowtable brief")
+ for t in range (9):
+ t2 = 9 - t
+ main.log.info("\r" + str(t2))
+ sys.stdout.write("\033[F")
+ time.sleep(1)
+ time.sleep(10)
+ main.log.info("Scanning flowtable")
+ child.expect("Flow table show")
+ count = 0
+ while 1:
+ i = child.expect(['17\d\.\d{1,3}\.\d{1,3}\.\d{1,3}','CLI#',pexpect.TIMEOUT])
+ if i == 0:
+ count = count + 1
+ elif i == 1:
+ a ="Pronto flows: " + str(count) + "\nDone\n"
+ main.log.info(a)
+ break
+ else:
+ break
+ return count
+ def disconnect(self):
+ '''
+ Called when Test is complete to disconnect the Quagga handle.
+ '''
+ response = ''
+ try:
+ self.handle.close()
+ except:
+ main.log.error("Connection failed to the host")
+ response = main.FALSE
+ return response