diff --git a/ci-scripts/Jenkinsfile-GitLab-Container b/ci-scripts/Jenkinsfile-GitLab-Container index 5a4e27ed19..cd8a50ed91 100644 --- a/ci-scripts/Jenkinsfile-GitLab-Container +++ b/ci-scripts/Jenkinsfile-GitLab-Container @@ -285,6 +285,29 @@ pipeline { } } } + stage ("OAI-FLEXRIC-RAN-Integration-Test") { + when { expression {do5Gtest} } + steps { + script { + triggerSlaveJob ('OAI-FLEXRIC-RAN-Integration-Test', 'OAI-FLEXRIC-RAN-Integration-Test') + } + } + post { + always { + script { + // Using a unique variable name for each test stage to avoid overwriting on a global variable + // due to parallel-time concurrency + flexricRAN5GStatus = finalizeSlaveJob('OAI-FLEXRIC-RAN-Integration-Test') + } + } + failure { + script { + currentBuild.result = 'FAILURE' + failingStages += flexricRAN5GStatus + } + } + } + } stage ("L2-Sim-Test-4G") { when { expression {do4Gtest} } steps { diff --git a/ci-scripts/Jenkinsfile-tmp-ran b/ci-scripts/Jenkinsfile-tmp-ran index e1593d52a4..bc8c742bb5 100644 --- a/ci-scripts/Jenkinsfile-tmp-ran +++ b/ci-scripts/Jenkinsfile-tmp-ran @@ -58,6 +58,8 @@ def eNB_CommitID def eNB_AllowMergeRequestProcess = false def eNB_TargetBranch +def flexricOption = "" + pipeline { agent { label pythonExecutor @@ -148,18 +150,24 @@ pipeline { allParametersPresent = false } + if (params.Flexric_Tag != null) { + echo "This pipeline is configured to run with a FlexRIC deployment." + echo "Appending FlexRicTag option to the list of options" + flexricOption = "--FlexRicTag=${params.Flexric_Tag}" + echo "Using new Flexric option: ${flexricOption}" + } + if (allParametersPresent) { echo "All parameters are present" if (eNB_AllowMergeRequestProcess) { sh "git fetch" sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest" - } else { + } else if (eNB_CommitID != 'develop') { sh "git fetch" sh "git checkout -f ${eNB_CommitID}" } } else { - echo "Some parameters are missing" - sh "./ci-scripts/fail.sh" + error "Some parameters are missing" } } } @@ -190,13 +198,13 @@ pipeline { [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'], [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'], ]) { - sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}" + sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} ${mainPythonAllXmlFiles}" String[] myXmlTestSuite = testXMLFile.split("\\r?\\n") for (xmlFile in myXmlTestSuite) { if (fileExists(xmlFile)) { try { timeout (time: 60, unit: 'MINUTES') { - sh "python3 main.py --mode=TesteNB --eNBIPAddress=${params.eNB_IPAddress} --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}" + sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --XMLTestFile=${xmlFile}" } } catch (Exception e) { currentBuild.result = 'FAILURE' diff --git a/ci-scripts/args_parse.py b/ci-scripts/args_parse.py index 7d753d21c7..c1a13eb9bf 100644 --- a/ci-scripts/args_parse.py +++ b/ci-scripts/args_parse.py @@ -264,6 +264,9 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,EPC,CONTAINERS,HELP,SCA,PHYSIM,CLUSTER): elif re.match('^\-\-BuildId=(.+)$', myArgv, re.IGNORECASE): matchReg = re.match('^\-\-BuildId=(.+)$', myArgv, re.IGNORECASE) RAN.BuildId = matchReg.group(1) + elif re.match('^\-\-FlexRicTag=(.+)$', myArgv, re.IGNORECASE): + matchReg = re.match('^\-\-FlexRicTag=(.+)$', myArgv, re.IGNORECASE) + CONTAINERS.flexricTag = matchReg.group(1) else: HELP.GenericHelp(CONST.Version) sys.exit('Invalid Parameter: ' + myArgv) diff --git a/ci-scripts/cls_cluster.py b/ci-scripts/cls_cluster.py index 503529d256..570ea52dfc 100644 --- a/ci-scripts/cls_cluster.py +++ b/ci-scripts/cls_cluster.py @@ -126,8 +126,6 @@ class Cluster: self.ranAllowMerge = False self.ranTargetBranch = "" self.cmd = None - self.imageToPull = '' - self.testSvrId = None def _recreate_entitlements(self): # recreating entitlements, don't care if deletion fails @@ -240,44 +238,30 @@ class Cluster: def _undeploy_pod(self, filename): self.cmd.run(f'oc delete -f {filename}') - def PullClusterImage(self, HTML, RAN): - if self.testSvrId == None: self.testSvrId = self.eNBIPAddress - if self.imageToPull == '': - HELP.GenericHelp(CONST.Version) - raise ValueError('Insufficient Parameter') - logging.debug(f'Pull OC image {self.imageToPull} to server {self.testSvrId}') + def PullClusterImage(self, HTML, node, images): + logging.debug(f'Pull OC image {images} to server {node}') self.testCase_id = HTML.testCase_id - cmd = cls_cmd.getConnection(self.testSvrId) - logging.info(cmd.run('docker --version')) - succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, CI_OC_RAN_NAMESPACE) - if not succeeded: - logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m') - HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL) - return False - ret = cmd.run(f'oc whoami -t | docker login -u oaicicd --password-stdin {self.OCRegistry}') - if ret.returncode != 0: - logging.error(f'\u001B[1m Unable to access OC project {CI_OC_RAN_NAMESPACE}\u001B[0m') - OC_logout(cmd) - cmd.close() - HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL) - return False - for image in self.imageToPull: - imagePrefix = f'{self.OCRegistry}/{CI_OC_RAN_NAMESPACE}' - tag = cls_containerize.CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) - imageTag = f"{image}:{tag}" - ret = cmd.run(f'docker pull {imagePrefix}/{imageTag}') - if ret.returncode != 0: - logging.error(f'Could not pull {image} from local registry : {self.OCRegistry}') - OC_logout(cmd) - cmd.close() - HTML.CreateHtmlTestRow('msg', 'KO', CONST.ALL_PROCESSES_OK) + with cls_cmd.getConnection(node) as cmd: + succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, CI_OC_RAN_NAMESPACE) + if not succeeded: + HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL) return False - cmd.run(f'docker tag {imagePrefix}/{imageTag} oai-ci/{imageTag}') - cmd.run(f'docker rmi {imagePrefix}/{imageTag}') - OC_logout(cmd) - cmd.close() - HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) - return True + ret = cmd.run(f'oc whoami -t | docker login -u oaicicd --password-stdin {self.OCRegistry}') + if ret.returncode != 0: + logging.error(f'cannot authenticate at registry') + OC_logout(cmd) + HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL) + return False + tag = cls_containerize.CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) + registry = f'{self.OCRegistry}/{CI_OC_RAN_NAMESPACE}' + success, msg = cls_containerize.Containerize.Pull_Image(cmd, images, tag, registry, None, None) + OC_logout(cmd) + param = f"on node {node}" + if success: + HTML.CreateHtmlTestRowQueue(param, 'OK', [msg]) + else: + HTML.CreateHtmlTestRowQueue(param, 'KO', [msg]) + return success def BuildClusterImage(self, HTML): if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '': diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index 28f1abbfac..a9c4b5be08 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -70,6 +70,8 @@ def CreateWorkspace(host, sourcePath, ranRepository, ranCommitID, ranTargetBranc return ret.returncode == 0 def CreateTag(ranCommitID, ranBranch, ranAllowMerge): + if ranCommitID == 'develop': + return 'develop' shortCommit = ranCommitID[0:8] if ranAllowMerge: # Allowing contributor to have a name/branchName format @@ -159,26 +161,25 @@ def GetContainerHealth(ssh, containerName): return False if 'db_init' in containerName or 'db-init' in containerName: # exits with 0, there cannot be healthy return True - time.sleep(5) - for _ in range(3): + for _ in range(8): result = ssh.run(f'docker inspect --format="{{{{.State.Health.Status}}}}" {containerName}', silent=True) if result.stdout == 'healthy': return True - time.sleep(10) + time.sleep(5) return False def ExistEnvFilePrint(ssh, wd, prompt='env vars in existing'): - ret = ssh.run(f'cat {wd}/.env', silent=True) + ret = ssh.run(f'cat {wd}/.env', silent=True, reportNonZero=False) if ret.returncode != 0: return False env_vars = ret.stdout.strip().splitlines() logging.info(f'{prompt} {wd}/.env: {env_vars}') return True -def WriteEnvFile(ssh, services, wd, tag): - ret = ssh.run(f'cat {wd}/.env', silent=True) +def WriteEnvFile(ssh, services, wd, tag, flexric_tag): + ret = ssh.run(f'cat {wd}/.env', silent=True, reportNonZero=False) registry = "oai-ci" # pull_images() gives us this registry path - envs = {"REGISTRY":registry, "TAG": tag} + envs = {"REGISTRY":registry, "TAG": tag, "FLEXRIC_TAG": flexric_tag} if ret.returncode == 0: # it exists, we have to update # transforms env file to dictionary old_envs = {} @@ -221,7 +222,6 @@ def CopyinContainerLog(ssh, lSourcePath, yaml, containerName, filename): remote_filename = f"{lSourcePath}/cmake_targets/log/{filename}" ssh.run(f'docker logs {containerName} &> {remote_filename}') local_dir = f"{os.getcwd()}/../cmake_targets/log/{yaml}" - os.system(f'mkdir -p {local_dir}') local_filename = f"{local_dir}/{filename}" return ssh.copyin(remote_filename, local_filename) @@ -334,12 +334,11 @@ class Containerize(): self.cliOptions = '' self.imageToCopy = '' - self.registrySvrId = '' - self.testSvrId = '' - self.imageToPull = [] #checkers from xml self.ran_checkers={} + self.flexricTag = '' + #----------------------------------------------------------- # Container management functions #----------------------------------------------------------- @@ -723,8 +722,8 @@ class Containerize(): HTML.CreateHtmlTabFooter(False) return False - def Push_Image_to_Local_Registry(self, HTML): - lIpAddr, lSourcePath = self.GetCredentials(self.registrySvrId) + def Push_Image_to_Local_Registry(self, HTML, svr_id): + lIpAddr, lSourcePath = self.GetCredentials(svr_id) logging.debug('Pushing images from server: ' + lIpAddr) ssh = cls_cmd.getConnection(lIpAddr) imagePrefix = 'porcepix.sboai.cs.eurecom.fr' @@ -771,64 +770,66 @@ class Containerize(): HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) return True - def Pull_Image_from_Local_Registry(self, HTML): - lIpAddr, lSourcePath = self.GetCredentials(self.testSvrId) - logging.debug('\u001B[1m Pulling image(s) on server: ' + lIpAddr + '\u001B[0m') - myCmd = cls_cmd.getConnection(lIpAddr) - imagePrefix = 'porcepix.sboai.cs.eurecom.fr' - response = myCmd.run(f'docker login -u oaicicd -p oaicicd {imagePrefix}') - if response.returncode != 0: - msg = 'Could not log into local registry' - logging.error(msg) - myCmd.close() - HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK) - return False - pulled_images = [] - for image in self.imageToPull: - tagToUse = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) - imageTag = f"{image}:{tagToUse}" - cmd = f'docker pull {imagePrefix}/{imageTag}' - response = myCmd.run(cmd, timeout=120) + def Pull_Image(cmd, images, tag, registry, username, password): + if username is not None and password is not None: + logging.info(f"logging into registry {username}@{registry}") + response = cmd.run(f'docker login -u {username} -p {password} {registry}', silent=True, reportNonZero=False) if response.returncode != 0: - logging.debug(response) - msg = f'Could not pull {image} from local registry : {imageTag}' + msg = f'Could not log into registry {username}@{registry}' logging.error(msg) - myCmd.close() - HTML.CreateHtmlTestRow('msg', 'KO', CONST.ALL_PROCESSES_OK) - return False - myCmd.run(f'docker tag {imagePrefix}/{imageTag} oai-ci/{imageTag}') - myCmd.run(f'docker rmi {imagePrefix}/{imageTag}') - pulled_images += [f"oai-ci/{imageTag}"] - response = myCmd.run(f'docker logout {imagePrefix}') - if response.returncode != 0: - msg = 'Could not log off from local registry' - logging.error(msg) - myCmd.close() - HTML.CreateHtmlTestRow(msg, 'KO', CONST.ALL_PROCESSES_OK) - return False - myCmd.close() - msg = "Pulled Images:\n" + '\n'.join(pulled_images) - HTML.CreateHtmlTestRowQueue('N/A', 'OK', [msg]) - return True - - def Clean_Test_Server_Images(self, HTML): - lIpAddr, lSourcePath = self.GetCredentials(self.testSvrId) - if lIpAddr != 'none': - logging.debug('Removing test images from server: ' + lIpAddr) - myCmd = cls_cmd.RemoteCmd(lIpAddr) - else: - logging.debug('Removing test images locally') - myCmd = cls_cmd.LocalCmd() - - for image in IMAGES: - tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) + return False, msg + pulled_images = [] + for image in images: imageTag = f"{image}:{tag}" - cmd = f'docker rmi oai-ci/{imageTag}' - myCmd.run(cmd, reportNonZero=False) + response = cmd.run(f'docker pull {registry}/{imageTag}') + if response.returncode != 0: + msg = f'Could not pull {image} from local registry: {imageTag}' + logging.error(msg) + return False, msg + cmd.run(f'docker tag {registry}/{imageTag} oai-ci/{imageTag}') + cmd.run(f'docker rmi {registry}/{imageTag}') + pulled_images += [f"oai-ci/{imageTag}"] + if username is not None and password is not None: + response = cmd.run(f'docker logout {registry}') + # we have the images, if logout fails it's no problem + msg = "Pulled Images:\n" + '\n'.join(pulled_images) + return True, msg - myCmd.close() - HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) - return True + def Pull_Image_from_Registry(self, HTML, svr_id, images, tag=None, registry="porcepix.sboai.cs.eurecom.fr", username="oaicicd", password="oaicicd"): + lIpAddr, lSourcePath = self.GetCredentials(svr_id) + logging.debug('\u001B[1m Pulling image(s) on server: ' + lIpAddr + '\u001B[0m') + if not tag: + tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) + with cls_cmd.getConnection(lIpAddr) as cmd: + success, msg = Containerize.Pull_Image(cmd, images, tag, registry, username, password) + param = f"on node {lIpAddr}" + if success: + HTML.CreateHtmlTestRowQueue(param, 'OK', [msg]) + else: + HTML.CreateHtmlTestRowQueue(param, 'KO', [msg]) + return success + + def Clean_Test_Server_Images(self, HTML, svr_id, images, tag=None): + lIpAddr, lSourcePath = self.GetCredentials(svr_id) + logging.debug(f'\u001B[1m Cleaning image(s) from server: {lIpAddr}\u001B[0m') + if not tag: + tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) + + status = True + with cls_cmd.getConnection(lIpAddr) as myCmd: + removed_images = [] + for image in images: + fullImage = f"oai-ci/{image}:{tag}" + cmd = f'docker rmi {fullImage}' + if myCmd.run(cmd).returncode != 0: + status = False + removed_images += [fullImage] + + msg = "Removed Images:\n" + '\n'.join(removed_images) + s = 'OK' if status else 'KO' + param = f"on node {lIpAddr}" + HTML.CreateHtmlTestRowQueue(param, s, [msg]) + return status def Create_Workspace(self,HTML): svr = self.eNB_serverId[self.eNB_instance] @@ -845,6 +846,9 @@ class Containerize(): lIpAddr, lSourcePath = self.GetCredentials(svr) logging.debug('\u001B[1m Deploying OAI Object on server: ' + lIpAddr + '\u001B[0m') yaml = self.yamlPath[self.eNB_instance].strip('/') + # creating the log folder by default + local_dir = f"{os.getcwd()}/../cmake_targets/log/{yaml.split('/')[-1]}" + os.system(f'mkdir -p {local_dir}') wd = f'{lSourcePath}/{yaml}' with cls_cmd.getConnection(lIpAddr) as ssh: @@ -856,7 +860,7 @@ class Containerize(): return False ExistEnvFilePrint(ssh, wd) - WriteEnvFile(ssh, services, wd, self.deploymentTag) + WriteEnvFile(ssh, services, wd, self.deploymentTag, self.flexricTag) logging.info(f"will start services {services}") status = ssh.run(f'docker compose -f {wd}/docker-compose.y*ml up -d -- {services}') diff --git a/ci-scripts/cls_oai_html.py b/ci-scripts/cls_oai_html.py index b2efcc66b7..8e99b20de7 100644 --- a/ci-scripts/cls_oai_html.py +++ b/ci-scripts/cls_oai_html.py @@ -147,7 +147,7 @@ class HTMLManagement(): self.htmlFile.write(' Commit ID \n') self.htmlFile.write(' ' + self.ranCommitID + '\n') self.htmlFile.write(' \n') - if self.ranAllowMerge != '': + if self.ranAllowMerge != '' and self.ranCommitID != 'develop': commit_message = subprocess.check_output("git log -n1 --pretty=format:\"%s\" " + self.ranCommitID, shell=True, universal_newlines=True) commit_message = commit_message.strip() self.htmlFile.write(' \n') diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.flexric.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.flexric.conf new file mode 100644 index 0000000000..8e7f52a931 --- /dev/null +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.rfsim.flexric.conf @@ -0,0 +1,239 @@ +Active_gNBs = ( "gnb-rfsim"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +gNBs = +( + { + ////////// Identification parameters: + gNB_ID = 0xe00; + + gNB_name = "gnb-rfsim"; + + // Tracking area code, 0x0000 and 0xfffe are reserved values + tracking_area_code = 1; + + plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); + + nr_cellid = 12345678L + + ////////// Physical parameters: + + min_rxtxtime = 6; + + servingCellConfigCommon = ( + { +#spCellConfigCommon + + physCellId = 0; + +# downlinkConfigCommon + #frequencyInfoDL + # this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68 + absoluteFrequencySSB = 621312; + # this is 3300.60 MHz + dl_absoluteFrequencyPointA = 620040; + #scs-SpecificCarrierList + dl_offstToCarrier = 0; + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + dl_subcarrierSpacing = 1; + dl_carrierBandwidth = 106; + #initialDownlinkBWP + #genericParameters + # this is RBstart=0,L=106 (275*(L-1))+RBstart + initialDLBWPlocationAndBandwidth = 28875; + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialDLBWPsubcarrierSpacing = 1; + #pdcch-ConfigCommon + initialDLBWPcontrolResourceSetZero = 11; + initialDLBWPsearchSpaceZero = 0; + +# uplinkConfigCommon + #frequencyInfoUL + ul_frequencyBand = 78; + #scs-SpecificCarrierList + ul_offstToCarrier = 0; + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + ul_subcarrierSpacing = 1; + ul_carrierBandwidth = 106; + pMax = 20; + #initialUplinkBWP + #genericParameters + initialULBWPlocationAndBandwidth = 28875; + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialULBWPsubcarrierSpacing = 1; + #rach-ConfigCommon + #rach-ConfigGeneric + prach_ConfigurationIndex = 98; + #prach_msg1_FDM + #0 = one, 1=two, 2=four, 3=eight + prach_msg1_FDM = 0; + prach_msg1_FrequencyStart = 0; + zeroCorrelationZoneConfig = 12; + preambleReceivedTargetPower = -104; + #preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200) + preambleTransMax = 6; + #powerRampingStep + # 0=dB0,1=dB2,2=dB4,3=dB6 + powerRampingStep = 1; + #ra_ReponseWindow + #1,2,4,8,10,20,40,80 + ra_ResponseWindow = 4; + #ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR + #1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen + ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3; + #oneHalf (0..15) 4,8,12,16,...60,64 + ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15; + #ra_ContentionResolutionTimer + #(0..7) 8,16,24,32,40,48,56,64 + ra_ContentionResolutionTimer = 7; + rsrp_ThresholdSSB = 19; + #prach-RootSequenceIndex_PR + #1 = 839, 2 = 139 + prach_RootSequenceIndex_PR = 2; + prach_RootSequenceIndex = 1; + # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex + # + msg1_SubcarrierSpacing = 1, + # restrictedSetConfig + # 0=unrestricted, 1=restricted type A, 2=restricted type B + restrictedSetConfig = 0, + + msg3_DeltaPreamble = 1; + p0_NominalWithGrant = -90; + + # pucch-ConfigCommon setup : + # pucchGroupHopping + # 0 = neither, 1= group hopping, 2=sequence hopping + pucchGroupHopping = 0; + hoppingId = 40; + p0_nominal = -90; + + ssb_PositionsInBurst_Bitmap = 1; + + # ssb_periodicityServingCell + # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 + ssb_periodicityServingCell = 2; + + # dmrs_TypeA_position + # 0 = pos2, 1 = pos3 + dmrs_TypeA_Position = 0; + + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + subcarrierSpacing = 1; + + #tdd-UL-DL-ConfigurationCommon + # subcarrierSpacing + # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + referenceSubcarrierSpacing = 1; + # pattern1 + # dl_UL_TransmissionPeriodicity + # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10 + dl_UL_TransmissionPeriodicity = 6; + nrofDownlinkSlots = 7; + nrofDownlinkSymbols = 6; + nrofUplinkSlots = 2; + nrofUplinkSymbols = 4; + + ssPBCH_BlockPower = -25; + }); + + + # ------- SCTP definitions + SCTP : + { + # Number of streams to use in input/output + SCTP_INSTREAMS = 2; + SCTP_OUTSTREAMS = 2; + }; + + ////////// AMF parameters: + amf_ip_address = ({ ipv4 = "192.168.70.132"; }); + + NETWORK_INTERFACES : + { + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.151"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.151"; + GNB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + } +); + +MACRLCs = ( + { + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; + pusch_TargetSNRx10 = 200; + pucch_TargetSNRx10 = 200; + } +); + +L1s = ( +{ + num_cc = 1; + tr_n_preference = "local_mac"; + prach_dtx_threshold = 200; +# pucch0_dtx_threshold = 150; +} +); + +RUs = ( + { + local_rf = "yes"; + nb_tx = 1; + nb_rx = 1; + att_tx = 0; + att_rx = 0; + bands = [78]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 75; + eNB_instances = [0]; + sf_extension = 0; + sdr_addrs = "serial=XXXXXXX"; + } +); + +rfsimulator: { + serveraddr = "server"; +}; + +security = { + # preferred ciphering algorithms + # the first one of the list that an UE supports in chosen + # valid values: nea0, nea1, nea2, nea3 + ciphering_algorithms = ( "nea0" ); + + # preferred integrity algorithms + # the first one of the list that an UE supports in chosen + # valid values: nia0, nia1, nia2, nia3 + integrity_algorithms = ( "nia2", "nia0" ); + + # setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter + # what 'ciphering_algorithms' configures; same thing for 'drb_integrity' + drb_ciphering = "yes"; + drb_integrity = "no"; +}; + +log_config : { + global_log_level ="info"; + hw_log_level ="info"; + phy_log_level ="info"; + mac_log_level ="info"; + rlc_log_level ="info"; + pdcp_log_level ="info"; + rrc_log_level ="info"; + f1ap_log_level ="info"; +}; + +e2_agent = { + near_ric_ip_addr = "192.168.70.150"; + #sm_dir = "/path/where/the/SMs/are/located/" + sm_dir = "/usr/local/lib/flexric/" +}; diff --git a/ci-scripts/main.py b/ci-scripts/main.py index 2e595aa834..9bf196338c 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -370,26 +370,20 @@ def ExecuteActionWithParam(action): success = SCA.CppCheckAnalysis(HTML) elif action == 'Push_Local_Registry': - string_field = test.findtext('registry_svr_id') - if (string_field is not None): - CONTAINERS.registrySvrId = string_field - success = CONTAINERS.Push_Image_to_Local_Registry(HTML) + svr_id = test.findtext('svr_id') + success = CONTAINERS.Push_Image_to_Local_Registry(HTML, svr_id) - elif action == 'Pull_Local_Registry': - string_field = test.findtext('test_svr_id') - if (string_field is not None): - CONTAINERS.testSvrId = string_field - CONTAINERS.imageToPull.clear() - string_field = test.findtext('images_to_pull') - if (string_field is not None): - CONTAINERS.imageToPull = string_field.split() - success = CONTAINERS.Pull_Image_from_Local_Registry(HTML) - - elif action == 'Clean_Test_Server_Images': - string_field = test.findtext('test_svr_id') - if (string_field is not None): - CONTAINERS.testSvrId = string_field - success = CONTAINERS.Clean_Test_Server_Images(HTML) + elif action == 'Pull_Local_Registry' or action == 'Clean_Test_Server_Images': + svr_id = test.findtext('svr_id') + images = test.findtext('images').split() + # hack: for FlexRIC, we need to overwrite the tag to use + tag = None + if len(images) == 1 and images[0] == "oai-flexric": + tag = CONTAINERS.flexricTag + if action == "Pull_Local_Registry": + success = CONTAINERS.Pull_Image_from_Registry(HTML, svr_id, images, tag=tag) + if action == "Clean_Test_Server_Images": + success = CONTAINERS.Clean_Test_Server_Images(HTML, svr_id, images, tag=tag) elif action == 'Custom_Command': node = test.findtext('node') @@ -404,13 +398,9 @@ def ExecuteActionWithParam(action): success = cls_oaicitest.Custom_Script(HTML, node, script, command_fail) elif action == 'Pull_Cluster_Image': - string_field = test.findtext('images_to_pull') - if (string_field is not None): - CLUSTER.imageToPull = string_field.split() - string_field = test.findtext('test_svr_id') - if (string_field is not None): - CLUSTER.testSvrId = string_field - success = CLUSTER.PullClusterImage(HTML, RAN) + images = test.findtext('images').split() + node = test.findtext('node') + success = CLUSTER.PullClusterImage(HTML, node, images) else: logging.warning(f"unknown action {action}, skip step") @@ -634,7 +624,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re #(6 digits or less than 6 digits followed by +) for test in exclusion_tests: if (not re.match('^[0-9]{6}$', test) and - not re.match('^[0-9]{1,5}\+$', test)): + not re.match('^[0-9]{1,5}\\+$', test)): logging.error('exclusion test is invalidly formatted: ' + test) sys.exit(1) else: @@ -645,7 +635,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re #be verbose for test in requested_tests: if (re.match('^[0-9]{6}$', test) or - re.match('^[0-9]{1,5}\+$', test)): + re.match('^[0-9]{1,5}\\+$', test)): logging.info('test group/case requested: ' + test) else: logging.error('requested test is invalidly formatted: ' + test) diff --git a/ci-scripts/tests/pull-clean-int-registry.py b/ci-scripts/tests/pull-clean-int-registry.py new file mode 100644 index 0000000000..d4d5b4fc0a --- /dev/null +++ b/ci-scripts/tests/pull-clean-int-registry.py @@ -0,0 +1,53 @@ +import sys +import logging +logging.basicConfig( + level=logging.DEBUG, + stream=sys.stdout, + format="[%(asctime)s] %(levelname)8s: %(message)s" +) +import os +os.system(f'rm -rf cmake_targets') +os.system(f'mkdir -p cmake_targets/log') +import unittest + +sys.path.append('./') # to find OAI imports below +import cls_oai_html +import cls_cmd +import cls_containerize + +class TestDeploymentMethods(unittest.TestCase): + def setUp(self): + self.html = cls_oai_html.HTMLManagement() + self.html.testCaseId = "000000" + self.cont = cls_containerize.Containerize() + self.cont.eNBIPAddress = 'localhost' + self.cont.eNBSourceCodePath = os.getcwd() + + def test_pull_clean_local_reg(self): + # the pull function has the authentication at the internal cluster hardcoded + # this is a refactoring opportunity: we should do it in a separate step + # and allow to have pull work with any registry + registry = "porcepix.sboai.cs.eurecom.fr" + with cls_cmd.getConnection("localhost") as cmd: + ret = cmd.run(f"ping -c1 -w1 {registry}") + if ret.returncode != 0: # could not ping once -> skip test + self.skipTest(f"test_pull_clean_local_reg: could not reach {registry} (run inside sboai)") + svr_id = '0' + images = ["oai-gnb"] + tag = "develop" + pull = self.cont.Pull_Image_from_Registry(self.html, svr_id, images, tag=tag) + clean = self.cont.Clean_Test_Server_Images(self.html, svr_id, images, tag=tag) + self.assertTrue(pull) + self.assertTrue(clean) + + def test_pull_clean_docker_hub(self): + svr_id = '0' + r = "docker.io" + images = ["hello-world"] + tag = "latest" + pull = self.cont.Pull_Image_from_Registry(self.html, svr_id, images, tag=tag, registry=r, username=None, password=None) + clean = self.cont.Clean_Test_Server_Images(self.html, svr_id, images, tag=tag) + self.assertTrue(pull) + self.assertTrue(clean) + +if __name__ == '__main__':unittest.main() diff --git a/ci-scripts/xml_files/container_4g_l2sim_tdd.xml b/ci-scripts/xml_files/container_4g_l2sim_tdd.xml index 97a0610efa..6a0e5ae00f 100644 --- a/ci-scripts/xml_files/container_4g_l2sim_tdd.xml +++ b/ci-scripts/xml_files/container_4g_l2sim_tdd.xml @@ -44,8 +44,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb oai-lte-ue + 0 + oai-enb oai-lte-ue Create_Workspace @@ -149,7 +149,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb oai-lte-ue diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml index 9e8bb1e704..12f8f13a5b 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml @@ -52,8 +52,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan @@ -166,7 +166,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml index 0081f8eab9..031a308a5c 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml @@ -43,8 +43,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan Create_Workspace @@ -137,7 +137,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml index 310f886497..d56aeb231e 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml @@ -47,8 +47,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan Create_Workspace @@ -166,7 +166,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml index 357db604a6..e957417f1c 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml @@ -47,8 +47,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan Create_Workspace @@ -166,7 +166,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_fembms.xml b/ci-scripts/xml_files/container_4g_rfsim_fembms.xml index e1484004e2..c030fbb4a4 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fembms.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fembms.xml @@ -40,8 +40,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan Create_Workspace @@ -104,7 +104,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_mbms.xml b/ci-scripts/xml_files/container_4g_rfsim_mbms.xml index cf154b4476..34c2fc6c89 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_mbms.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_mbms.xml @@ -40,8 +40,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb-asan oai-lte-ue-asan + 0 + oai-enb-asan oai-lte-ue-asan Create_Workspace @@ -104,7 +104,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb-asan oai-lte-ue-asan diff --git a/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml index 77d9f19ee9..e292958576 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml @@ -47,8 +47,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb oai-lte-ue + 0 + oai-enb oai-lte-ue Create_Workspace @@ -159,7 +159,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb oai-lte-ue diff --git a/ci-scripts/xml_files/container_5g_e1_rfsim.xml b/ci-scripts/xml_files/container_5g_e1_rfsim.xml index bf4cf6ec04..8128fca08c 100644 --- a/ci-scripts/xml_files/container_5g_e1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_e1_rfsim.xml @@ -40,8 +40,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb oai-nr-cuup oai-nr-ue + 0 + oai-gnb oai-nr-cuup oai-nr-ue Create_Workspace @@ -107,7 +107,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb oai-nr-cuup oai-nr-ue diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml index 8c925cbc5f..54d2b221b2 100644 --- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml @@ -47,8 +47,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan Create_Workspace @@ -194,7 +194,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_fdd_rfsim.xml b/ci-scripts/xml_files/container_5g_fdd_rfsim.xml index d3640da596..276bb5b9a3 100644 --- a/ci-scripts/xml_files/container_5g_fdd_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_fdd_rfsim.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan Create_Workspace @@ -133,7 +133,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_flexric_rfsim.xml b/ci-scripts/xml_files/container_5g_flexric_rfsim.xml new file mode 100644 index 0000000000..cc791980f0 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_flexric_rfsim.xml @@ -0,0 +1,213 @@ + + + rfsim-5gnr-flexric + Monolithic SA TDD gNB and FlexRic Integration + wrench + 1 + + 111110 + 111111 + 111112 + 000001 + 000002 + 000003 + 002001 + 010000 + 000004 + 333333 + 010001 + 010002 + 010003 + 020005 + 010013 + 002006 + 444444 + 100002 + 100001 + 222221 + 222222 + + + + + IdleSleep + Sleep + 10 + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-gnb oai-nr-ue + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-flexric + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + oai-gnb oai-nr-ue + true + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + oai-flexric + true + + + + Custom_Command + Updating CN5G images + localhost + docker compose -f ../doc/tutorial_resources/oai-cn5g/docker-compose.yaml pull + + + + Deploy_Object + Deploy OAI 5G CoreNetwork + doc/tutorial_resources/oai-cn5g + mysql oai-nrf oai-udr oai-udm oai-ausf oai-amf oai-smf oai-upf oai-ext-dn + 0 + 0 + + + + Deploy_Object + Deploy OAI FlexRIC + ci-scripts/yaml_files/5g_rfsimulator_flexric + oai-flexric + 0 + 0 + + + + Deploy_Object + Deploy OAI 5G gNB in RF sim SA + ci-scripts/yaml_files/5g_rfsimulator_flexric + oai-gnb + 0 + 0 + + + + Deploy_Object + Deploy 2 OAI 5G NR-UEs in RF sim SA + ci-scripts/yaml_files/5g_rfsimulator_flexric + oai-nr-ue oai-nr-ue2 + 0 + 0 + + + + Ping + Ping ext-dn from both UEs + rfsim5g_ue rfsim5g_ue2 + selfix selfix + -c 20 192.168.70.135 + 5 + + + + Attach_UE + Attach OAI UE 1 and 2 + rfsim5g_ue rfsim5g_ue2 + selfix selfix + + + + Detach_UE + Detach OAI UE 1 and 2 + rfsim5g_ue rfsim5g_ue2 + selfix selfix + + + + Undeploy_Object + Undeploy Core Network + doc/tutorial_resources/oai-cn5g + 0 + 0 + true + + + + Undeploy_Object + Undeploy RAN and Flexric + ci-scripts/yaml_files/5g_rfsimulator_flexric + 0 + 0 + true + + + + Custom_Command + RC monitoring + localhost + yes + docker exec oai-flexric bash -c "stdbuf -o0 /usr/local/flexric/xApp/c/monitor/xapp_rc_moni" > ../cmake_targets/log/5g_rfsimulator_flexric/rc-moni-010000.log + + + + Custom_Command + KPM monitoring + localhost + yes + docker exec oai-flexric bash -c "stdbuf -o0 /usr/local/flexric/xApp/c/monitor/xapp_kpm_moni" > ../cmake_targets/log/5g_rfsimulator_flexric/kpm-moni-010001.log + + + + Custom_Command + KPM monitoring and RC control + localhost + yes + docker exec oai-flexric bash -c "stdbuf -o0 /usr/local/flexric/xApp/c/kpm_rc/xapp_kpm_rc" > ../cmake_targets/log/5g_rfsimulator_flexric/kpm_rc-010002.log + + + + Custom_Command + Custom SMs monitoring + localhost + yes + docker exec oai-flexric bash -c "stdbuf -o0 /usr/local/flexric/xApp/c/monitor/xapp_gtp_mac_rlc_pdcp_moni" > ../cmake_targets/log/5g_rfsimulator_flexric/sms-moni-010003.log + + + + Custom_Command + Custom SMs monitoring + localhost + yes + docker exec oai-flexric bash -c "stdbuf -o0 /usr/local/flexric/xApp/c/monitor/xapp_gtp_mac_rlc_pdcp_moni" > ../cmake_targets/log/5g_rfsimulator_flexric/sms-moni-010013.log + + + diff --git a/ci-scripts/xml_files/container_5g_rfsim.xml b/ci-scripts/xml_files/container_5g_rfsim.xml index 16eacb02c5..6388a3fe3e 100644 --- a/ci-scripts/xml_files/container_5g_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_rfsim.xml @@ -57,8 +57,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue + 0 + oai-gnb-asan oai-nr-ue Create_Workspace @@ -259,7 +259,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue diff --git a/ci-scripts/xml_files/container_5g_rfsim_24prb.xml b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml index 2e3bbf1d3a..5c2a069122 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_24prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan Create_Workspace @@ -133,7 +133,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_2x2.xml b/ci-scripts/xml_files/container_5g_rfsim_2x2.xml index a18928cc80..3b7a1d738e 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_2x2.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_2x2.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan Create_Workspace @@ -133,7 +133,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml index 10081b9606..100465614d 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan @@ -133,7 +133,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml index b29be08d21..d700862689 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml @@ -39,8 +39,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan @@ -101,7 +101,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml b/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml index 04bf430f03..5e3c4bedb5 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml @@ -41,8 +41,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan @@ -107,7 +107,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_sidelink.xml b/ci-scripts/xml_files/container_5g_rfsim_sidelink.xml index d42f8851bb..133d960c3a 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_sidelink.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_sidelink.xml @@ -39,8 +39,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-nr-ue-asan + 0 + oai-nr-ue-asan @@ -97,7 +97,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml index 35834493cc..861158c08f 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml @@ -41,8 +41,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan @@ -116,7 +116,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml b/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml index 38d88b7e5e..7014c54a2a 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-asan oai-nr-ue-asan + 0 + oai-gnb-asan oai-nr-ue-asan Create_Workspace @@ -133,7 +133,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-asan oai-nr-ue-asan diff --git a/ci-scripts/xml_files/container_image_build.xml b/ci-scripts/xml_files/container_image_build.xml index 58b3c00d5e..7db63e4281 100644 --- a/ci-scripts/xml_files/container_image_build.xml +++ b/ci-scripts/xml_files/container_image_build.xml @@ -49,7 +49,7 @@ Push_Local_Registry Push Images to Local Registry - 0 + 0 diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml index 00516269a6..01e1cfc4ed 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml @@ -43,8 +43,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -211,7 +211,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml index 4ede8e072b..c13952094f 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml @@ -42,8 +42,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -194,7 +194,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml index b9bc7f7a42..4bfcb02258 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml @@ -42,8 +42,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -176,7 +176,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml index 958e0a895a..6b1afaf079 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml @@ -44,8 +44,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -206,7 +206,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml index 60a9bd0c16..1469918617 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml @@ -43,8 +43,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -138,7 +138,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue.xml b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue.xml index 10cd2e89c1..f978d14cf9 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue.xml @@ -49,14 +49,14 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Pull_Local_Registry Pull Images from Local Registry - 1 - oai-lte-ue + 1 + oai-lte-ue Custom_Command @@ -190,14 +190,16 @@ Clean_Test_Server_Images true Clean Test Images on eNB Test Server - 0 + 0 + oai-enb Clean_Test_Server_Images true Clean Test Images on LTE-UE Test Server - 1 + 1 + oai-lte-ue diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml index 510d0d3f2e..a830803f9f 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml @@ -43,8 +43,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -206,7 +206,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml index c8bcde980f..dc85ee5813 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml @@ -43,8 +43,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -223,7 +223,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml index 22a86d1f57..f5467c2623 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml @@ -41,8 +41,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -209,7 +209,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm2.xml b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm2.xml index 068d4521b2..1a3bfa6692 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm2.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm2.xml @@ -41,8 +41,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm2.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml index 570fffef71..4d34ff1434 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml @@ -42,8 +42,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -214,7 +214,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml index 49826d782c..2620296bde 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml @@ -42,8 +42,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Custom_Command @@ -212,7 +212,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml index 8e47a61a48..5dc0ab9585 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml @@ -42,8 +42,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -217,7 +217,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml index d144448301..5234e2d35c 100644 --- a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml +++ b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml @@ -48,8 +48,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -153,7 +153,8 @@ Clean_Test_Server_Images true Clean Test Images - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml index 50494d7778..a02d0c48ef 100644 --- a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml +++ b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml @@ -48,8 +48,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb @@ -153,7 +153,8 @@ Clean_Test_Server_Images true Clean Test Images - 0 + 0 + oai-enb diff --git a/ci-scripts/xml_files/container_nsa_b200_quectel.xml b/ci-scripts/xml_files/container_nsa_b200_quectel.xml index c745cb90aa..7b43dc609b 100644 --- a/ci-scripts/xml_files/container_nsa_b200_quectel.xml +++ b/ci-scripts/xml_files/container_nsa_b200_quectel.xml @@ -57,15 +57,15 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-enb + 0 + oai-enb Pull_Local_Registry Pull Images from Local Registry - 1 - oai-gnb + 1 + oai-gnb @@ -252,14 +252,16 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-enb Clean_Test_Server_Images true Clean Test Images on Test Server - 1 + 1 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_aerial_quectel.xml b/ci-scripts/xml_files/container_sa_aerial_quectel.xml index 63f22af51d..643009641d 100644 --- a/ci-scripts/xml_files/container_sa_aerial_quectel.xml +++ b/ci-scripts/xml_files/container_sa_aerial_quectel.xml @@ -43,8 +43,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb-aerial + 0 + oai-gnb-aerial @@ -128,7 +128,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-aerial diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue.xml b/ci-scripts/xml_files/container_sa_aw2s_asue.xml index f023da8402..701d4c23d5 100644 --- a/ci-scripts/xml_files/container_sa_aw2s_asue.xml +++ b/ci-scripts/xml_files/container_sa_aw2s_asue.xml @@ -65,7 +65,8 @@ Pull_Cluster_Image Pull Images from Cluster oaicicd-ran - oai-gnb-aw2s + oai-gnb-aw2s + avra @@ -277,7 +278,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-aw2s diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue_2x2.xml b/ci-scripts/xml_files/container_sa_aw2s_asue_2x2.xml index 514672df66..9f6a373eca 100644 --- a/ci-scripts/xml_files/container_sa_aw2s_asue_2x2.xml +++ b/ci-scripts/xml_files/container_sa_aw2s_asue_2x2.xml @@ -64,7 +64,8 @@ Pull_Cluster_Image Pull Images from Cluster oaicicd-ran - oai-gnb-aw2s + oai-gnb-aw2s + avra Create_Workspace @@ -274,7 +275,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-aw2s diff --git a/ci-scripts/xml_files/container_sa_b200_quectel.xml b/ci-scripts/xml_files/container_sa_b200_quectel.xml index 4a4c8309a5..51d9c314b4 100644 --- a/ci-scripts/xml_files/container_sa_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_b200_quectel.xml @@ -59,8 +59,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb + 0 + oai-gnb @@ -220,7 +220,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml b/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml index 563167a2dd..f93da0e890 100644 --- a/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml @@ -56,8 +56,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb oai-nr-cuup + 0 + oai-gnb oai-nr-cuup @@ -218,7 +218,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb oai-nr-cuup diff --git a/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml b/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml index e03180e236..82f3cc84e5 100644 --- a/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml @@ -64,8 +64,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb + 0 + oai-gnb @@ -251,7 +251,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml b/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml index 215fe3ea26..927fe1a3e7 100644 --- a/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml +++ b/ci-scripts/xml_files/container_sa_fhi72_vvdn_up2.xml @@ -56,7 +56,8 @@ Pull_Cluster_Image Pull Images from Cluster oaicicd-ran - oai-gnb-fhi72 + oai-gnb-fhi72 + cacofonix Create_Workspace @@ -153,7 +154,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb-fhi72 diff --git a/ci-scripts/xml_files/container_sa_n310_2X2_100MHz_quectel.xml b/ci-scripts/xml_files/container_sa_n310_2X2_100MHz_quectel.xml index 214991e117..3fd9c83522 100644 --- a/ci-scripts/xml_files/container_sa_n310_2X2_100MHz_quectel.xml +++ b/ci-scripts/xml_files/container_sa_n310_2X2_100MHz_quectel.xml @@ -46,8 +46,8 @@ Pull_Cluster_Image Pull Images from Cluster - oai-gnb - matix + oai-gnb + matix @@ -156,7 +156,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_n310_2X2_60MHz_quectel.xml b/ci-scripts/xml_files/container_sa_n310_2X2_60MHz_quectel.xml index c94c30a7b2..d4d7568ec4 100644 --- a/ci-scripts/xml_files/container_sa_n310_2X2_60MHz_quectel.xml +++ b/ci-scripts/xml_files/container_sa_n310_2X2_60MHz_quectel.xml @@ -46,8 +46,8 @@ Pull_Cluster_Image Pull Images from Cluster - oai-gnb - matix + oai-gnb + matix @@ -156,7 +156,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_n310_4X4_60MHz_quectel.xml b/ci-scripts/xml_files/container_sa_n310_4X4_60MHz_quectel.xml index 0ffe3044b6..b89891f496 100644 --- a/ci-scripts/xml_files/container_sa_n310_4X4_60MHz_quectel.xml +++ b/ci-scripts/xml_files/container_sa_n310_4X4_60MHz_quectel.xml @@ -46,8 +46,8 @@ Pull_Cluster_Image Pull Images from Cluster - oai-gnb - matix + oai-gnb + matix @@ -156,7 +156,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/xml_files/container_sa_n310_nrue.xml b/ci-scripts/xml_files/container_sa_n310_nrue.xml index a358bbf5f8..e1e79ccec9 100644 --- a/ci-scripts/xml_files/container_sa_n310_nrue.xml +++ b/ci-scripts/xml_files/container_sa_n310_nrue.xml @@ -44,15 +44,15 @@ Pull_Cluster_Image Pull Images from Cluster - oai-gnb - avra + oai-gnb + avra Pull_Cluster_Image Pull Images from Cluster - oai-nr-ue - caracal + oai-nr-ue + caracal @@ -163,14 +163,16 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb Clean_Test_Server_Images true Clean Test Images on Test Server - 1 + 1 + oai-nr-ue diff --git a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml index d2bfaa02d4..a8515f3ec0 100644 --- a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml @@ -53,8 +53,8 @@ Pull_Local_Registry Pull Images from Local Registry - 0 - oai-gnb + 0 + oai-gnb @@ -214,7 +214,8 @@ Clean_Test_Server_Images true Clean Test Images on Test Server - 0 + 0 + oai-gnb diff --git a/ci-scripts/yaml_files/5g_rfsimulator_flexric/conf/flexric.conf b/ci-scripts/yaml_files/5g_rfsimulator_flexric/conf/flexric.conf new file mode 100644 index 0000000000..5ffbf3d47f --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_flexric/conf/flexric.conf @@ -0,0 +1,5 @@ +[NEAR-RIC] +NEAR_RIC_IP = 192.168.70.150 +[XAPP] +DB_PATH = /flexric/db/ +DB_NAME = xapp_rnis_db diff --git a/ci-scripts/yaml_files/5g_rfsimulator_flexric/docker-compose.yml b/ci-scripts/yaml_files/5g_rfsimulator_flexric/docker-compose.yml new file mode 100644 index 0000000000..9afdd02b60 --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_flexric/docker-compose.yml @@ -0,0 +1,81 @@ +services: + oai-flexric: + image: ${REGISTRY:-oaisoftwarealliance}/oai-flexric:${FLEXRIC_TAG:-develop} + container_name: oai-flexric + networks: + public_net: + ipv4_address: 192.168.70.150 + volumes: + - ./conf/flexric.conf:/usr/local/etc/flexric/flexric.conf + - sharedXappLibs:/usr/local/lib/flexric/ + healthcheck: + test: /bin/bash -c "pgrep nearRT-RIC" + interval: 10s + timeout: 5s + + oai-gnb: + image: ${REGISTRY:-oaisoftwarealliance}/${GNB_IMG:-oai-gnb}:${TAG:-develop} + privileged: true + container_name: rfsim5g-oai-gnb + environment: + USE_ADDITIONAL_OPTIONS: -E --rfsim --log_config.global_log_options level,nocolor,time + ASAN_OPTIONS: detect_leaks=0 + depends_on: + - oai-flexric + networks: + public_net: + ipv4_address: 192.168.70.151 + volumes: + - ../../conf_files/gnb.sa.band78.106prb.rfsim.flexric.conf:/opt/oai-gnb/etc/gnb.conf + - sharedXappLibs:/usr/local/lib/flexric/ + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue: + image: ${REGISTRY:-oaisoftwarealliance}/${NRUE_IMG:-oai-nr-ue}:${TAG:-develop} + privileged: true + container_name: rfsim5g-oai-nr-ue + environment: + USE_ADDITIONAL_OPTIONS: -E --rfsim -r 106 --numerology 1 -C 3619200000 --uicc0.imsi 001010000000003 --rfsimulator.serveraddr 192.168.70.151 --log_config.global_log_options level,nocolor,time + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.70.152 + volumes: + - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue2: + image: ${REGISTRY:-oaisoftwarealliance}/${NRUE_IMG:-oai-nr-ue}:${TAG:-develop} + privileged: true + container_name: rfsim5g-oai-nr-ue2 + environment: + USE_ADDITIONAL_OPTIONS: -E --rfsim -r 106 --numerology 1 -C 3619200000 --uicc0.imsi 001010000000004 --rfsimulator.serveraddr 192.168.70.151 --log_config.global_log_options level,nocolor,time + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.70.153 + volumes: + - ../../conf_files/nrue.uicc.conf:/opt/oai-nr-ue/etc/nr-ue.conf + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + +volumes: + sharedXappLibs: + +networks: + public_net: + name: oai-cn5g-public-net + external: true diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index c41657538f..57606548e7 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -128,6 +128,9 @@ information on how the images are built. - [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/) ~5G-NR - using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions +- [OAI-FLEXRIC-RAN-Integration-Test](https://jenkins-oai.eurecom.fr/job/OAI-FLEXRIC-RAN-Integration-Test/) ~5G-NR + - selfix (gNB, nrUE, OAI 5GC, FlexRIC) + - uses RFsimulator, tests FlexRIC/E2 interface and xApps - [RAN-gNB-N300-Timing-Phytest-LDPC](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-gNB-N300-Timing-Phytest-LDPC/) ~5G-NR - caracal + N310