diff --git a/ci-scripts/Jenkinsfile-tmp-full-ran b/ci-scripts/Jenkinsfile-tmp-full-ran index e55de8b57c..139ff65132 100644 --- a/ci-scripts/Jenkinsfile-tmp-full-ran +++ b/ci-scripts/Jenkinsfile-tmp-full-ran @@ -39,10 +39,8 @@ if (params.LockResources != null && params.LockResources.trim().length() > 0) // Terminate Status def termENB = 0 -def termOAIUE = 1 -def termStatusArray = new Boolean[termOAIUE + 1] +def termStatusArray = new Boolean[termENB + 1] termStatusArray[termENB] = false -termStatusArray[termOAIUE] = false // Global Parameters. Normally they should be populated when the master job // triggers the slave job with parameters @@ -241,23 +239,6 @@ pipeline { } } } - stage('Terminate OAI-UE') { - steps { - echo '\u2705 \u001B[32mTerminate OAI-UE\u001B[0m' - withCredentials([ - [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'] - ]) { - sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}" - } - } - post { - success { - script { - termStatusArray[termOAIUE] = true - } - } - } - } } } stage('Log Collection') { @@ -473,13 +454,6 @@ pipeline { sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" } } - if (!termStatusArray[termOAIUE]) { - withCredentials([ - [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password'] - ]) { - sh "python3 ci-scripts/main.py --mode=TerminateOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}" - } - } } } } diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index 4e731caab3..f38b303656 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -873,60 +873,6 @@ class OaiCiTest(): messages = [f"UE {ue.getName()}: {log}" for (ue, log) in zip(ues, archive_info)] HTML.CreateHtmlTestRowQueue(f'N/A', 'OK', messages) - def TerminateOAIUE(self,HTML,RAN,EPC,CONTAINERS): - SSH = sshconnection.SSHConnection() - SSH.open(self.UEIPAddress, self.UEUserName, self.UEPassword) - SSH.command(f'cd {self.UESourceCodePath}/cmake_targets', '\$', 5) - SSH.command('ps -aux | grep --color=never softmodem | grep -v grep', '\$', 5) - result = re.search('-uesoftmodem', SSH.getBefore()) - if result is not None: - SSH.command(f'echo {self.UEPassword} | sudo -S killall --signal SIGINT -r .*-uesoftmodem || true', '\$', 5) - time.sleep(10) - SSH.command('ps -aux | grep --color=never softmodem | grep -v grep', '\$', 5) - result = re.search('-uesoftmodem', SSH.getBefore()) - if result is not None: - SSH.command(f'echo {self.UEPassword} | sudo -S killall --signal SIGKILL -r .*-uesoftmodem || true', '\$', 5) - time.sleep(5) - SSH.command(f'rm -f my-lte-uesoftmodem-run {self.UE_instance}.sh', '\$', 5) - SSH.close() - result = re.search('ue_', str(self.UELogFile)) - if result is not None: - copyin_res = SSH.copyin(self.UEIPAddress, self.UEUserName, self.UEPassword,f'{self.UESourceCodePath}/cmake_targets/{self.UELogFile}', '.') - if (copyin_res == -1): - logging.debug('\u001B[1;37;41m Could not copy UE logfile to analyze it! \u001B[0m') - HTML.htmlUEFailureMsg='Could not copy UE logfile to analyze it!' - HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE, 'UE') - self.UELogFile = '' - return - logging.debug('\u001B[1m Analyzing UE logfile \u001B[0m') - logStatus = self.AnalyzeLogFile_UE(self.UELogFile,HTML,RAN) - result = re.search('--no-L2-connect', str(self.Initialize_OAI_UE_args)) - if result is not None: - ueAction = 'Sniffing' - else: - ueAction = 'Connection' - if (logStatus < 0): - logging.debug(f'\u001B[1m {ueAction} Failed \u001B[0m') - HTML.htmlUEFailureMsg='' + ueAction + ' Failed\n' + HTML.htmlUEFailureMsg - HTML.CreateHtmlTestRow('N/A', 'KO', logStatus, 'UE') - if self.air_interface == 'lte-uesoftmodem': - # In case of sniffing on commercial eNBs we have random results - # Not an error then - if (logStatus != CONST.OAI_UE_PROCESS_COULD_NOT_SYNC) or (ueAction != 'Sniffing'): - self.Initialize_OAI_UE_args = '' - self.AutoTerminateUEandeNB(HTML,RAN,EPC,CONTAINERS) - else: - if (logStatus == CONST.OAI_UE_PROCESS_COULD_NOT_SYNC): - self.Initialize_OAI_UE_args = '' - self.AutoTerminateUEandeNB(HTML,RAN,EPC,CONTAINERS) - else: - logging.debug(f'\u001B[1m {ueAction} Completed \u001B[0m') - HTML.htmlUEFailureMsg='' + ueAction + ' Completed\n' + HTML.htmlUEFailureMsg - HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) - self.UELogFile = '' - else: - HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) - def AutoTerminateUEandeNB(self,HTML,RAN,EPC,CONTAINERS): if (RAN.Initialize_eNB_args != ''): self.testCase_id = 'AUTO-KILL-RAN' diff --git a/ci-scripts/main.py b/ci-scripts/main.py index e63915af40..041ed655f7 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -225,20 +225,6 @@ def GetParametersFromXML(action): else: CiTestObj.nodes = [None] * len(CiTestObj.ue_ids) - elif action == 'Terminate_OAI_UE': - UE_instance=test.findtext('UE_instance') - if (UE_instance is None): - CiTestObj.UE_instance = '0' - else: - CiTestObj.UE_instance = int(UE_instance) - - #local variable air_interface - air_interface = test.findtext('air_interface') - if (air_interface is None) or (air_interface.lower() not in ['nr','lte']): - CiTestObj.air_interface = 'lte-uesoftmodem' - else: - CiTestObj.air_interface = air_interface.lower() +'-uesoftmodem' - elif action == 'Ping': CiTestObj.ping_args = test.findtext('ping_args') CiTestObj.ping_packetloss_threshold = test.findtext('ping_packetloss_threshold') @@ -493,12 +479,6 @@ if re.match('^TerminateeNB$', mode, re.IGNORECASE): RAN.eNB_serverId[0]='0' RAN.eNBSourceCodePath='/tmp/' RAN.TerminateeNB(HTML, EPC) -elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE): - if CiTestObj.UEIPAddress == '' or CiTestObj.UEUserName == '' or CiTestObj.UEPassword == '': - HELP.GenericHelp(CONST.Version) - sys.exit('Insufficient Parameter') - signal.signal(signal.SIGUSR1, receive_signal) - CiTestObj.TerminateOAIUE(HTML,RAN,EPC,CONTAINERS) elif re.match('^TerminateHSS$', mode, re.IGNORECASE): if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '': HELP.GenericHelp(CONST.Version) @@ -753,8 +733,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re CiTestObj.DataEnableUE(HTML) elif action == 'CheckStatusUE': CiTestObj.CheckStatusUE(HTML) - elif action == 'Terminate_OAI_UE': - CiTestObj.TerminateOAIUE(HTML,RAN,EPC,CONTAINERS) elif action == 'Ping': CiTestObj.Ping(HTML,RAN,EPC,CONTAINERS) elif action == 'Iperf': diff --git a/ci-scripts/xml_class_list.yml b/ci-scripts/xml_class_list.yml index c7d51d256e..71c7cd52b0 100755 --- a/ci-scripts/xml_class_list.yml +++ b/ci-scripts/xml_class_list.yml @@ -13,7 +13,6 @@ - Terminate_UE - Attach_UE - Detach_UE - - Terminate_OAI_UE - DataDisable_UE - DataEnable_UE - CheckStatusUE