feat(ci): the simulation scenarios are now pulling / using images from local registry
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
This commit is contained in:
+121
-77
@@ -651,9 +651,10 @@ class Containerize():
|
|||||||
|
|
||||||
mySSH.command('echo oaicicd | docker login --password-stdin -u oaicicd porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
mySSH.command('echo oaicicd | docker login --password-stdin -u oaicicd porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
||||||
if re.search('Login Succeeded', mySSH.getBefore()) is None:
|
if re.search('Login Succeeded', mySSH.getBefore()) is None:
|
||||||
logging.error('Could not log into local registry')
|
msg = 'Could not log into local registry'
|
||||||
|
logging.error(msg)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow('Could not log into local registry', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
orgTag = 'develop'
|
orgTag = 'develop'
|
||||||
@@ -666,17 +667,21 @@ class Containerize():
|
|||||||
mySSH.command(f'docker push {tagToUse}', '\$', 120)
|
mySSH.command(f'docker push {tagToUse}', '\$', 120)
|
||||||
if re.search(': digest:', mySSH.getBefore()) is None:
|
if re.search(': digest:', mySSH.getBefore()) is None:
|
||||||
logging.debug(mySSH.getBefore())
|
logging.debug(mySSH.getBefore())
|
||||||
logging.error(f'Could not push {image} to local registry : {tagToUse}')
|
msg = f'Could not push {image} to local registry : {tagToUse}'
|
||||||
|
logging.error(msg)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow(f'Could not push {image} to local registry : {tagToUse}', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
# TODO: once we are done migrating all types of tests, rmi also {image}:{orgTag}
|
||||||
|
# so when we pull on builder as a test server, it will really pull
|
||||||
mySSH.command(f'docker rmi {tagToUse}', '\$', 5)
|
mySSH.command(f'docker rmi {tagToUse}', '\$', 5)
|
||||||
|
|
||||||
mySSH.command('docker logout porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
mySSH.command('docker logout porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
||||||
if re.search('Removing login credentials', mySSH.getBefore()) is None:
|
if re.search('Removing login credentials', mySSH.getBefore()) is None:
|
||||||
logging.error('Could not log off from local registry')
|
msg = 'Could not log off from local registry'
|
||||||
|
logging.error(msg)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow('Could not log off from local registry', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
@@ -684,6 +689,8 @@ class Containerize():
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def Pull_Image_from_Local_Registry(self, HTML):
|
def Pull_Image_from_Local_Registry(self, HTML):
|
||||||
|
# This method can be called either onto a remote server (different from python executor)
|
||||||
|
# or directly on the python executor (ie lIpAddr == 'none')
|
||||||
if self.testSvrId == '0':
|
if self.testSvrId == '0':
|
||||||
lIpAddr = self.eNBIPAddress
|
lIpAddr = self.eNBIPAddress
|
||||||
lUserName = self.eNBUserName
|
lUserName = self.eNBUserName
|
||||||
@@ -702,43 +709,68 @@ class Containerize():
|
|||||||
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
|
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
sys.exit('Insufficient Parameter')
|
sys.exit('Insufficient Parameter')
|
||||||
logging.debug('Pulling images onto server: ' + lIpAddr)
|
if lIpAddr != 'none':
|
||||||
mySSH = SSH.SSHConnection()
|
logging.debug('Pulling images onto server: ' + lIpAddr)
|
||||||
mySSH.open(lIpAddr, lUserName, lPassWord)
|
mySSH = SSH.SSHConnection()
|
||||||
|
mySSH.open(lIpAddr, lUserName, lPassWord)
|
||||||
|
else:
|
||||||
|
logging.debug('Pulling images locally')
|
||||||
|
|
||||||
mySSH.command('echo oaicicd | docker login --password-stdin -u oaicicd porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
cmd = 'echo oaicicd | docker login --password-stdin -u oaicicd porcepix.sboai.cs.eurecom.fr'
|
||||||
if re.search('Login Succeeded', mySSH.getBefore()) is None:
|
if lIpAddr != 'none':
|
||||||
logging.error('Could not log into local registry')
|
mySSH.command(cmd, '\$', 5)
|
||||||
mySSH.close()
|
response = mySSH.getBefore()
|
||||||
HTML.CreateHtmlTestRow('Could not log into local registry', 'KO', CONST.ALL_PROCESSES_OK)
|
else:
|
||||||
|
logging.info(cmd)
|
||||||
|
response = subprocess.check_output(cmd, shell=True, universal_newlines=True, stderr=subprocess.STDOUT)
|
||||||
|
if re.search('Login Succeeded', response) is None:
|
||||||
|
msg = 'Could not log into local registry'
|
||||||
|
logging.error(msg)
|
||||||
|
if lIpAddr != 'none':
|
||||||
|
mySSH.close()
|
||||||
|
HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
orgTag = 'develop'
|
|
||||||
if self.ranAllowMerge:
|
|
||||||
orgTag = 'ci-temp'
|
|
||||||
|
|
||||||
for image in self.imageToPull:
|
for image in self.imageToPull:
|
||||||
tagToUse = self.ImageTagToUse(image)
|
tagToUse = self.ImageTagToUse(image)
|
||||||
mySSH.command(f'docker pull {tagToUse}', '\$', 120)
|
cmd = f'docker pull {tagToUse}'
|
||||||
if re.search('Status: Downloaded newer image for |Status: Image is up to date for', mySSH.getBefore()) is None:
|
if lIpAddr != 'none':
|
||||||
logging.debug(mySSH.getBefore())
|
mySSH.command(cmd, '\$', 120)
|
||||||
logging.error(f'Could not pull {image} from local registry : {tagToUse}')
|
response = mySSH.getBefore()
|
||||||
mySSH.close()
|
else:
|
||||||
HTML.CreateHtmlTestRow(f'Could not pull {image} from local registry : {tagToUse}', 'KO', CONST.ALL_PROCESSES_OK)
|
logging.info(cmd)
|
||||||
|
response = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
|
if re.search('Status: Downloaded newer image for |Status: Image is up to date for', response) is None:
|
||||||
|
logging.debug(response)
|
||||||
|
msg = f'Could not pull {image} from local registry : {tagToUse}'
|
||||||
|
logging.error(msg)
|
||||||
|
if lIpAddr != 'none':
|
||||||
|
mySSH.close()
|
||||||
|
HTML.CreateHtmlTestRow('msg', 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
mySSH.command('docker logout porcepix.sboai.cs.eurecom.fr', '\$', 5)
|
cmd = 'docker logout porcepix.sboai.cs.eurecom.fr'
|
||||||
if re.search('Removing login credentials', mySSH.getBefore()) is None:
|
if lIpAddr != 'none':
|
||||||
logging.error('Could not log off from local registry')
|
mySSH.command(cmd, '\$', 5)
|
||||||
|
response = mySSH.getBefore()
|
||||||
|
else:
|
||||||
|
logging.info(cmd)
|
||||||
|
response = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
|
if re.search('Removing login credentials', response) is None:
|
||||||
|
msg = 'Could not log off from local registry'
|
||||||
|
logging.error(msg)
|
||||||
mySSH.close()
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow('Could not log off from local registry', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
mySSH.close()
|
if lIpAddr != 'none':
|
||||||
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def Clean_Test_Server_Images(self, HTML):
|
def Clean_Test_Server_Images(self, HTML):
|
||||||
|
# This method can be called either onto a remote server (different from python executor)
|
||||||
|
# or directly on the python executor (ie lIpAddr == 'none')
|
||||||
if self.testSvrId == '0':
|
if self.testSvrId == '0':
|
||||||
lIpAddr = self.eNBIPAddress
|
lIpAddr = self.eNBIPAddress
|
||||||
lUserName = self.eNBUserName
|
lUserName = self.eNBUserName
|
||||||
@@ -757,20 +789,24 @@ class Containerize():
|
|||||||
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
|
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
|
||||||
HELP.GenericHelp(CONST.Version)
|
HELP.GenericHelp(CONST.Version)
|
||||||
sys.exit('Insufficient Parameter')
|
sys.exit('Insufficient Parameter')
|
||||||
logging.debug('Removing test images from server: ' + lIpAddr)
|
if lIpAddr != 'none':
|
||||||
mySSH = SSH.SSHConnection()
|
logging.debug('Removing test images from server: ' + lIpAddr)
|
||||||
mySSH.open(lIpAddr, lUserName, lPassWord)
|
mySSH = SSH.SSHConnection()
|
||||||
|
mySSH.open(lIpAddr, lUserName, lPassWord)
|
||||||
|
else:
|
||||||
|
logging.debug('Removing test images locally')
|
||||||
|
|
||||||
orgTag = 'develop'
|
|
||||||
if self.ranAllowMerge:
|
|
||||||
orgTag = 'ci-temp'
|
|
||||||
tagToUse = self.ImageTagToUse(self.imageToPull)
|
|
||||||
imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru']
|
imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru']
|
||||||
for image in imageNames:
|
for image in imageNames:
|
||||||
tagToUse = self.ImageTagToUse(image)
|
cmd = f'docker rmi {self.ImageTagToUse(image)} || true'
|
||||||
mySSH.command(f'docker rmi {tagToUse} || true', '\$', 5)
|
if lIpAddr != 'none':
|
||||||
|
mySSH.command(cmd, '\$', 5)
|
||||||
|
else:
|
||||||
|
logging.info(cmd)
|
||||||
|
subprocess.run(cmd, shell=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||||
|
|
||||||
mySSH.close()
|
if lIpAddr != 'none':
|
||||||
|
mySSH.close()
|
||||||
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -958,33 +994,40 @@ class Containerize():
|
|||||||
|
|
||||||
def DeployGenObject(self, HTML, RAN, UE):
|
def DeployGenObject(self, HTML, RAN, UE):
|
||||||
self.exitStatus = 0
|
self.exitStatus = 0
|
||||||
logging.info('\u001B[1m Checking Services to deploy\u001B[0m')
|
logging.debug('\u001B[1m Checking Services to deploy\u001B[0m')
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose config --services'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose config --services'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
try:
|
try:
|
||||||
listServices = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
listServices = subprocess.check_output(cmd, shell=True, universal_newlines=True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
HTML.CreateHtmlTestRow('SVC not Found', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('SVC not Found', 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return
|
return
|
||||||
|
displayUsedTag = False
|
||||||
for reqSvc in self.services[0].split(' '):
|
for reqSvc in self.services[0].split(' '):
|
||||||
res = re.search(reqSvc, listServices)
|
res = re.search(reqSvc, listServices)
|
||||||
if res is None:
|
if res is None:
|
||||||
logging.error(reqSvc + ' not found in specified docker-compose')
|
logging.error(reqSvc + ' not found in specified docker-compose')
|
||||||
self.exitStatus = 1
|
self.exitStatus = 1
|
||||||
|
res = re.search('oai-gnb|oai-nr-ue|oai-cu|oai-du|oai_enb|oai_ue', reqSvc)
|
||||||
|
if res is not None:
|
||||||
|
displayUsedTag = True
|
||||||
if (self.exitStatus == 1):
|
if (self.exitStatus == 1):
|
||||||
HTML.CreateHtmlTestRow('SVC not Found', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('SVC not Found', 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return
|
return
|
||||||
|
|
||||||
if (self.ranAllowMerge):
|
cmd = 'cd ' + self.yamlPath[0] + ' && cp docker-compose.y*ml docker-compose-ci.yml'
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && sed -e "s@develop@ci-temp@" docker-compose.y*ml > docker-compose-ci.yml'
|
imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru']
|
||||||
else:
|
for image in imageNames:
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && sed -e "s@develop@develop@" docker-compose.y*ml > docker-compose-ci.yml'
|
tagToUse = self.ImageTagToUse(image)
|
||||||
logging.debug(cmd)
|
cmd = f'cd {self.yamlPath[0]} && sed -i -e "s@{image}:develop@{tagToUse}@" docker-compose-ci.yml'
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
|
if displayUsedTag:
|
||||||
|
tagToUse = self.ImageTagToUse('oai-xxx')
|
||||||
|
logging.info(f'\u001B[1m Using Image Tag: {tagToUse}\u001B[0m')
|
||||||
|
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml up -d ' + self.services[0]
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml up -d ' + self.services[0]
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
try:
|
try:
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -993,7 +1036,7 @@ class Containerize():
|
|||||||
HTML.CreateHtmlTestRow('Could not deploy', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('Could not deploy', 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
return
|
return
|
||||||
|
|
||||||
logging.info('\u001B[1m Checking if all deployed healthy\u001B[0m')
|
logging.debug('\u001B[1m Checking if all deployed healthy\u001B[0m')
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps -a'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps -a'
|
||||||
count = 0
|
count = 0
|
||||||
healthy = 0
|
healthy = 0
|
||||||
@@ -1088,7 +1131,7 @@ class Containerize():
|
|||||||
cmd += ' -w /tmp/capture_'
|
cmd += ' -w /tmp/capture_'
|
||||||
ymlPath = self.yamlPath[0].split('/')
|
ymlPath = self.yamlPath[0].split('/')
|
||||||
cmd += ymlPath[1] + '.pcap > /tmp/tshark.log 2>&1 &'
|
cmd += ymlPath[1] + '.pcap > /tmp/tshark.log 2>&1 &'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
self.tsharkStarted = True
|
self.tsharkStarted = True
|
||||||
|
|
||||||
@@ -1097,22 +1140,23 @@ class Containerize():
|
|||||||
ymlPath = self.yamlPath[0].split('/')
|
ymlPath = self.yamlPath[0].split('/')
|
||||||
logPath = '../cmake_targets/log/' + ymlPath[1]
|
logPath = '../cmake_targets/log/' + ymlPath[1]
|
||||||
|
|
||||||
if (self.ranAllowMerge):
|
cmd = 'cd ' + self.yamlPath[0] + ' && cp docker-compose.y*ml docker-compose-ci.yml'
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && sed -e "s@develop@ci-temp@" docker-compose.y*ml > docker-compose-ci.yml'
|
|
||||||
else:
|
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && sed -e "s@develop@develop@" docker-compose.y*ml > docker-compose-ci.yml'
|
|
||||||
logging.debug(cmd)
|
|
||||||
subprocess.run(cmd, shell=True)
|
subprocess.run(cmd, shell=True)
|
||||||
|
imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru']
|
||||||
|
for image in imageNames:
|
||||||
|
tagToUse = self.ImageTagToUse(image)
|
||||||
|
cmd = f'cd {self.yamlPath[0]} && sed -i -e "s@{image}:develop@{tagToUse}@" docker-compose-ci.yml'
|
||||||
|
subprocess.run(cmd, shell=True)
|
||||||
|
|
||||||
# check which containers are running for log recovery later
|
# check which containers are running for log recovery later
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatusLogs = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
deployStatusLogs = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
|
|
||||||
# Stop the containers to shut down objects
|
# Stop the containers to shut down objects
|
||||||
logging.debug('\u001B[1m Stopping containers \u001B[0m')
|
logging.debug('\u001B[1m Stopping containers \u001B[0m')
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml stop'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml stop'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
try:
|
try:
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -1134,16 +1178,16 @@ class Containerize():
|
|||||||
anyLogs = True
|
anyLogs = True
|
||||||
cName = res.group('container_name')
|
cName = res.group('container_name')
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker logs ' + cName + ' > ' + cName + '.log 2>&1'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker logs ' + cName + ' > ' + cName + '.log 2>&1'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
if re.search('magma-mme', cName) is not None:
|
if re.search('magma-mme', cName) is not None:
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker cp -L ' + cName + ':/var/log/mme.log ' + cName + '-full.log'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker cp -L ' + cName + ':/var/log/mme.log ' + cName + '-full.log'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
fullStatus = True
|
fullStatus = True
|
||||||
if anyLogs:
|
if anyLogs:
|
||||||
cmd = 'mkdir -p '+ logPath + ' && cp ' + self.yamlPath[0] + '/*.log ' + logPath
|
cmd = 'mkdir -p '+ logPath + ' && cp ' + self.yamlPath[0] + '/*.log ' + logPath
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
|
|
||||||
# Analyzing log file(s)!
|
# Analyzing log file(s)!
|
||||||
@@ -1193,25 +1237,25 @@ class Containerize():
|
|||||||
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
|
||||||
|
|
||||||
cmd = 'rm ' + self.yamlPath[0] + '/*.log'
|
cmd = 'rm ' + self.yamlPath[0] + '/*.log'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
if self.tsharkStarted:
|
if self.tsharkStarted:
|
||||||
self.tsharkStarted = True
|
self.tsharkStarted = True
|
||||||
ymlPath = self.yamlPath[0].split('/')
|
ymlPath = self.yamlPath[0].split('/')
|
||||||
cmd = 'sudo chmod 666 /tmp/capture_' + ymlPath[1] + '.pcap'
|
cmd = 'sudo chmod 666 /tmp/capture_' + ymlPath[1] + '.pcap'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
cmd = 'cp /tmp/capture_' + ymlPath[1] + '.pcap ' + logPath
|
cmd = 'cp /tmp/capture_' + ymlPath[1] + '.pcap ' + logPath
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
cmd = 'sudo rm /tmp/capture_' + ymlPath[1] + '.pcap'
|
cmd = 'sudo rm /tmp/capture_' + ymlPath[1] + '.pcap'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
self.tsharkStarted = False
|
self.tsharkStarted = False
|
||||||
|
|
||||||
logging.debug('\u001B[1m Undeploying \u001B[0m')
|
logging.debug('\u001B[1m Undeploying \u001B[0m')
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml down'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml down'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
try:
|
try:
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -1224,7 +1268,7 @@ class Containerize():
|
|||||||
self.deployedContainers = []
|
self.deployedContainers = []
|
||||||
# Cleaning any created tmp volume
|
# Cleaning any created tmp volume
|
||||||
cmd = 'docker volume prune --force || true'
|
cmd = 'docker volume prune --force || true'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
|
|
||||||
if fullStatus:
|
if fullStatus:
|
||||||
@@ -1232,7 +1276,7 @@ class Containerize():
|
|||||||
logging.info('\u001B[1m Undeploying OAI Object(s) PASS\u001B[0m')
|
logging.info('\u001B[1m Undeploying OAI Object(s) PASS\u001B[0m')
|
||||||
else:
|
else:
|
||||||
HTML.CreateHtmlTestRow('n/a', 'KO', CONST.ALL_PROCESSES_OK)
|
HTML.CreateHtmlTestRow('n/a', 'KO', CONST.ALL_PROCESSES_OK)
|
||||||
logging.info('\u001B[1m Undeploying OAI Object(s) FAIL\u001B[0m')
|
logging.error('\u001B[1m Undeploying OAI Object(s) FAIL\u001B[0m')
|
||||||
|
|
||||||
def StatsFromGenObject(self, HTML):
|
def StatsFromGenObject(self, HTML):
|
||||||
self.exitStatus = 0
|
self.exitStatus = 0
|
||||||
@@ -1241,7 +1285,7 @@ class Containerize():
|
|||||||
|
|
||||||
# if the containers are running, recover the logs!
|
# if the containers are running, recover the logs!
|
||||||
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
|
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
cmd = 'docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" '
|
cmd = 'docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}" '
|
||||||
anyLogs = False
|
anyLogs = False
|
||||||
@@ -1257,7 +1301,7 @@ class Containerize():
|
|||||||
cmd += res.group('container_name') + ' '
|
cmd += res.group('container_name') + ' '
|
||||||
message = ''
|
message = ''
|
||||||
if anyLogs:
|
if anyLogs:
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
stats = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
stats = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
for statLine in stats.split('\n'):
|
for statLine in stats.split('\n'):
|
||||||
logging.debug(statLine)
|
logging.debug(statLine)
|
||||||
@@ -1277,7 +1321,7 @@ class Containerize():
|
|||||||
|
|
||||||
cmd = 'docker exec ' + self.pingContName + ' /bin/bash -c "ping ' + self.pingOptions + '" 2>&1 | tee ' + logPath + '/ping_' + HTML.testCase_id + '.log || true'
|
cmd = 'docker exec ' + self.pingContName + ' /bin/bash -c "ping ' + self.pingOptions + '" 2>&1 | tee ' + logPath + '/ping_' + HTML.testCase_id + '.log || true'
|
||||||
|
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
|
|
||||||
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', deployStatus)
|
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', deployStatus)
|
||||||
@@ -1334,9 +1378,9 @@ class Containerize():
|
|||||||
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
|
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
|
||||||
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', 1, html_queue)
|
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', 1, html_queue)
|
||||||
# Automatic undeployment
|
# Automatic undeployment
|
||||||
logging.debug('----------------------------------------')
|
logging.warning('----------------------------------------')
|
||||||
logging.debug('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
logging.warning('\u001B[1m Starting Automatic undeployment \u001B[0m')
|
||||||
logging.debug('----------------------------------------')
|
logging.warning('----------------------------------------')
|
||||||
HTML.testCase_id = 'AUTO-UNDEPLOY'
|
HTML.testCase_id = 'AUTO-UNDEPLOY'
|
||||||
HTML.desc = 'Automatic Un-Deployment'
|
HTML.desc = 'Automatic Un-Deployment'
|
||||||
self.UndeployGenObject(HTML, RAN, UE)
|
self.UndeployGenObject(HTML, RAN, UE)
|
||||||
@@ -1352,23 +1396,23 @@ class Containerize():
|
|||||||
|
|
||||||
# Start the server process
|
# Start the server process
|
||||||
cmd = 'docker exec -d ' + self.svrContName + ' /bin/bash -c "nohup iperf ' + self.svrOptions + ' > /tmp/iperf_server.log 2>&1" || true'
|
cmd = 'docker exec -d ' + self.svrContName + ' /bin/bash -c "nohup iperf ' + self.svrOptions + ' > /tmp/iperf_server.log 2>&1" || true'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
|
|
||||||
# Start the client process
|
# Start the client process
|
||||||
|
|
||||||
cmd = 'docker exec ' + self.cliContName + ' /bin/bash -c "iperf ' + self.cliOptions + '" 2>&1 | tee '+ logPath + '/iperf_client_' + HTML.testCase_id + '.log || true'
|
cmd = 'docker exec ' + self.cliContName + ' /bin/bash -c "iperf ' + self.cliOptions + '" 2>&1 | tee '+ logPath + '/iperf_client_' + HTML.testCase_id + '.log || true'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
clientStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
clientStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
|
||||||
|
|
||||||
# Stop the server process
|
# Stop the server process
|
||||||
cmd = 'docker exec ' + self.svrContName + ' /bin/bash -c "pkill iperf" || true'
|
cmd = 'docker exec ' + self.svrContName + ' /bin/bash -c "pkill iperf" || true'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
|
||||||
time.sleep(5)
|
time.sleep(5)
|
||||||
cmd = 'docker cp ' + self.svrContName + ':/tmp/iperf_server.log '+ logPath + '/iperf_server_' + HTML.testCase_id + '.log'
|
cmd = 'docker cp ' + self.svrContName + ':/tmp/iperf_server.log '+ logPath + '/iperf_server_' + HTML.testCase_id + '.log'
|
||||||
logging.debug(cmd)
|
logging.info(cmd)
|
||||||
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
|
||||||
|
|
||||||
# Analyze client output
|
# Analyze client output
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100001
|
100001
|
||||||
000000
|
000000
|
||||||
000001
|
000001
|
||||||
@@ -42,6 +43,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000000">
|
<testCase id="000000">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy Cassandra Database</desc>
|
<desc>Deploy Cassandra Database</desc>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100002
|
100002
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
|
<yaml_path>yaml_files/4g_l2sim_fdd</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<htmlTabName>Monolithic eNB - FDD 05MHz</htmlTabName>
|
<htmlTabName>Monolithic eNB - FDD 05MHz</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000011
|
000011
|
||||||
000001
|
000001
|
||||||
@@ -42,6 +43,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000011">
|
<testCase id="000011">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy Cassandra Database</desc>
|
<desc>Deploy Cassandra Database</desc>
|
||||||
@@ -74,7 +87,7 @@
|
|||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
|
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
|
||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
|
||||||
<services>enb</services>
|
<services>oai_enb0</services>
|
||||||
<nb_healthy>8</nb_healthy>
|
<nb_healthy>8</nb_healthy>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -97,7 +110,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<container_name>rfsim4g-trf-gen</container_name>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<options>-c 20 12.0.0.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100011
|
100011
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<htmlTabName>Monolithic eNB - FDD 05MHz - noS1</htmlTabName>
|
<htmlTabName>Monolithic eNB - FDD 05MHz - noS1</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000013
|
000013
|
||||||
000001
|
000001
|
||||||
@@ -38,6 +39,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000001">
|
<testCase id="000001">
|
||||||
<class>IdleSleep</class>
|
<class>IdleSleep</class>
|
||||||
<desc>Sleep</desc>
|
<desc>Sleep</desc>
|
||||||
@@ -54,7 +67,7 @@
|
|||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
|
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
|
||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
|
||||||
<services>enb</services>
|
<services>oai_enb0</services>
|
||||||
<nb_healthy>1</nb_healthy>
|
<nb_healthy>1</nb_healthy>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -77,7 +90,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping LTE-UE from eNB</desc>
|
<desc>Ping LTE-UE from eNB</desc>
|
||||||
<container_name>rfsim4g-oai-enb</container_name>
|
<container_name>rfsim4g-oai-enb</container_name>
|
||||||
<options>-I oaitun_enb1 -c 20 10.0.1.2</options>
|
<options>-I oaitun_enb1 -c 20 10.0.1.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100011
|
100011
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<htmlTabName>Monolithic eNB - FDD 10MHz</htmlTabName>
|
<htmlTabName>Monolithic eNB - FDD 10MHz</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000011
|
000011
|
||||||
000001
|
000001
|
||||||
@@ -42,6 +43,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000011">
|
<testCase id="000011">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy Cassandra Database</desc>
|
<desc>Deploy Cassandra Database</desc>
|
||||||
@@ -74,7 +87,7 @@
|
|||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy OAI 4G eNB RF sim (FDD 10MHz)</desc>
|
<desc>Deploy OAI 4G eNB RF sim (FDD 10MHz)</desc>
|
||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
|
||||||
<services>enb</services>
|
<services>oai_enb0</services>
|
||||||
<nb_healthy>8</nb_healthy>
|
<nb_healthy>8</nb_healthy>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -97,7 +110,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<container_name>rfsim4g-trf-gen</container_name>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<options>-c 20 12.0.0.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100011
|
100011
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<htmlTabName>Monolithic eNB - FDD 20MHz</htmlTabName>
|
<htmlTabName>Monolithic eNB - FDD 20MHz</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000011
|
000011
|
||||||
000001
|
000001
|
||||||
@@ -42,6 +43,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000011">
|
<testCase id="000011">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy Cassandra Database</desc>
|
<desc>Deploy Cassandra Database</desc>
|
||||||
@@ -74,7 +87,7 @@
|
|||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy OAI 4G eNB RF sim (FDD 20MHz)</desc>
|
<desc>Deploy OAI 4G eNB RF sim (FDD 20MHz)</desc>
|
||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
|
||||||
<services>enb</services>
|
<services>oai_enb0</services>
|
||||||
<nb_healthy>8</nb_healthy>
|
<nb_healthy>8</nb_healthy>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -97,7 +110,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<container_name>rfsim4g-trf-gen</container_name>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<options>-c 20 12.0.0.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100011
|
100011
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -24,8 +24,9 @@
|
|||||||
<htmlTabRef>rfsim-4glte-tdd05mhz</htmlTabRef>
|
<htmlTabRef>rfsim-4glte-tdd05mhz</htmlTabRef>
|
||||||
<htmlTabName>Monolithic eNB - TDD 05MHz</htmlTabName>
|
<htmlTabName>Monolithic eNB - TDD 05MHz</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000011
|
000011
|
||||||
000001
|
000001
|
||||||
@@ -43,6 +44,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-enb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-lte-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000011">
|
<testCase id="000011">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy Cassandra Database</desc>
|
<desc>Deploy Cassandra Database</desc>
|
||||||
@@ -75,7 +88,7 @@
|
|||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy OAI 4G eNB RF sim (TDD 05MHz)</desc>
|
<desc>Deploy OAI 4G eNB RF sim (TDD 05MHz)</desc>
|
||||||
<yaml_path>yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
|
||||||
<services>enb</services>
|
<services>oai_enb0</services>
|
||||||
<nb_healthy>7</nb_healthy>
|
<nb_healthy>7</nb_healthy>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
@@ -98,7 +111,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
<desc>Ping LTE-UE from Traffic-Gen</desc>
|
||||||
<container_name>rfsim4g-trf-gen</container_name>
|
<container_name>rfsim4g-trf-gen</container_name>
|
||||||
<options>-c 20 12.0.0.2</options>
|
<options>-c 20 12.0.0.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100011
|
100011
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
|
<yaml_path>yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
<htmlTabName>CU-DU F1 split</htmlTabName>
|
<htmlTabName>CU-DU F1 split</htmlTabName>
|
||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100021
|
100021
|
||||||
000020
|
000020
|
||||||
000021
|
000021
|
||||||
@@ -38,6 +39,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-gnb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-nr-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000020">
|
<testCase id="000020">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy MySql Database</desc>
|
<desc>Deploy MySql Database</desc>
|
||||||
@@ -89,7 +102,7 @@
|
|||||||
<testCase id="020022">
|
<testCase id="020022">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<container_name>rfsim5g-oai-ext-dn</container_name>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<options>-c 20 12.1.1.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100022
|
100022
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/5g_f1_rfsimulator</yaml_path>
|
<yaml_path>yaml_files/5g_f1_rfsimulator</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100011
|
100011
|
||||||
000010
|
000010
|
||||||
000011
|
000011
|
||||||
@@ -39,6 +40,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-gnb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-nr-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000010">
|
<testCase id="000010">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy MySql Database</desc>
|
<desc>Deploy MySql Database</desc>
|
||||||
@@ -82,7 +95,7 @@
|
|||||||
<testCase id="020012">
|
<testCase id="020012">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<container_name>rfsim5g-oai-ext-dn</container_name>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<options>-c 20 12.1.1.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100012
|
100012
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/5g_fdd_rfsimulator</yaml_path>
|
<yaml_path>yaml_files/5g_fdd_rfsimulator</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100001
|
100001
|
||||||
000000
|
000000
|
||||||
000001
|
000001
|
||||||
@@ -40,6 +41,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-gnb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-nr-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000000">
|
<testCase id="000000">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy MySql Database</desc>
|
<desc>Deploy MySql Database</desc>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100002
|
100002
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/5g_l2sim_tdd</yaml_path>
|
<yaml_path>yaml_files/5g_l2sim_tdd</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>wrench</htmlTabIcon>
|
<htmlTabIcon>wrench</htmlTabIcon>
|
||||||
<repeatCount>1</repeatCount>
|
<repeatCount>1</repeatCount>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
|
111111
|
||||||
100001
|
100001
|
||||||
000000
|
000000
|
||||||
000001
|
000001
|
||||||
@@ -42,6 +43,18 @@
|
|||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
|
<testCase id="111111">
|
||||||
|
<class>Pull_Local_Registry</class>
|
||||||
|
<desc>Pull Images from Local Registry</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-gnb</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
<image_to_pull>
|
||||||
|
<image_name>oai-nr-ue</image_name>
|
||||||
|
</image_to_pull>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
<testCase id="000000">
|
<testCase id="000000">
|
||||||
<class>DeployGenObject</class>
|
<class>DeployGenObject</class>
|
||||||
<desc>Deploy MySql Database</desc>
|
<desc>Deploy MySql Database</desc>
|
||||||
@@ -93,7 +106,7 @@
|
|||||||
<testCase id="020002">
|
<testCase id="020002">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping NR-UE from ext-dn</desc>
|
<desc>Ping NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<container_name>rfsim5g-oai-ext-dn</container_name>
|
||||||
<options>-c 20 12.1.1.2</options>
|
<options>-c 20 12.1.1.2</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
@@ -109,7 +122,7 @@
|
|||||||
<testCase id="020004">
|
<testCase id="020004">
|
||||||
<class>PingFromContainer</class>
|
<class>PingFromContainer</class>
|
||||||
<desc>Ping Second NR-UE from ext-dn</desc>
|
<desc>Ping Second NR-UE from ext-dn</desc>
|
||||||
<container_name>rfsim5g-oai-ext-dn</container_name>
|
<container_name>rfsim5g-oai-ext-dn</container_name>
|
||||||
<options>-c 20 12.1.1.3</options>
|
<options>-c 20 12.1.1.3</options>
|
||||||
<loss_threshold>5</loss_threshold>
|
<loss_threshold>5</loss_threshold>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
<htmlTabIcon>trash</htmlTabIcon>
|
<htmlTabIcon>trash</htmlTabIcon>
|
||||||
<TestCaseRequestedList>
|
<TestCaseRequestedList>
|
||||||
100002
|
100002
|
||||||
|
222222
|
||||||
</TestCaseRequestedList>
|
</TestCaseRequestedList>
|
||||||
<TestCaseExclusionList></TestCaseExclusionList>
|
<TestCaseExclusionList></TestCaseExclusionList>
|
||||||
|
|
||||||
@@ -35,4 +36,10 @@
|
|||||||
<yaml_path>yaml_files/5g_rfsimulator</yaml_path>
|
<yaml_path>yaml_files/5g_rfsimulator</yaml_path>
|
||||||
</testCase>
|
</testCase>
|
||||||
|
|
||||||
|
<testCase id="222222">
|
||||||
|
<class>Clean_Test_Server_Images</class>
|
||||||
|
<desc>Clean Test Images on Test Server</desc>
|
||||||
|
<test_svr_id>0</test_svr_id>
|
||||||
|
</testCase>
|
||||||
|
|
||||||
</testCaseList>
|
</testCaseList>
|
||||||
|
|||||||
Reference in New Issue
Block a user