Remove epc.py and use from python files
All core networks have been migrated to a file-based configuration. References to epc.py are not needed anymore. Remove all unused XML steps.
This commit is contained in:
@@ -41,7 +41,7 @@ import constants as CONST
|
||||
#-----------------------------------------------------------
|
||||
|
||||
|
||||
def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
def ArgsParse(argvs,CiTestObj,RAN,HTML,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
|
||||
|
||||
py_param_file_present = False
|
||||
@@ -192,7 +192,6 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
SCA.eNBSourceCodePath=matchReg.group(1)
|
||||
PHYSIM.eNBSourceCodePath=matchReg.group(1)
|
||||
CLUSTER.eNBSourceCodePath=matchReg.group(1)
|
||||
EPC.eNBSourceCodePath=matchReg.group(1)
|
||||
elif re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE)
|
||||
RAN.eNB1SourceCodePath=matchReg.group(1)
|
||||
@@ -202,26 +201,17 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
RAN.eNB2SourceCodePath=matchReg.group(1)
|
||||
CONTAINERS.eNB2SourceCodePath=matchReg.group(1)
|
||||
elif re.match('^\-\-EPCIPAddress=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCIPAddress=(.+)$', myArgv, re.IGNORECASE)
|
||||
EPC.IPAddress=matchReg.group(1)
|
||||
print("parameter --EPCIPAddress ignored")
|
||||
elif re.match('^\-\-EPCUserName=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCUserName=(.+)$', myArgv, re.IGNORECASE)
|
||||
EPC.UserName=matchReg.group(1)
|
||||
print("parameter --EPCUserName ignored")
|
||||
elif re.match('^\-\-EPCPassword=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCPassword=(.+)$', myArgv, re.IGNORECASE)
|
||||
EPC.Password=matchReg.group(1)
|
||||
print("parameter --EPCPassword ignored")
|
||||
elif re.match('^\-\-EPCSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCSourceCodePath=(.+)$', myArgv, re.IGNORECASE)
|
||||
EPC.SourceCodePath=matchReg.group(1)
|
||||
print("parameter --EPCSourceCodePath ignored")
|
||||
elif re.match('^\-\-EPCType=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCType=(.+)$', myArgv, re.IGNORECASE)
|
||||
if re.match('OAI', matchReg.group(1), re.IGNORECASE) or re.match('ltebox', matchReg.group(1), re.IGNORECASE) or re.match('OAI-Rel14-Docker', matchReg.group(1), re.IGNORECASE) or re.match('OC-OAI-CN5G', matchReg.group(1), re.IGNORECASE):
|
||||
EPC.Type=matchReg.group(1)
|
||||
else:
|
||||
sys.exit('Invalid EPC Type: ' + matchReg.group(1) + ' -- (should be OAI or ltebox or OAI-Rel14-Docker or OC-OAI-CN5G)')
|
||||
print("parameter --EPCType ignored")
|
||||
elif re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE)
|
||||
EPC.ContainerPrefix=matchReg.group(1)
|
||||
print("parameter --EPCContainerPrefix ignored")
|
||||
elif re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
|
||||
CiTestObj.testXMLfiles.append(matchReg.group(1))
|
||||
@@ -248,17 +238,14 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER):
|
||||
matchReg = re.match('^\-\-OCUserName=(.+)$', myArgv, re.IGNORECASE)
|
||||
PHYSIM.OCUserName = matchReg.group(1)
|
||||
CLUSTER.OCUserName = matchReg.group(1)
|
||||
EPC.OCUserName = matchReg.group(1)
|
||||
elif re.match('^\-\-OCPassword=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-OCPassword=(.+)$', myArgv, re.IGNORECASE)
|
||||
PHYSIM.OCPassword = matchReg.group(1)
|
||||
CLUSTER.OCPassword = matchReg.group(1)
|
||||
EPC.OCPassword = matchReg.group(1)
|
||||
elif re.match('^\-\-OCProjectName=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-OCProjectName=(.+)$', myArgv, re.IGNORECASE)
|
||||
PHYSIM.OCProjectName = matchReg.group(1)
|
||||
CLUSTER.OCProjectName = matchReg.group(1)
|
||||
EPC.OCProjectName = matchReg.group(1)
|
||||
elif re.match('^\-\-OCUrl=(.+)$', myArgv, re.IGNORECASE):
|
||||
matchReg = re.match('^\-\-OCUrl=(.+)$', myArgv, re.IGNORECASE)
|
||||
CLUSTER.OCUrl = matchReg.group(1)
|
||||
|
||||
@@ -1,321 +0,0 @@
|
||||
#/*
|
||||
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
# * contributor license agreements. See the NOTICE file distributed with
|
||||
# * this work for additional information regarding copyright ownership.
|
||||
# * The OpenAirInterface Software Alliance licenses this file to You under
|
||||
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
# * except in compliance with the License.
|
||||
# * You may obtain a copy of the License at
|
||||
# *
|
||||
# * http://www.openairinterface.org/?page_id=698
|
||||
# *
|
||||
# * Unless required by applicable law or agreed to in writing, software
|
||||
# * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# * See the License for the specific language governing permissions and
|
||||
# * limitations under the License.
|
||||
# *-------------------------------------------------------------------------------
|
||||
# * For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
# * contact@openairinterface.org
|
||||
# */
|
||||
#---------------------------------------------------------------------
|
||||
# Python for CI of OAI-eNB + COTS-UE
|
||||
#
|
||||
# Required Python Version
|
||||
# Python 3.x
|
||||
#
|
||||
# Required Python Package
|
||||
# pexpect
|
||||
#---------------------------------------------------------------------
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# Import
|
||||
#-----------------------------------------------------------
|
||||
import sys # arg
|
||||
import re # reg
|
||||
import logging
|
||||
import os
|
||||
import time
|
||||
import signal
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# OAI Testing modules
|
||||
#-----------------------------------------------------------
|
||||
import sshconnection as SSH
|
||||
import helpreadme as HELP
|
||||
import constants as CONST
|
||||
import cls_cluster as OC
|
||||
import cls_cmd
|
||||
import cls_module
|
||||
#-----------------------------------------------------------
|
||||
# Class Declaration
|
||||
#-----------------------------------------------------------
|
||||
|
||||
|
||||
class EPCManagement():
|
||||
|
||||
def __init__(self):
|
||||
|
||||
self.IPAddress = ''
|
||||
self.UserName = ''
|
||||
self.Password = ''
|
||||
self.SourceCodePath = ''
|
||||
self.Type = ''
|
||||
self.PcapFileName = ''
|
||||
self.testCase_id = ''
|
||||
self.MmeIPAddress = ''
|
||||
self.containerPrefix = 'prod'
|
||||
self.mmeConfFile = 'mme.conf'
|
||||
self.yamlPath = ''
|
||||
self.isMagmaUsed = False
|
||||
self.cfgDeploy = '--type start-mini --scenario 1 --capture /tmp/oai-cn5g-v1.5.pcap' #from xml, 'mini' is default normal for docker-network.py
|
||||
self.cfgUnDeploy = '--type stop-mini --scenario 1' #from xml, 'mini' is default normal for docker-network.py
|
||||
self.OCUrl = "https://api.oai.cs.eurecom.fr:6443"
|
||||
self.OCRegistry = "default-route-openshift-image-registry.apps.oai.cs.eurecom.fr"
|
||||
self.OCUserName = ''
|
||||
self.OCPassword = ''
|
||||
self.cnID = ''
|
||||
self.imageToPull = ''
|
||||
self.eNBSourceCodePath = ''
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# EPC management functions
|
||||
#-----------------------------------------------------------
|
||||
|
||||
def InitializeHSS(self, HTML):
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
|
||||
sys.exit('Insufficient EPC Parameters')
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def InitializeMME(self, HTML):
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
|
||||
sys.exit('Insufficient EPC Parameters')
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def SetMmeIPAddress(self):
|
||||
# Not an error if we don't need an EPC
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
|
||||
return
|
||||
if self.IPAddress == 'none':
|
||||
return
|
||||
# Only in case of Docker containers, MME IP address is not the EPC HOST IP address
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
self.MmeIPAddress = self.IPAddress
|
||||
|
||||
def InitializeSPGW(self, HTML):
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
|
||||
sys.exit('Insufficient EPC Parameters')
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def Initialize5GCN(self, HTML):
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.Type == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.Type)
|
||||
logging.error('Insufficient EPC Parameters')
|
||||
return False
|
||||
mySSH = cls_cmd.getConnection(self.IPAddress)
|
||||
html_cell = ''
|
||||
if re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [html_cell])
|
||||
return True
|
||||
|
||||
def SetAmfIPAddress(self):
|
||||
# Not an error if we don't need an 5GCN
|
||||
if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
|
||||
return
|
||||
if self.IPAddress == 'none':
|
||||
return
|
||||
if re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
|
||||
def TerminateHSS(self, HTML):
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This should not happen!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def TerminateMME(self, HTML):
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This should not happen!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def TerminateSPGW(self, HTML):
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This should not happen!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||
return True
|
||||
|
||||
def Terminate5GCN(self, HTML):
|
||||
mySSH = cls_cmd.getConnection(self.IPAddress)
|
||||
message = ''
|
||||
if re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This should not happen!')
|
||||
mySSH.close()
|
||||
HTML.CreateHtmlTestRowQueue(self.Type, 'OK', [message])
|
||||
return True
|
||||
|
||||
def DeployEpc(self, HTML):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
|
||||
def UndeployEpc(self, HTML):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
|
||||
def LogCollectHSS(self):
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
|
||||
mySSH.command('rm -f hss.log.zip', '\$', 5)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
|
||||
def LogCollectMME(self):
|
||||
if self.Type != 'OC-OAI-CN5G':
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
|
||||
mySSH.command('rm -f mme.log.zip', '\$', 5)
|
||||
else:
|
||||
mySSH = cls_cmd.getConnection(self.IPAddress)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
|
||||
def LogCollectSPGW(self):
|
||||
mySSH = SSH.SSHConnection()
|
||||
mySSH.open(self.IPAddress, self.UserName, self.Password)
|
||||
mySSH.command('cd ' + self.SourceCodePath + '/scripts', '\$', 5)
|
||||
mySSH.command('rm -f spgw.log.zip', '\$', 5)
|
||||
if re.match('OAI-Rel14-Docker', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAICN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OC-OAI-CN5G', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("core network not supported")
|
||||
elif re.match('ltebox', self.Type, re.IGNORECASE):
|
||||
raise NotImplemented("use cls_corenetwork.py")
|
||||
else:
|
||||
logging.error('This option should not occur!')
|
||||
mySSH.close()
|
||||
@@ -64,13 +64,6 @@ def OAIUESrvHelp(ipaddr, username, password, sourcepath):
|
||||
print(' --UEPassword=[UE\'s Login Password] -- ' + password)
|
||||
print(' --UESourceCodePath=[UE\'s Source Code Path] -- ' + sourcepath)
|
||||
|
||||
def EPCSrvHelp(ipaddr, username, password, sourcepath, epctype):
|
||||
print(' --EPCIPAddress=[EPC\'s IP Address] -- ' + ipaddr)
|
||||
print(' --EPCUserName=[EPC\'s Login User Name] -- ' + username)
|
||||
print(' --EPCPassword=[EPC\'s Login Password] -- ' + password)
|
||||
print(' --EPCSourceCodePath=[EPC\'s Source Code Path] -- ' + sourcepath)
|
||||
print(' --EPCType=[EPC\'s Type: OAI or ltebox or OC-OAI-CN5G] -- ' + epctype)
|
||||
|
||||
def XmlHelp(filename):
|
||||
print(' --XMLTestFile=[XML Test File to be run] -- ' + filename)
|
||||
print(' Note: multiple xml files can be specified (--XMLFile=File1 ... --XMLTestFile=FileN) when HTML headers are created ("InitiateHtml" mode)')
|
||||
|
||||
+8
-77
@@ -45,7 +45,6 @@ import cls_physim1 #class PhySim for physical simulators deploy and run
|
||||
import cls_cluster # class for building/deploying on cluster
|
||||
import cls_native # class for all native/source-based operations
|
||||
|
||||
import epc
|
||||
import ran
|
||||
import cls_oai_html
|
||||
|
||||
@@ -94,7 +93,6 @@ def AssignParams(params_dict):
|
||||
setattr(HTML, key, value)
|
||||
|
||||
def ExecuteActionWithParam(action):
|
||||
global EPC
|
||||
global RAN
|
||||
global HTML
|
||||
global CONTAINERS
|
||||
@@ -299,48 +297,6 @@ def ExecuteActionWithParam(action):
|
||||
elif action == 'Deploy_Run_PhySim':
|
||||
success = PHYSIM.Deploy_PhySim(HTML)
|
||||
|
||||
elif action == 'Initialize_MME':
|
||||
string_field = test.findtext('option')
|
||||
if (string_field is not None):
|
||||
EPC.mmeConfFile = string_field
|
||||
success = EPC.InitializeMME(HTML)
|
||||
|
||||
elif action == 'Initialize_HSS' or action == 'Initialize_SPGW':
|
||||
if action == 'Initialize_HSS':
|
||||
success = EPC.InitializeHSS(HTML)
|
||||
elif action == 'Initialize_SPGW':
|
||||
success = EPC.InitializeSPGW(HTML)
|
||||
elif action == 'Terminate_HSS' or action == 'Terminate_MME' or action == 'Terminate_SPGW':
|
||||
if action == 'Terminate_HSS':
|
||||
success = EPC.TerminateHSS(HTML)
|
||||
elif action == 'Terminate_MME':
|
||||
success = EPC.TerminateMME(HTML)
|
||||
elif action == 'Terminate_SPGW':
|
||||
success = EPC.TerminateSPGW(HTML)
|
||||
|
||||
elif action == 'Deploy_EPC':
|
||||
string_field = test.findtext('parameters')
|
||||
if (string_field is not None):
|
||||
EPC.yamlPath = string_field
|
||||
success = EPC.DeployEpc(HTML)
|
||||
|
||||
elif action == 'Undeploy_EPC':
|
||||
success = EPC.UndeployEpc(HTML)
|
||||
|
||||
elif action == 'Initialize_5GCN':
|
||||
string_field = test.findtext('args')
|
||||
if (string_field is not None):
|
||||
EPC.cfgDeploy = string_field
|
||||
EPC.cnID = test.findtext('cn_id')
|
||||
success = EPC.Initialize5GCN(HTML)
|
||||
|
||||
elif action == 'Terminate_5GCN':
|
||||
string_field = test.findtext('args')
|
||||
if (string_field is not None):
|
||||
EPC.cfgUnDeploy = string_field
|
||||
EPC.cnID = test.findtext('cn_id')
|
||||
success = EPC.Terminate5GCN(HTML)
|
||||
|
||||
elif action == 'DeployCoreNetwork' or action == 'UndeployCoreNetwork':
|
||||
cn_id = test.findtext('cn_id')
|
||||
core_op = getattr(cls_oaicitest.OaiCiTest, action)
|
||||
@@ -479,7 +435,6 @@ mode = ''
|
||||
|
||||
CiTestObj = cls_oaicitest.OaiCiTest()
|
||||
|
||||
EPC = epc.EPCManagement()
|
||||
RAN = ran.RANManagement()
|
||||
HTML = cls_oai_html.HTMLManagement()
|
||||
CONTAINERS = cls_containerize.Containerize()
|
||||
@@ -494,7 +449,7 @@ CLUSTER = cls_cluster.Cluster()
|
||||
import args_parse
|
||||
# Force local execution, move all execution targets to localhost
|
||||
force_local = False
|
||||
py_param_file_present, py_params, mode, force_local = args_parse.ArgsParse(sys.argv,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER)
|
||||
py_param_file_present, py_params, mode, force_local = args_parse.ArgsParse(sys.argv,CiTestObj,RAN,HTML,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER)
|
||||
|
||||
|
||||
|
||||
@@ -521,20 +476,11 @@ if re.match('^TerminateeNB$', mode, re.IGNORECASE):
|
||||
RAN.eNBSourceCodePath='/tmp/'
|
||||
RAN.TerminateeNB(HTML)
|
||||
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)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.TerminateHSS(HTML)
|
||||
logging.warning("Option TerminateHSS ignored")
|
||||
elif re.match('^TerminateMME$', mode, re.IGNORECASE):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.TerminateMME(HTML)
|
||||
logging.warning("Option TerminateMME ignored")
|
||||
elif re.match('^TerminateSPGW$', mode, re.IGNORECASE):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath== '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.TerminateSPGW(HTML)
|
||||
logging.warning("Option TerminateSPGW ignored")
|
||||
elif re.match('^LogCollectBuild$', mode, re.IGNORECASE):
|
||||
if (RAN.eNBIPAddress == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '') and (CiTestObj.UEIPAddress == '' or CiTestObj.UEUserName == '' or CiTestObj.UEPassword == '' or CiTestObj.UESourceCodePath == ''):
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
@@ -557,20 +503,11 @@ elif re.match('^LogCollecteNB$', mode, re.IGNORECASE):
|
||||
sys.exit(0)
|
||||
RAN.LogCollecteNB()
|
||||
elif re.match('^LogCollectHSS$', mode, re.IGNORECASE):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.LogCollectHSS()
|
||||
logging.warning("Option LogCollectHSS ignored")
|
||||
elif re.match('^LogCollectMME$', mode, re.IGNORECASE):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.LogCollectMME()
|
||||
logging.warning("Option LogCollectMME ignored")
|
||||
elif re.match('^LogCollectSPGW$', mode, re.IGNORECASE):
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
sys.exit('Insufficient Parameter')
|
||||
EPC.LogCollectSPGW()
|
||||
logging.warning("Option LogCollectSPGW ignored")
|
||||
elif re.match('^LogCollectPing$', mode, re.IGNORECASE):
|
||||
logging.warning("Option LogCollectPing ignored")
|
||||
elif re.match('^LogCollectIperf$', mode, re.IGNORECASE):
|
||||
@@ -609,10 +546,8 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
||||
logging.info('\u001B[1m Starting Scenario: ' + CiTestObj.testXMLfiles[0] + '\u001B[0m')
|
||||
logging.info('\u001B[1m----------------------------------------\u001B[0m')
|
||||
if re.match('^TesteNB$', mode, re.IGNORECASE):
|
||||
if RAN.eNBIPAddress == '' or RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '' or EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.Type == '' or EPC.SourceCodePath == '':
|
||||
if RAN.eNBIPAddress == '' or RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '':
|
||||
HELP.GenericHelp(CONST.Version)
|
||||
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '' or EPC.Type == '':
|
||||
HELP.EPCSrvHelp(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath, EPC.Type)
|
||||
if RAN.ranRepository == '':
|
||||
HELP.GitSrvHelp(RAN.ranRepository, RAN.ranBranch, RAN.ranCommitID, RAN.ranAllowMerge, RAN.ranTargetBranch)
|
||||
if RAN.eNBIPAddress == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '':
|
||||
@@ -663,9 +598,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
||||
else:
|
||||
logging.error('requested test is invalidly formatted: ' + test)
|
||||
sys.exit(1)
|
||||
if (EPC.IPAddress != '') and (EPC.IPAddress != 'none'):
|
||||
EPC.SetMmeIPAddress()
|
||||
EPC.SetAmfIPAddress()
|
||||
|
||||
#get the list of tests to be done
|
||||
todo_tests=[]
|
||||
@@ -690,7 +622,6 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
|
||||
continue
|
||||
CiTestObj.testCase_id = id
|
||||
HTML.testCase_id=CiTestObj.testCase_id
|
||||
EPC.testCase_id=CiTestObj.testCase_id
|
||||
CiTestObj.desc = test.findtext('desc')
|
||||
always_exec = test.findtext('always_exec') in ['True', 'true', 'Yes', 'yes']
|
||||
HTML.desc=CiTestObj.desc
|
||||
|
||||
@@ -29,7 +29,5 @@ docker tag oai-gnb oai-ci/oai-gnb:develop-${SHORT_COMMIT_SHA}
|
||||
python3 main.py --mode=TesteNB --ranRepository=NONE --ranBranch=${CURRENT_BRANCH} \
|
||||
--ranCommitID=${COMMIT_SHA} --ranAllowMerge=false \
|
||||
--ranTargetBranch=NONE --eNBIPAddress=NONE --eNBUserName=NONE --eNBPassword=NONE \
|
||||
--eNBSourceCodePath=NONE --EPCIPAddress=NONE --EPCType=OAI --eNBPassword=NONE \
|
||||
--eNBSourceCodePath=${REPO_PATH} --EPCIPAddress=NONE \
|
||||
--EPCUserName=NONE --EPCPassword=NONE --EPCSourceCodePath=NONE \
|
||||
--eNBSourceCodePath=${REPO_PATH} \
|
||||
--XMLTestFile=xml_files/${TESTCASE} --local
|
||||
|
||||
@@ -30,11 +30,6 @@ python3 main.py \
|
||||
--UEUserName=NONE \
|
||||
--UEPassword=NONE \
|
||||
--UESourceCodePath=NONE \
|
||||
--EPCIPAddress=localhost \
|
||||
--EPCType=OAI \
|
||||
--EPCUserName=NONE \
|
||||
--EPCPassword=NONE \
|
||||
--EPCSourceCodePath=NONE \
|
||||
--XMLTestFile=tests/test-runner/test.xml
|
||||
|
||||
python3 main.py \
|
||||
|
||||
@@ -15,16 +15,6 @@
|
||||
- Ping
|
||||
- Iperf
|
||||
- Iperf2_Unidir
|
||||
- Deploy_EPC
|
||||
- Undeploy_EPC
|
||||
- Initialize_HSS
|
||||
- Terminate_HSS
|
||||
- Initialize_MME
|
||||
- Terminate_MME
|
||||
- Initialize_SPGW
|
||||
- Terminate_SPGW
|
||||
- Initialize_5GCN
|
||||
- Terminate_5GCN
|
||||
- DeployCoreNetwork
|
||||
- UndeployCoreNetwork
|
||||
- IdleSleep
|
||||
@@ -34,8 +24,6 @@
|
||||
- Undeploy_Object
|
||||
- Cppcheck_Analysis
|
||||
- Deploy_Run_PhySim
|
||||
- DeployGenObject
|
||||
- UndeployGenObject
|
||||
- LicenceAndFormattingCheck
|
||||
- Push_Local_Registry
|
||||
- Pull_Local_Registry
|
||||
|
||||
@@ -102,36 +102,4 @@
|
||||
<desc>Detach UE</desc>
|
||||
</testCase>
|
||||
|
||||
<!-- EPC class command references -->
|
||||
|
||||
<testCase id="050101">
|
||||
<class>Initialize_HSS</class>
|
||||
<desc>Initialize HSS</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="050201">
|
||||
<class>Terminate_HSS</class>
|
||||
<desc>Terminate HSS</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="060101">
|
||||
<class>Initialize_MME</class>
|
||||
<desc>Initialize MME</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="060201">
|
||||
<class>Terminate_MME</class>
|
||||
<desc>Terminate MME</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="070101">
|
||||
<class>Initialize_SPGW</class>
|
||||
<desc>Initialize SPGW</desc>
|
||||
</testCase>
|
||||
|
||||
<testCase id="070201">
|
||||
<class>Terminate_SPGW</class>
|
||||
<desc>Terminate SPGW</desc>
|
||||
</testCase>
|
||||
|
||||
</testCaseList>
|
||||
|
||||
Reference in New Issue
Block a user