Commit db3052c2 authored by Raphael Defosseux's avatar Raphael Defosseux

CI: cleanup

Signed-off-by: default avatarRaphael Defosseux <raphael.defosseux@eurecom.fr>
parent d0429681
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
......
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
...@@ -27,7 +28,6 @@ ...@@ -27,7 +28,6 @@
# pexpect # pexpect
#--------------------------------------------------------------------- #---------------------------------------------------------------------
#----------------------------------------------------------- #-----------------------------------------------------------
# Import # Import
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -124,7 +124,7 @@ class EPCManagement(): ...@@ -124,7 +124,7 @@ class EPCManagement():
mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5) mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5)
mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5) mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5)
mySSH.command('cd /opt/hss_sim0609', '\$', 5) mySSH.command('cd /opt/hss_sim0609', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S rm -f hss.log daemon.log', '\$', 5) mySSH.command('echo ' + self.Password + ' | sudo -S rm -f hss.log', '\$', 5)
mySSH.command('echo ' + self.Password + ' | sudo -S echo "Starting sudo session" && sudo su -c "screen -dm -S simulated_hss ./starthss"', '\$', 5) mySSH.command('echo ' + self.Password + ' | sudo -S echo "Starting sudo session" && sudo su -c "screen -dm -S simulated_hss ./starthss"', '\$', 5)
else: else:
logging.error('This option should not occur!') logging.error('This option should not occur!')
...@@ -198,7 +198,6 @@ class EPCManagement(): ...@@ -198,7 +198,6 @@ class EPCManagement():
if self.htmlObj is not None: if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK) self.htmlObj.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
def CheckHSSProcess(self, status_queue): def CheckHSSProcess(self, status_queue):
try: try:
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
...@@ -267,7 +266,6 @@ class EPCManagement(): ...@@ -267,7 +266,6 @@ class EPCManagement():
except: except:
os.kill(os.getppid(),signal.SIGUSR1) os.kill(os.getppid(),signal.SIGUSR1)
def TerminateHSS(self): def TerminateHSS(self):
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password) mySSH.open(self.IPAddress, self.UserName, self.Password)
...@@ -349,7 +347,6 @@ class EPCManagement(): ...@@ -349,7 +347,6 @@ class EPCManagement():
if self.htmlObj is not None: if self.htmlObj is not None:
self.htmlObj.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) self.htmlObj.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def LogCollectHSS(self): def LogCollectHSS(self):
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
mySSH.open(self.IPAddress, self.UserName, self.Password) mySSH.open(self.IPAddress, self.UserName, self.Password)
......
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
...@@ -27,7 +28,6 @@ ...@@ -27,7 +28,6 @@
# pexpect # pexpect
#--------------------------------------------------------------------- #---------------------------------------------------------------------
#----------------------------------------------------------- #-----------------------------------------------------------
# Functions Declaration # Functions Declaration
#----------------------------------------------------------- #-----------------------------------------------------------
......
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
...@@ -27,7 +28,6 @@ ...@@ -27,7 +28,6 @@
# pexpect # pexpect
#--------------------------------------------------------------------- #---------------------------------------------------------------------
#----------------------------------------------------------- #-----------------------------------------------------------
# Import # Import
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -39,6 +39,8 @@ import time ...@@ -39,6 +39,8 @@ import time
import subprocess import subprocess
from multiprocessing import Process, Lock, SimpleQueue from multiprocessing import Process, Lock, SimpleQueue
import constants as CONST
#----------------------------------------------------------- #-----------------------------------------------------------
# Class Declaration # Class Declaration
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -87,11 +89,6 @@ class HTMLManagement(): ...@@ -87,11 +89,6 @@ class HTMLManagement():
def SetHmleNBFailureMsg(self, msg): def SetHmleNBFailureMsg(self, msg):
self.htmleNBFailureMsg = msg self.htmleNBFailureMsg = msg
def SetreseNB(self,rsenb):
self.reseNB = rsenb
def SetresUE(self,rsue):
self.resUE = rsue
def Setdesc(self, dsc): def Setdesc(self, dsc):
self.desc = dsc self.desc = dsc
...@@ -105,35 +102,19 @@ class HTMLManagement(): ...@@ -105,35 +102,19 @@ class HTMLManagement():
def SetranRepository(self, repository): def SetranRepository(self, repository):
self.ranRepository = repository self.ranRepository = repository
def GetranRepository(self):
return self.ranRepository
def SetranAllowMerge(self, merge): def SetranAllowMerge(self, merge):
self.ranAllowMerge = merge self.ranAllowMerge = merge
def GetranAllowMerge(self):
return self.ranAllowMerge
def SetranBranch(self, branch): def SetranBranch(self, branch):
self.ranBranch = branch self.ranBranch = branch
def GetranBranch(self):
return self.ranBranch
def SetranCommitID(self, commitid): def SetranCommitID(self, commitid):
self.ranCommitID = commitid self.ranCommitID = commitid
def GetranCommitID(self):
return self.ranCommitID
def SetranTargetBranch(self, tbranch): def SetranTargetBranch(self, tbranch):
self.ranTargetBranch = tbranch self.ranTargetBranch = tbranch
def GetranTargetBranch(self):
return self.ranTargetBranch
def SethtmlUEConnected(self, nbUEs): def SethtmlUEConnected(self, nbUEs):
self.htmlUEConnected = nbUEs self.htmlUEConnected = nbUEs
def SethtmlNb_Smartphones(self, nbUEs): def SethtmlNb_Smartphones(self, nbUEs):
self.htmlNb_Smartphones = nbUEs self.htmlNb_Smartphones = nbUEs
def SethtmlNb_CATM_Modules(self, nbUEs): def SethtmlNb_CATM_Modules(self, nbUEs):
self.htmlNb_CATM_Modules = nbUEs self.htmlNb_CATM_Modules = nbUEs
...@@ -400,29 +381,29 @@ class HTMLManagement(): ...@@ -400,29 +381,29 @@ class HTMLManagement():
elif (str(status) == 'KO'): elif (str(status) == 'KO'):
if (processesStatus == 0): if (processesStatus == 0):
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
elif (processesStatus == ENB_PROCESS_FAILED): elif (processesStatus == CONST.ENB_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - eNB process not found</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - eNB process not found</td>\n')
elif (processesStatus == OAI_UE_PROCESS_FAILED): elif (processesStatus == CONST.OAI_UE_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>\n')
elif (processesStatus == ENB_PROCESS_SEG_FAULT) or (processesStatus == OAI_UE_PROCESS_SEG_FAULT): elif (processesStatus == CONST.ENB_PROCESS_SEG_FAULT) or (processesStatus == CONST.OAI_UE_PROCESS_SEG_FAULT):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Segmentation Fault</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Segmentation Fault</td>\n')
elif (processesStatus == ENB_PROCESS_ASSERTION) or (processesStatus == OAI_UE_PROCESS_ASSERTION): elif (processesStatus == CONST.ENB_PROCESS_ASSERTION) or (processesStatus == CONST.OAI_UE_PROCESS_ASSERTION):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Assertion</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process ended in Assertion</td>\n')
elif (processesStatus == ENB_PROCESS_REALTIME_ISSUE): elif (processesStatus == CONST.ENB_PROCESS_REALTIME_ISSUE):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process faced Real Time issue(s)</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' process faced Real Time issue(s)</td>\n')
elif (processesStatus == ENB_PROCESS_NOLOGFILE_TO_ANALYZE) or (processesStatus == OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE): elif (processesStatus == CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE) or (processesStatus == CONST.OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE):
self.htmlFile.write(' <td bgcolor = "orange" >OK?</td>\n') self.htmlFile.write(' <td bgcolor = "orange" >OK?</td>\n')
elif (processesStatus == ENB_PROCESS_SLAVE_RRU_NOT_SYNCED): elif (processesStatus == CONST.ENB_PROCESS_SLAVE_RRU_NOT_SYNCED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' Slave RRU could not synch</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - ' + machine + ' Slave RRU could not synch</td>\n')
elif (processesStatus == OAI_UE_PROCESS_COULD_NOT_SYNC): elif (processesStatus == CONST.OAI_UE_PROCESS_COULD_NOT_SYNC):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - UE could not sync</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - UE could not sync</td>\n')
elif (processesStatus == HSS_PROCESS_FAILED): elif (processesStatus == CONST.HSS_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - HSS process not found</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - HSS process not found</td>\n')
elif (processesStatus == MME_PROCESS_FAILED): elif (processesStatus == CONST.MME_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - MME process not found</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - MME process not found</td>\n')
elif (processesStatus == SPGW_PROCESS_FAILED): elif (processesStatus == CONST.SPGW_PROCESS_FAILED):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - SPGW process not found</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - SPGW process not found</td>\n')
elif (processesStatus == UE_IP_ADDRESS_ISSUE): elif (processesStatus == CONST.UE_IP_ADDRESS_ISSUE):
self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>\n')
else: else:
self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n') self.htmlFile.write(' <td bgcolor = "lightcoral" >' + str(status) + '</td>\n')
...@@ -491,4 +472,3 @@ class HTMLManagement(): ...@@ -491,4 +472,3 @@ class HTMLManagement():
self.htmlFile.write(' </tr>\n') self.htmlFile.write(' </tr>\n')
self.htmlFile.close() self.htmlFile.close()
...@@ -104,8 +104,6 @@ class OaiCiTest(): ...@@ -104,8 +104,6 @@ class OaiCiTest():
self.Initialize_OAI_UE_args = '' self.Initialize_OAI_UE_args = ''
self.clean_repository = True self.clean_repository = True
self.expectedNbOfConnectedUEs = 0 self.expectedNbOfConnectedUEs = 0
self.startTime = 0
def BuildOAIUE(self): def BuildOAIUE(self):
if self.UEIPAddress == '' or RAN.GetranRepository() == '' or RAN.GetranBranch() == '' or self.UEUserName == '' or self.UEPassword == '' or self.UESourceCodePath == '': if self.UEIPAddress == '' or RAN.GetranRepository() == '' or RAN.GetranBranch() == '' or self.UEUserName == '' or self.UEPassword == '' or self.UESourceCodePath == '':
...@@ -1901,7 +1899,6 @@ class OaiCiTest(): ...@@ -1901,7 +1899,6 @@ class OaiCiTest():
def Iperf_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue): def Iperf_common(self, lock, UE_IPAddress, device_id, idx, ue_num, statusQueue):
try: try:
logging.debug('entring Iperf_common')
# Single-UE profile -- iperf only on one UE # Single-UE profile -- iperf only on one UE
if self.iperf_profile == 'single-ue' and idx != 0: if self.iperf_profile == 'single-ue' and idx != 0:
return return
...@@ -2239,7 +2236,6 @@ class OaiCiTest(): ...@@ -2239,7 +2236,6 @@ class OaiCiTest():
ue_num = len(self.UEIPAddresses) ue_num = len(self.UEIPAddresses)
lock = Lock() lock = Lock()
status_queue = SimpleQueue() status_queue = SimpleQueue()
logging.debug('ue_num = ' + str(ue_num))
for UE_IPAddress in self.UEIPAddresses: for UE_IPAddress in self.UEIPAddresses:
device_id = self.UEDevices[i] device_id = self.UEDevices[i]
p = Process(target = self.Iperf_common, args = (lock,UE_IPAddress,device_id,i,ue_num,status_queue,)) p = Process(target = self.Iperf_common, args = (lock,UE_IPAddress,device_id,i,ue_num,status_queue,))
...@@ -3559,8 +3555,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re ...@@ -3559,8 +3555,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
CiTestObj.FailReportCnt = 0 CiTestObj.FailReportCnt = 0
RAN.SetprematureExit(True) RAN.SetprematureExit(True)
CiTestObj.startTime = int(round(time.time() * 1000)) HTML.SetstartTime(int(round(time.time() * 1000))
HTML.SetstartTime(CiTestObj.startTime)
while CiTestObj.FailReportCnt < CiTestObj.repeatCounts[0] and RAN.GetprematureExit(): while CiTestObj.FailReportCnt < CiTestObj.repeatCounts[0] and RAN.GetprematureExit():
RAN.SetprematureExit(False) RAN.SetprematureExit(False)
# At every iteratin of the retry loop, a separator will be added # At every iteratin of the retry loop, a separator will be added
......
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# pexpect # pexpect
#--------------------------------------------------------------------- #---------------------------------------------------------------------
#----------------------------------------------------------- #-----------------------------------------------------------
# Import # Import
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -233,8 +232,6 @@ class RANManagement(): ...@@ -233,8 +232,6 @@ class RANManagement():
# RAN management functions # RAN management functions
#----------------------------------------------------------- #-----------------------------------------------------------
def BuildeNB(self): def BuildeNB(self):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '': if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
GenericHelp(Version) GenericHelp(Version)
...@@ -347,8 +344,6 @@ class RANManagement(): ...@@ -347,8 +344,6 @@ class RANManagement():
mySSH.close() mySSH.close()
self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.testCase_id) self.checkBuildeNB(lIpAddr, lUserName, lPassWord, lSourcePath, self.testCase_id)
def WaitBuildeNBisFinished(self): def WaitBuildeNBisFinished(self):
if self.eNB_serverId == '0': if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress lIpAddr = self.eNBIPAddress
...@@ -444,7 +439,6 @@ class RANManagement(): ...@@ -444,7 +439,6 @@ class RANManagement():
self.htmlObj.CreateHtmlTabFooter(False) self.htmlObj.CreateHtmlTabFooter(False)
sys.exit(1) sys.exit(1)
def InitializeeNB(self): def InitializeeNB(self):
if self.eNB_serverId == '0': if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress lIpAddr = self.eNBIPAddress
...@@ -638,8 +632,6 @@ class RANManagement(): ...@@ -638,8 +632,6 @@ class RANManagement():
self.htmlObj.CreateHtmlTestRow('-O ' + config_file + extra_options, 'OK', CONST.ALL_PROCESSES_OK) self.htmlObj.CreateHtmlTestRow('-O ' + config_file + extra_options, 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('\u001B[1m Initialize eNB Completed\u001B[0m') logging.debug('\u001B[1m Initialize eNB Completed\u001B[0m')
def CheckeNBProcess(self, status_queue): def CheckeNBProcess(self, status_queue):
try: try:
# At least the instance 0 SHALL be on! # At least the instance 0 SHALL be on!
...@@ -672,8 +664,6 @@ class RANManagement(): ...@@ -672,8 +664,6 @@ class RANManagement():
except: except:
os.kill(os.getppid(),signal.SIGUSR1) os.kill(os.getppid(),signal.SIGUSR1)
def TerminateeNB(self): def TerminateeNB(self):
if self.eNB_serverId == '0': if self.eNB_serverId == '0':
lIpAddr = self.eNBIPAddress lIpAddr = self.eNBIPAddress
...@@ -780,7 +770,6 @@ class RANManagement(): ...@@ -780,7 +770,6 @@ class RANManagement():
self.eNBmbmsEnables[int(self.eNB_instance)] = False self.eNBmbmsEnables[int(self.eNB_instance)] = False
self.eNBstatuses[int(self.eNB_instance)] = -1 self.eNBstatuses[int(self.eNB_instance)] = -1
def LogCollecteNB(self): def LogCollecteNB(self):
mySSH = SSH.SSHConnection() mySSH = SSH.SSHConnection()
mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword) mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword)
...@@ -791,7 +780,6 @@ class RANManagement(): ...@@ -791,7 +780,6 @@ class RANManagement():
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt', '\$', 5) mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt', '\$', 5)
mySSH.close() mySSH.close()
def AnalyzeLogFile_eNB(self, eNBlogFile): def AnalyzeLogFile_eNB(self, eNBlogFile):
if (not os.path.isfile('./' + eNBlogFile)): if (not os.path.isfile('./' + eNBlogFile)):
return -1 return -1
...@@ -1043,7 +1031,7 @@ class RANManagement(): ...@@ -1043,7 +1031,7 @@ class RANManagement():
if foundRealTimeIssue: if foundRealTimeIssue:
logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB faced real time issues! \u001B[0m') logging.debug('\u001B[1;37;41m ' + nodeB_prefix + 'NB faced real time issues! \u001B[0m')
htmleNBFailureMsg += nodeB_prefix + 'NB faced real time issues!\n' htmleNBFailureMsg += nodeB_prefix + 'NB faced real time issues!\n'
#return ENB_PROCESS_REALTIME_ISSUE #return CONST.ENB_PROCESS_REALTIME_ISSUE
if rlcDiscardBuffer > 0: if rlcDiscardBuffer > 0:
rlcMsg = nodeB_prefix + 'NB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)' rlcMsg = nodeB_prefix + 'NB RLC discarded ' + str(rlcDiscardBuffer) + ' buffer(s)'
logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m') logging.debug('\u001B[1;37;41m ' + rlcMsg + ' \u001B[0m')
......
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with # * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership. # * this work for additional information regarding copyright ownership.
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
# pexpect # pexpect
#--------------------------------------------------------------------- #---------------------------------------------------------------------
#----------------------------------------------------------- #-----------------------------------------------------------
# Import # Import
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -36,6 +35,7 @@ import pexpect # pexpect ...@@ -36,6 +35,7 @@ import pexpect # pexpect
import logging import logging
import time # sleep import time # sleep
import re import re
#----------------------------------------------------------- #-----------------------------------------------------------
# Class Declaration # Class Declaration
#----------------------------------------------------------- #-----------------------------------------------------------
...@@ -89,7 +89,6 @@ class SSHConnection(): ...@@ -89,7 +89,6 @@ class SSHConnection():
else: else:
sys.exit('SSH Connection Failed') sys.exit('SSH Connection Failed')
def command(self, commandline, expectedline, timeout): def command(self, commandline, expectedline, timeout):
logging.debug(commandline) logging.debug(commandline)
self.ssh.timeout = timeout self.ssh.timeout = timeout
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment