def connect(self,hostName,username,password,attempt=1): try: #log.info("Login to %s router ",str(hostName)) routerHanlder=cling.Cling(hostname=hostName,username=username,password=password,personality='ios',max_login_attempts=3,pexpect_timeout=200,pexpect_read_loop_timeout=0.5) routerHanlder.login() return routerHanlder except Exception as e: if "Authentication" in str(e): if attempt == 1: routerHandler=self.connect(hostName,"fallback","De7lc3-S!!",2) msg="Error.Authentication failed" #log.warning('Authentication error. %s',str(e)) elif "timed-out" in str(e): if attempt == 1: routerHandler=self.connect(hostName,"fallback","De7lc3-S!!",2) msg="Erro.Connection timed out error" #log.warning('Connection timed out error. %s',str(e)) elif "refused" in str(e): if attempt == 1: routerHandler=self.connect(hostName,"fallback","De7lc3-S!!",2) msg="Error.Connection refused error" #log.warning('Connection refused error. %s',str(e)) else: if attempt == 1: routerHandler=self.connect(hostName,"fallback","De7lc3-S!!",2) #routerHandler=self.connect(hostName,"fallback","De7lc3-S!!") msg='Error.Connecting to router '+hostName+' got failed. Error msg '+str(e) #log.warning('Connecting to router got error. %s',str(e)) return msg
def Login(self): try: log.info("Login to %s router ", str(self.routerIP)) routerHanlder = cling.Cling(hostname=self.routerIP, username=self.username, password=self.password, personality=self.personality, max_login_attempts=3, pexpect_timeout=200, pexpect_read_loop_timeout=0.5) routerHanlder.login() return routerHanlder except Exception as e: if "Authentication" in str(e): msg = "Error.Authentication failed" log.warning('Authentication error. %s', str(e)) elif "timed-out" in str(e): msg = "Erro.Connection timed out error" log.warning('Connection timed out error. %s', str(e)) elif "refused" in str(e): msg = "Error.Connection refused error" log.warning('Connection refused error. %s', str(e)) else: msg = 'Error.Connecting to router ' + hostName + ' got failed. Error msg ' + str( e) log.warning('Connecting to router got error. %s', str(e)) return msg
def Login(self): try: routerHandler=cling.Cling(hostname=self.routerIP,username= self.username,password=self.password,personality=self.personality,max_login_attempts=3,pexpect_timeout=200,pexpect_read_loop_timeout=0.5) routerHandler.login() # print routerHandler return routerHandler except Exception as e: if "Authentication" in str(e): msg="Error.Authentication failed" elif "timed-out" in str(e): msg="Erro.Connection timed out error" elif "refused" in str(e): msg="Error.Connection refused error" else: msg='Error.Connecting to router '+self.routerIP+' got failed. Error msg '+str(e) return msg
import cling import logging LOG = logging.getLogger(__name__) LOG.addHandler(logging.NullHandler()) try: ch = cling.Cling(hostname='172.29.248.10', personality='ios', username='******', password='******') LOG.debug('%s: Sending: %s') ch.login() print ch.run_command('show version') ch.logout() except cling.Error as e: print e