Merge remote-tracking branch 'origin/cleanup-build-oai-speedup-cluster' into integration_2025_w33 (!3579)

CI: speed up and simplify build, remove unnecessary Python code, remove --eNB* parameter list

This cleans up the CI framework for running end-to-end tests, and
improves the integration with OAI code. Specifically

- cleanup build_oai and helpers to output all text, which is captured
  better by the CI
- build some images in the Cluster-Build in parallel to increase speed
- remove all --eNB{,1,2}{IPAddress,UserName,Password} variables. Those
  were indexed through "instance" and "server ID" and are replaced with
  the actual node name. I consider further cleanup to introduce a
  "global" XML file node name so we don't need this in each step and
  instead define this once.
- individual cleanup
This commit is contained in:
Robert Schmidt
2025-08-14 16:45:52 +02:00
107 changed files with 978 additions and 2382 deletions
-1
View File
@@ -280,7 +280,6 @@ endif()
add_boolean_option(TRACE_ASN1C_ENC_DEC OFF "Enable ASN1 encoder/decoder debug traces via OAI logging system" ON) add_boolean_option(TRACE_ASN1C_ENC_DEC OFF "Enable ASN1 encoder/decoder debug traces via OAI logging system" ON)
add_boolean_option(T_TRACER True "Activate the T tracer, a debugging/monitoring framework" ON) add_boolean_option(T_TRACER True "Activate the T tracer, a debugging/monitoring framework" ON)
add_boolean_option(ENABLE_LTTNG False "Activate the LTTNG tracer, a debugging/monitoring framework" ON) add_boolean_option(ENABLE_LTTNG False "Activate the LTTNG tracer, a debugging/monitoring framework" ON)
add_boolean_option(UE_AUTOTEST_TRACE False "Activate UE autotest specific logs" ON)
add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace" ON) add_boolean_option(UE_DEBUG_TRACE False "Activate UE debug trace" ON)
add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace" ON) add_boolean_option(UE_TIMING_TRACE False "Activate UE timing trace" ON)
+2 -11
View File
@@ -98,18 +98,10 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_IPAddress == null) {
echo "no eNB_IPAddress given"
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
echo "no eNB_SourceCodePath given" echo "no eNB_SourceCodePath given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
echo "no eNB_Credentials given"
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -188,7 +180,6 @@ pipeline {
} }
} }
withCredentials([ withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password'] [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_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} ${mainPythonAllXmlFiles}"
@@ -196,7 +187,7 @@ pipeline {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { 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} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -204,7 +195,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
} }
} }
} }
+2 -19
View File
@@ -91,24 +91,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -187,8 +172,6 @@ pipeline {
} }
} }
withCredentials([ withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password'] [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_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} ${mainPythonAllXmlFiles}"
@@ -197,7 +180,7 @@ pipeline {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { 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} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -205,7 +188,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
} }
} }
} }
+2 -9
View File
@@ -92,15 +92,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -179,7 +173,6 @@ pipeline {
} }
} }
withCredentials([ withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password'] [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_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} ${mainPythonAllXmlFiles}"
@@ -188,7 +181,7 @@ pipeline {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { 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} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -196,7 +189,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
} }
} }
} }
+5 -29
View File
@@ -91,15 +91,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -170,16 +164,13 @@ pipeline {
} }
} }
} }
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_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} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n") String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) { for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { timeout (time: 60, unit: 'MINUTES') {
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -187,8 +178,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
}
} }
} }
} }
@@ -198,11 +188,7 @@ pipeline {
stage('Terminate eNB') { stage('Terminate eNB') {
steps { steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m' echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([ sh "python3 ci-scripts/main.py --mode=TerminateeNB"
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
} }
post { post {
success { success {
@@ -218,15 +204,9 @@ pipeline {
parallel { parallel {
stage('Log Collection (eNB - Run)') { stage('Log Collection (eNB - Run)') {
steps { steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m' echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}" sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script { script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) { if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip" archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
@@ -262,11 +242,7 @@ pipeline {
failure { failure {
script { script {
if (!termStatusArray[termENB]) { if (!termStatusArray[termENB]) {
withCredentials([ sh "python3 ci-scripts/main.py --mode=TerminateeNB"
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
} }
} }
} }
+4 -47
View File
@@ -81,36 +81,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
// 1st eNB parameters
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// 2nd eNB parameters
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// 3rd eNB parameters
if (params.eNB2_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB2_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB2_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -181,18 +154,13 @@ pipeline {
} }
} }
} }
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_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} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n") String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) { for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { timeout (time: 60, unit: 'MINUTES') {
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --XMLTestFile=${xmlFile}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -200,8 +168,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
}
} }
} }
} }
@@ -211,11 +178,7 @@ pipeline {
stage('Terminate eNB') { stage('Terminate eNB') {
steps { steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m' echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([ sh "python3 ci-scripts/main.py --mode=TerminateeNB"
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
} }
} }
} }
@@ -224,15 +187,9 @@ pipeline {
parallel { parallel {
stage('Log Collection (eNB - Run)') { stage('Log Collection (eNB - Run)') {
steps { steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m' echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}" sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script { script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) { if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip" archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
+3 -43
View File
@@ -83,36 +83,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
// 1st eNB parameters
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// 2nd eNB parameters
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// 3rd eNB parameters
if (params.eNB2_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB2_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB2_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -183,18 +156,13 @@ pipeline {
} }
} }
} }
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_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} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n") String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) { for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { timeout (time: 60, unit: 'MINUTES') {
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --XMLTestFile=${xmlFile}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -202,8 +170,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
}
} }
} }
} }
@@ -212,15 +179,8 @@ pipeline {
parallel { parallel {
stage('Log Collection (eNB - Run)') { stage('Log Collection (eNB - Run)') {
steps { steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m' echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}" sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script { script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) { if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip" archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
+5 -30
View File
@@ -96,15 +96,9 @@ pipeline {
echo "no LockResources given" echo "no LockResources given"
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) { if (params.eNB_SourceCodePath == null) {
allParametersPresent = false allParametersPresent = false
} }
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger // the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing) // if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) { if (params.eNB_Repository == null) {
@@ -181,16 +175,13 @@ pipeline {
} }
} }
} }
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
]) {
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} ${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") String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) { for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) { if (fileExists(xmlFile)) {
try { try {
timeout (time: 60, unit: 'MINUTES') { timeout (time: 60, unit: 'MINUTES') {
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} --XMLTestFile=${xmlFile}" sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
} }
} catch (Exception e) { } catch (Exception e) {
currentBuild.result = 'FAILURE' currentBuild.result = 'FAILURE'
@@ -198,8 +189,7 @@ pipeline {
} }
} }
} }
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}" sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
}
} }
} }
} }
@@ -209,11 +199,7 @@ pipeline {
stage('Terminate eNB') { stage('Terminate eNB') {
steps { steps {
echo '\u2705 \u001B[32mTerminate eNB\u001B[0m' echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
withCredentials([ sh "python3 ci-scripts/main.py --mode=TerminateeNB"
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
} }
post { post {
success { success {
@@ -229,15 +215,8 @@ pipeline {
parallel { parallel {
stage('Log Collection (eNB - Run)') { stage('Log Collection (eNB - Run)') {
steps { steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m' echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}" sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script { script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) { if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip" archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
@@ -273,11 +252,7 @@ pipeline {
failure { failure {
script { script {
if (!termStatusArray[termENB]) { if (!termStatusArray[termENB]) {
withCredentials([ sh "python3 ci-scripts/main.py --mode=TerminateeNB"
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
sh "python3 ci-scripts/main.py --mode=TerminateeNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
} }
} }
} }
+60
View File
@@ -0,0 +1,60 @@
This document outlines how to use the OAI CI framework and gives a quickstart.
[[_TOC_]]
# Quickstart
There is a script `main.py` that
- reads scenario files from XML
- executes the steps (e.g., deployment of CN/gNB/UE, attach, ping, ...)
To simplify, a script `run_locally.sh` can be used to run a single scenario
locally. First, download images for gNB&UE (we assume you already downloaded
the CN) and tag them "latest", which is expected by `run_locally.sh`:
docker pull oaisoftwarealliance/oai-gnb:develop
docker tag oaisoftwarealliance/oai-gnb:develop oai-gnb
docker pull oaisoftwarealliance/oai-nr-ue:develop
docker tag oaisoftwarealliance/oai-nr-ue:develop oai-nr-ue
Now, run the scenario:
cd ~/openairinterface5g/ci-scripts/
./run_locally.sh xml_files/container_5g_rfsim_simple.xml
Output should look like
```
[2025-08-07 18:07:49,631] INFO: ----------------------------------------
[2025-08-07 18:07:49,631] INFO: Creating HTML header
[2025-08-07 18:07:49,631] INFO: ----------------------------------------
[2025-08-07 18:07:49,766] INFO: ----------------------------------------
[2025-08-07 18:07:49,767] INFO: Starting Scenario: xml_files/container_5g_rfsim_simple.xml
[2025-08-07 18:07:49,767] INFO: ----------------------------------------
[2025-08-07 18:07:49,767] INFO: placing all artifacts for this run in /home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/
[...]
[2025-08-07 18:07:49,771] INFO: ----------------------------------------
[2025-08-07 18:07:49,771] INFO: Test ID: 1 (#1)
[2025-08-07 18:07:49,771] INFO: Deploy OAI 5G CoreNetwork
[2025-08-07 18:07:49,771] INFO: ----------------------------------------
```
it will run an end-to-end test, connecting one UE to the gNB, and ping, before
undeploying. As shown, logs will be under
`/home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/`. The
python code also produces an HTML report in `ci-scripts/test_results.html`.
# Running with local changes
In order to run the tests as above, with local changes, please [build images
locally](../docker/README.md).
It is not yet possible to override an existing image with changes made locally
to a source file and run it directly through the CI framework. However, it is
possible to override an existing image with local changes, and run the scenario
manually following the console logs steps provided above. This is described in
the [5G RFsimulator
README](yaml_files/5g_rfsimulator/README.md#6-running-with-local-changes).
+5 -67
View File
@@ -59,17 +59,6 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,CONTAINERS,HELP,SCA,CLUSTER):
force_local = True force_local = True
#--apply=<filename> as parameters file, to replace inline parameters
elif re.match(r'^\-\-Apply=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-Apply=(.+)$', myArgv, re.IGNORECASE)
py_params_file = matchReg.group(1)
with open(py_params_file,'r') as file:
# The FullLoader parameter handles the conversion from YAML
# scalar values to Python dictionary format
py_params = yaml.load(file,Loader=yaml.FullLoader)
py_param_file_present = True #to be removed once validated
#AssignParams(py_params) #to be uncommented once validated
#consider inline parameters #consider inline parameters
elif re.match(r'^\-\-mode=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-mode=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-mode=(.+)$', myArgv, re.IGNORECASE) matchReg = re.match(r'^\-\-mode=(.+)$', myArgv, re.IGNORECASE)
@@ -132,50 +121,11 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,CONTAINERS,HELP,SCA,CLUSTER):
SCA.ranTargetBranch=matchReg.group(1) SCA.ranTargetBranch=matchReg.group(1)
CLUSTER.ranTargetBranch=matchReg.group(1) CLUSTER.ranTargetBranch=matchReg.group(1)
elif re.match(r'^\-\-eNBIPAddress=(.+)$|^\-\-eNB[1-2]IPAddress=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNBIPAddress=(.+)$|^\-\-eNB[1-2]IPAddress=(.+)$', myArgv, re.IGNORECASE):
if re.match(r'^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE): print("parameters --eNB*IPAddress ignored")
matchReg = re.match(r'^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBIPAddress=matchReg.group(1)
CONTAINERS.eNBIPAddress=matchReg.group(1)
SCA.eNBIPAddress=matchReg.group(1)
CLUSTER.eNBIPAddress=matchReg.group(1)
elif re.match(r'^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1IPAddress=matchReg.group(1)
CONTAINERS.eNB1IPAddress=matchReg.group(1)
elif re.match(r'^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2IPAddress=matchReg.group(1)
CONTAINERS.eNB2IPAddress=matchReg.group(1)
elif re.match(r'^\-\-eNBUserName=(.+)$|^\-\-eNB[1-2]UserName=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNBUserName=(.+)$|^\-\-eNB[1-2]UserName=(.+)$', myArgv, re.IGNORECASE):
if re.match(r'^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE): print("parameters --eNB*UserName ignored")
matchReg = re.match(r'^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBUserName=matchReg.group(1)
CONTAINERS.eNBUserName=matchReg.group(1)
SCA.eNBUserName=matchReg.group(1)
CLUSTER.eNBUserName=matchReg.group(1)
elif re.match(r'^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1UserName=matchReg.group(1)
CONTAINERS.eNB1UserName=matchReg.group(1)
elif re.match(r'^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2UserName=matchReg.group(1)
CONTAINERS.eNB2UserName=matchReg.group(1)
elif re.match(r'^\-\-eNBPassword=(.+)$|^\-\-eNB[1-2]Password=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNBPassword=(.+)$|^\-\-eNB[1-2]Password=(.+)$', myArgv, re.IGNORECASE):
if re.match(r'^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE): print("parameter --eNB*Password ignored")
matchReg = re.match(r'^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE)
RAN.eNBPassword=matchReg.group(1)
CONTAINERS.eNBPassword=matchReg.group(1)
SCA.eNBPassword=matchReg.group(1)
CLUSTER.eNBPassword=matchReg.group(1)
elif re.match(r'^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB1Password=matchReg.group(1)
CONTAINERS.eNB1Password=matchReg.group(1)
elif re.match(r'^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE)
RAN.eNB2Password=matchReg.group(1)
CONTAINERS.eNB2Password=matchReg.group(1)
elif re.match(r'^\-\-eNBSourceCodePath=(.+)$|^\-\-eNB[1-2]SourceCodePath=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNBSourceCodePath=(.+)$|^\-\-eNB[1-2]SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
if re.match(r'^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE): if re.match(r'^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE) matchReg = re.match(r'^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE)
@@ -184,26 +134,14 @@ def ArgsParse(argvs,CiTestObj,RAN,HTML,CONTAINERS,HELP,SCA,CLUSTER):
SCA.eNBSourceCodePath=matchReg.group(1) SCA.eNBSourceCodePath=matchReg.group(1)
CLUSTER.eNBSourceCodePath=matchReg.group(1) CLUSTER.eNBSourceCodePath=matchReg.group(1)
elif re.match(r'^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE) print("parameter --eNB1SourceCodePath ignored")
RAN.eNB1SourceCodePath=matchReg.group(1)
CONTAINERS.eNB1SourceCodePath=matchReg.group(1)
elif re.match(r'^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE) print("parameter --eNB2SourceCodePath ignored")
RAN.eNB2SourceCodePath=matchReg.group(1)
CONTAINERS.eNB2SourceCodePath=matchReg.group(1)
elif re.match(r'^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE) matchReg = re.match(r'^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
CiTestObj.testXMLfiles.append(matchReg.group(1)) CiTestObj.testXMLfiles.append(matchReg.group(1))
HTML.testXMLfiles.append(matchReg.group(1)) HTML.testXMLfiles.append(matchReg.group(1))
HTML.nbTestXMLfiles=HTML.nbTestXMLfiles+1 HTML.nbTestXMLfiles=HTML.nbTestXMLfiles+1
elif re.match(r'^\-\-UEIPAddress=(.+)$', myArgv, re.IGNORECASE): # cleanup
print("parameter --UEIPAddress ignored")
elif re.match(r'^\-\-UEUserName=(.+)$', myArgv, re.IGNORECASE):
print("parameter --UEUserName ignored")
elif re.match(r'^\-\-UEPassword=(.+)$', myArgv, re.IGNORECASE):
print("parameter --UEPassword ignored")
elif re.match(r'^\-\-UESourceCodePath=(.+)$', myArgv, re.IGNORECASE):
print("parameter --UESourceCodePath ignored")
elif re.match(r'^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE): elif re.match(r'^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE):
matchReg = re.match(r'^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE) matchReg = re.match(r'^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE)
finalStatus = matchReg.group(1) finalStatus = matchReg.group(1)
+32 -83
View File
@@ -69,9 +69,7 @@ def OC_logout(cmd):
class Cluster: class Cluster:
def __init__(self): def __init__(self):
self.eNBIPAddress = ""
self.eNBSourceCodePath = "" self.eNBSourceCodePath = ""
self.forcedWorkspaceCleanup = False
self.OCUserName = "" self.OCUserName = ""
self.OCPassword = "" self.OCPassword = ""
self.OCProjectName = "" self.OCProjectName = ""
@@ -165,24 +163,6 @@ class Cluster:
return -1 return -1
return int(result.group("size")) return int(result.group("size"))
def _deploy_pod(self, filename, timeout = 120):
ret = self.cmd.run(f'oc create -f {filename}')
result = re.search(r'pod/(?P<pod>[a-zA-Z0-9_\-]+) created', ret.stdout)
if result is None:
logging.error(f'could not deploy pod: {ret.stdout}')
return None
pod = result.group("pod")
logging.debug(f'checking if pod {pod} is in Running state')
ret = self.cmd.run(f'oc wait --for=condition=ready pod {pod} --timeout={timeout}s', silent=True)
if ret.returncode == 0:
return pod
logging.error(f'pod {pod} did not reach Running state')
self._undeploy_pod(filename)
return None
def _undeploy_pod(self, filename):
self.cmd.run(f'oc delete -f {filename}')
def PullClusterImage(self, HTML, node, images, tag_prefix): def PullClusterImage(self, HTML, node, images, tag_prefix):
logging.debug(f'Pull OC image {images} to server {node}') logging.debug(f'Pull OC image {images} to server {node}')
self.testCase_id = HTML.testCase_id self.testCase_id = HTML.testCase_id
@@ -213,13 +193,12 @@ class Cluster:
self.cmd.run(f'oc logs {job} &> {fn}') self.cmd.run(f'oc logs {job} &> {fn}')
return (image, archiveArtifact(self.cmd, ctx, fn)) return (image, archiveArtifact(self.cmd, ctx, fn))
def BuildClusterImage(self, ctx, HTML): def BuildClusterImage(self, ctx, node, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '': if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version) HELP.GenericHelp(CONST.Version)
raise ValueError(f'Insufficient Parameter: ranRepository {self.ranRepository} ranBranch {ranBranch} ranCommitID {self.ranCommitID}') raise ValueError(f'Insufficient Parameter: ranRepository {self.ranRepository} ranBranch {ranBranch} ranCommitID {self.ranCommitID}')
lIpAddr = self.eNBIPAddress
lSourcePath = self.eNBSourceCodePath lSourcePath = self.eNBSourceCodePath
if lIpAddr == '' or lSourcePath == '': if node == '' or lSourcePath == '':
raise ValueError('Insufficient Parameter: eNBSourceCodePath missing') raise ValueError('Insufficient Parameter: eNBSourceCodePath missing')
ocUserName = self.OCUserName ocUserName = self.OCUserName
ocPassword = self.OCPassword ocPassword = self.OCPassword
@@ -230,8 +209,8 @@ class Cluster:
if self.OCRegistry.startswith("http") or self.OCRegistry.endswith("/"): if self.OCRegistry.startswith("http") or self.OCRegistry.endswith("/"):
raise ValueError(f'ocRegistry {self.OCRegistry} should not start with http:// or https:// and not end on a slash /') raise ValueError(f'ocRegistry {self.OCRegistry} should not start with http:// or https:// and not end on a slash /')
logging.debug(f'Building on cluster triggered from server: {lIpAddr}') logging.debug(f'Building on cluster triggered from server: {node}')
self.cmd = cls_cmd.RemoteCmd(lIpAddr) self.cmd = cls_cmd.RemoteCmd(node)
self.testCase_id = HTML.testCase_id self.testCase_id = HTML.testCase_id
@@ -296,21 +275,12 @@ class Cluster:
if not status: logging.error('failure during build of ran-base') if not status: logging.error('failure during build of ran-base')
log_files.append(self._retrieveOCLog(ctx, ranbase_job, lSourcePath, 'ran-base')) log_files.append(self._retrieveOCLog(ctx, ranbase_job, lSourcePath, 'ran-base'))
# recover logs by mounting image
self._retag_image_statement('ran-base', 'ran-base', baseTag, 'openshift/ran-base-log-retrieval.yaml')
pod = self._deploy_pod('openshift/ran-base-log-retrieval.yaml')
if pod is not None:
logdir = f'{lSourcePath}/cmake_targets/log/ran-base'
self.cmd.run(f'mkdir -p {logdir}')
self.cmd.run(f'oc rsync {pod}:/oai-ran/cmake_targets/log/ {logdir}')
self._undeploy_pod('openshift/ran-base-log-retrieval.yaml')
ret = self.cmd.run(f'ls {logdir}')
for f in ret.stdout.splitlines():
archiveArtifact(self.cmd, ctx, f"{logdir}/{f}")
else:
status = False
if status: if status:
self._recreate_is_tag('ran-build-fhi72', imageTag, 'openshift/ran-build-fhi72-is.yaml')
self._recreate_bc('ran-build-fhi72', imageTag, 'openshift/ran-build-fhi72-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.build.fhi72.rhel9')
ranbuildfhi72_job = self._start_build('ran-build-fhi72')
self._recreate_is_tag('oai-physim', imageTag, 'openshift/oai-physim-is.yaml') self._recreate_is_tag('oai-physim', imageTag, 'openshift/oai-physim-is.yaml')
self._recreate_bc('oai-physim', imageTag, 'openshift/oai-physim-bc.yaml') self._recreate_bc('oai-physim', imageTag, 'openshift/oai-physim-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.phySim.rhel9') self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.phySim.rhel9')
@@ -326,15 +296,22 @@ class Cluster:
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.clang.rhel9') self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.clang.rhel9')
clang_job = self._start_build('oai-clang') clang_job = self._start_build('oai-clang')
wait = ranbuild_job is not None and physim_job is not None and clang_job is not None and self._wait_build_end([ranbuild_job, physim_job, clang_job], 1200) wait = ranbuildfhi72_job is not None and ranbuild_job is not None and physim_job is not None and clang_job is not None and self._wait_build_end([ranbuildfhi72_job, ranbuild_job, physim_job, clang_job], 1200)
if not wait: logging.error('error during build of ranbuild_job or physim_job or clang_job') if not wait: logging.error('error during build of ranbuildfhi72_job or ranbuild_job or physim_job or clang_job')
status = status and wait status = status and wait
log_files.append(self._retrieveOCLog(ctx, ranbuildfhi72_job, lSourcePath, 'ran-build-fhi72'))
log_files.append(self._retrieveOCLog(ctx, ranbuild_job, lSourcePath, 'ran-build')) log_files.append(self._retrieveOCLog(ctx, ranbuild_job, lSourcePath, 'ran-build'))
log_files.append(self._retrieveOCLog(ctx, physim_job, lSourcePath, 'oai-physim')) log_files.append(self._retrieveOCLog(ctx, physim_job, lSourcePath, 'oai-physim'))
log_files.append(self._retrieveOCLog(ctx, clang_job, lSourcePath, 'oai-clang')) log_files.append(self._retrieveOCLog(ctx, clang_job, lSourcePath, 'oai-clang'))
self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}') self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}')
if status: if status:
self._recreate_is_tag('oai-gnb-fhi72', imageTag, 'openshift/oai-gnb-fhi72-is.yaml')
self._recreate_bc('oai-gnb-fhi72', imageTag, 'openshift/oai-gnb-fhi72-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.fhi72.rhel9')
self._retag_image_statement('ran-build-fhi72', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build-fhi72', imageTag, 'docker/Dockerfile.gNB.fhi72.rhel9')
gnb_fhi72_job = self._start_build('oai-gnb-fhi72')
self._recreate_is_tag('oai-enb', imageTag, 'openshift/oai-enb-is.yaml') self._recreate_is_tag('oai-enb', imageTag, 'openshift/oai-enb-is.yaml')
self._recreate_bc('oai-enb', imageTag, 'openshift/oai-enb-bc.yaml') self._recreate_bc('oai-enb', imageTag, 'openshift/oai-enb-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.eNB.rhel9') self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.eNB.rhel9')
@@ -353,10 +330,11 @@ class Cluster:
self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.aw2s.rhel9') self._retag_image_statement('ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.aw2s.rhel9')
gnb_aw2s_job = self._start_build('oai-gnb-aw2s') gnb_aw2s_job = self._start_build('oai-gnb-aw2s')
wait = enb_job is not None and gnb_job is not None and gnb_aw2s_job is not None and self._wait_build_end([enb_job, gnb_job, gnb_aw2s_job], 800) wait = gnb_fhi72_job is not None and enb_job is not None and gnb_job is not None and gnb_aw2s_job is not None and self._wait_build_end([gnb_fhi72_job, enb_job, gnb_job, gnb_aw2s_job], 800)
if not wait: logging.error('error during build of eNB/gNB') if not wait: logging.error('error during build of eNB/gNB')
status = status and wait status = status and wait
# recover logs # recover logs
log_files.append(self._retrieveOCLog(ctx, gnb_fhi72_job, lSourcePath, 'oai-gnb-fhi72'))
log_files.append(self._retrieveOCLog(ctx, enb_job, lSourcePath, 'oai-enb')) log_files.append(self._retrieveOCLog(ctx, enb_job, lSourcePath, 'oai-enb'))
log_files.append(self._retrieveOCLog(ctx, gnb_job, lSourcePath, 'oai-gnb')) log_files.append(self._retrieveOCLog(ctx, gnb_job, lSourcePath, 'oai-gnb'))
log_files.append(self._retrieveOCLog(ctx, gnb_aw2s_job, lSourcePath, 'oai-gnb-aw2s')) log_files.append(self._retrieveOCLog(ctx, gnb_aw2s_job, lSourcePath, 'oai-gnb-aw2s'))
@@ -389,32 +367,6 @@ class Cluster:
log_files.append(self._retrieveOCLog(ctx, nrue_job, lSourcePath, 'oai-nr-ue')) log_files.append(self._retrieveOCLog(ctx, nrue_job, lSourcePath, 'oai-nr-ue'))
self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}') self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}')
if status:
self._recreate_is_tag('ran-build-fhi72', imageTag, 'openshift/ran-build-fhi72-is.yaml')
self._recreate_bc('ran-build-fhi72', imageTag, 'openshift/ran-build-fhi72-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.build.fhi72.rhel9')
ranbuildfhi72_job = self._start_build('ran-build-fhi72')
wait = ranbuildfhi72_job is not None and self._wait_build_end([ranbuildfhi72_job], 1200)
if not wait: logging.error('error during build of ranbuildfhi72_job')
status = status and wait
log_files.append(self._retrieveOCLog(ctx, ranbuildfhi72_job, lSourcePath, 'ran-build-fhi72'))
self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}')
if status:
self._recreate_is_tag('oai-gnb-fhi72', imageTag, 'openshift/oai-gnb-fhi72-is.yaml')
self._recreate_bc('oai-gnb-fhi72', imageTag, 'openshift/oai-gnb-fhi72-bc.yaml')
self._retag_image_statement('ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.fhi72.rhel9')
self._retag_image_statement('ran-build-fhi72', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build-fhi72', imageTag, 'docker/Dockerfile.gNB.fhi72.rhel9')
gnb_fhi72_job = self._start_build('oai-gnb-fhi72')
wait = gnb_fhi72_job is not None and self._wait_build_end([gnb_fhi72_job], 600)
if not wait: logging.error('error during build of gNB-fhi72')
status = status and wait
# recover logs
log_files.append(self._retrieveOCLog(ctx, gnb_fhi72_job, lSourcePath, 'oai-gnb-fhi72'))
self.cmd.run(f'oc get pods.metrics.k8s.io &>> {build_metrics}')
# split and analyze logs # split and analyze logs
imageSize = {} imageSize = {}
for image, _ in log_files: for image, _ in log_files:
@@ -444,21 +396,18 @@ class Cluster:
self.cmd.close() self.cmd.close()
# Analyze the logs # Analyze the logs
collectInfo = cls_containerize.AnalyzeBuildLogs(log_files, status) collectInfo = {}
for img in collectInfo: for image, lf in log_files:
for f in collectInfo[img]: ret = cls_containerize.AnalyzeBuildLogs(image, lf)
status = status and collectInfo[img][f]['status'] imgStatus = ret['status']
if not status: msg = f"size {imageSize[image]}, analysis of {os.path.basename(lf)}: {ret['errors']} errors, {ret['warnings']} warnings"
logging.debug(collectInfo) HTML.CreateHtmlTestRowQueue(image, 'OK' if imgStatus else 'KO', [msg])
status = status and imgStatus
if status: if status:
logging.info('\u001B[1m Building OAI Image(s) Pass\u001B[0m') logging.info('\u001B[1m Building OAI Image(s) Pass\u001B[0m')
HTML.CreateHtmlTestRow('all', 'OK', CONST.ALL_PROCESSES_OK)
else: else:
logging.error('\u001B[1m Building OAI Images Failed\u001B[0m') logging.error('\u001B[1m Building OAI Images Failed\u001B[0m')
HTML.CreateHtmlTestRow('all', 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlNextTabHeaderTestRow(collectInfo, imageSize)
# TODO fix groovy script, remove the following. # TODO fix groovy script, remove the following.
# the groovy scripts expects all logs in # the groovy scripts expects all logs in
@@ -469,17 +418,17 @@ class Cluster:
return status return status
def deploy_oc_physim(self, ctx, HTML, oc_release, svr_id): def deploy_oc_physim(self, ctx, HTML, oc_release, node):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '': if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version) HELP.GenericHelp(CONST.Version)
raise ValueError(f'Insufficient Parameter: ranRepository {self.ranRepository} ranBranch {self.ranBranch} ranCommitID {self.ranCommitID}') raise ValueError(f'Insufficient Parameter: ranRepository {self.ranRepository} ranBranch {self.ranBranch} ranCommitID {self.ranCommitID}')
image_tag = cls_containerize.CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) image_tag = cls_containerize.CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge)
logging.debug(f'Running physims from server: {svr_id}') logging.debug(f'Running physims from server: {node}')
script = "scripts/oc-deploy-physims.sh" script = "scripts/oc-deploy-physims.sh"
options = f"oaicicd-core-for-ci-ran {oc_release} {image_tag} {self.eNBSourceCodePath}" options = f"oaicicd-core-for-ci-ran {oc_release} {image_tag} {self.eNBSourceCodePath}"
ret = cls_cmd.runScript(svr_id, script, 600, options) ret = cls_cmd.runScript(node, script, 600, options)
logging.debug(f'"{script}" finished with code {ret.returncode}, output:\n{ret.stdout}') logging.debug(f'"{script}" finished with code {ret.returncode}, output:\n{ret.stdout}')
with cls_cmd.getConnection(svr_id) as ssh: with cls_cmd.getConnection(node) as ssh:
details_json = archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/{oc_release}-tests.json') details_json = archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/{oc_release}-tests.json')
result_junit = archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/{oc_release}-run.xml') result_junit = archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/{oc_release}-run.xml')
archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/physim_log.txt') archiveArtifact(ssh, ctx, f'{self.eNBSourceCodePath}/ci-scripts/physim_log.txt')
@@ -492,7 +441,7 @@ class Cluster:
HTML.CreateHtmlTestRowPhySimTestResult(test_summary, test_result) HTML.CreateHtmlTestRowPhySimTestResult(test_summary, test_result)
logging.info('\u001B[1m Physical Simulator Pass\u001B[0m') logging.info('\u001B[1m Physical Simulator Pass\u001B[0m')
else: else:
HTML.CreateHtmlTestRow('Some test(s) failed!', 'KO', CONST.OC_PHYSIM_DEPLOY_FAIL) HTML.CreateHtmlTestRowQueue('At least one physical simulator test failed!', 'KO', ["See below for details"])
HTML.CreateHtmlTestRowPhySimTestResult(test_summary, test_result) HTML.CreateHtmlTestRowPhySimTestResult(test_summary, test_result)
logging.error('\u001B[1m Physical Simulator Fail\u001B[0m') logging.error('\u001B[1m Physical Simulator Fail\u001B[0m')
else: else:
+50 -121
View File
@@ -82,10 +82,7 @@ def CreateTag(ranCommitID, ranBranch, ranAllowMerge):
tagToUse = f'develop-{shortCommit}' tagToUse = f'develop-{shortCommit}'
return tagToUse return tagToUse
def AnalyzeBuildLogs(logfiles, globalStatus): def AnalyzeBuildLogs(image, lf):
collectInfo = {}
for image, lf in logfiles:
files = {}
errorandwarnings = {} errorandwarnings = {}
committed = False committed = False
tagged = False tagged = False
@@ -101,9 +98,7 @@ def AnalyzeBuildLogs(logfiles, globalStatus):
errorandwarnings['warnings'] = 0 errorandwarnings['warnings'] = 0
errorandwarnings['status'] = committed or tagged errorandwarnings['status'] = committed or tagged
logging.info(f"Analyzing {image}, file {lf}: {errorandwarnings}") logging.info(f"Analyzing {image}, file {lf}: {errorandwarnings}")
files['Target Image Creation'] = errorandwarnings return errorandwarnings
collectInfo[image] = files
return collectInfo
def GetImageName(ssh, svcName, file): def GetImageName(ssh, svcName, file):
ret = ssh.run(f"docker compose -f {file} config --format json {svcName} | jq -r '.services.\"{svcName}\".image'", silent=True) ret = ssh.run(f"docker compose -f {file} config --format json {svcName} | jq -r '.services.\"{svcName}\".image'", silent=True)
@@ -219,7 +214,6 @@ def CheckLogs(self, filename, HTML, RAN):
HTML.htmleNBFailureMsg = "" HTML.htmleNBFailureMsg = ""
else: else:
logging.info(f"Skipping analysis of log '{filename}': no submatch for xNB/UE") logging.info(f"Skipping analysis of log '{filename}': no submatch for xNB/UE")
HTML.CreateHtmlTestRowQueue(f"file {name}", 'OK', ["no analysis function"])
logging.debug(f"log check: file {filename} passed analysis {success}") logging.debug(f"log check: file {filename} passed analysis {success}")
return success return success
@@ -235,25 +229,11 @@ class Containerize():
self.ranAllowMerge = False self.ranAllowMerge = False
self.ranCommitID = '' self.ranCommitID = ''
self.ranTargetBranch = '' self.ranTargetBranch = ''
self.eNBIPAddress = ''
self.eNBUserName = ''
self.eNBPassword = ''
self.eNBSourceCodePath = '' self.eNBSourceCodePath = ''
self.eNB1IPAddress = ''
self.eNB1UserName = ''
self.eNB1Password = ''
self.eNB1SourceCodePath = ''
self.eNB2IPAddress = ''
self.eNB2UserName = ''
self.eNB2Password = ''
self.eNB2SourceCodePath = ''
self.forcedWorkspaceCleanup = False
self.imageKind = '' self.imageKind = ''
self.proxyCommit = None self.proxyCommit = None
self.eNB_instance = 0 self.yamlPath = ''
self.eNB_serverId = ['', '', ''] self.services = ''
self.yamlPath = ['', '', '']
self.services = ['', '', '']
self.deploymentTag = '' self.deploymentTag = ''
self.cli = '' self.cli = ''
@@ -271,25 +251,10 @@ class Containerize():
# Container management functions # Container management functions
#----------------------------------------------------------- #-----------------------------------------------------------
def GetCredentials(self, server_id): def BuildImage(self, ctx, node, HTML):
if server_id == '0': lSourcePath = self.eNBSourceCodePath
ip, path = self.eNBIPAddress, self.eNBSourceCodePath logging.debug('Building on server: ' + node)
elif server_id == '1': cmd = cls_cmd.getConnection(node)
ip, path = self.eNB1IPAddress, self.eNB1SourceCodePath
elif server_id == '2':
ip, path = self.eNB2IPAddress, self.eNB2SourceCodePath
else:
raise ValueError(f"unknown server ID '{server_id}'")
if ip == '' or path == '':
HELP.GenericHelp(CONST.Version)
raise ValueError(f'Insufficient Parameter: IP/node {ip}, path {path}')
return (ip, path)
def BuildImage(self, ctx, HTML):
svr = self.eNB_serverId[self.eNB_instance]
lIpAddr, lSourcePath = self.GetCredentials(svr)
logging.debug('Building on server: ' + lIpAddr)
cmd = cls_cmd.getConnection(lIpAddr)
log_files = [] log_files = []
# Checking the hostname to get adapted on cli and dockerfileprefixes # Checking the hostname to get adapted on cli and dockerfileprefixes
@@ -386,13 +351,6 @@ class Containerize():
t = ("ran-base", archiveArtifact(cmd, ctx, logfile)) t = ("ran-base", archiveArtifact(cmd, ctx, logfile))
log_files.append(t) log_files.append(t)
# Recover build logs, for the moment only possible when build is successful
cmd.run(f"{self.cli} create --name test {baseImage}:{baseTag}")
cmd.run("mkdir -p cmake_targets/log/ran-base")
logfile = f'{lSourcePath}/cmake_targets/log/ran-base.log'
cmd.run(f"{self.cli} cp test:/oai-ran/cmake_targets/log/all.txt {logfile}")
cmd.run(f"{self.cli} rm -f test")
archiveArtifact(cmd, ctx, logfile)
# First verify if the base image was properly created. # First verify if the base image was properly created.
ret = cmd.run(f"{self.cli} image inspect --format=\'Size = {{{{.Size}}}} bytes\' {baseImage}:{baseTag}") ret = cmd.run(f"{self.cli} image inspect --format=\'Size = {{{{.Size}}}} bytes\' {baseImage}:{baseTag}")
allImagesSize = {} allImagesSize = {}
@@ -438,12 +396,6 @@ class Containerize():
log_files.append(t) log_files.append(t)
if image == 'oai-gnb-aerial': if image == 'oai-gnb-aerial':
cmd.run('rm -f nvipc.src.2025.05.20.tar.gz') cmd.run('rm -f nvipc.src.2025.05.20.tar.gz')
if image == 'ran-build' or image == 'ran-build-asan' or image == 'ran-build-fhi72':
cmd.run(f"docker run --name test-log -d {name}:{imageTag} /bin/true")
logfile = f'{lSourcePath}/{image}.ninja.log'
cmd.run(f"docker cp test-log:/oai-ran/cmake_targets/log/all.txt {logfile}")
cmd.run(f"docker rm -f test-log")
archiveArtifact(cmd, ctx, logfile)
# check the status of the build # check the status of the build
ret = cmd.run(f"{self.cli} image inspect --format=\'Size = {{{{.Size}}}} bytes\' {name}:{imageTag}") ret = cmd.run(f"{self.cli} image inspect --format=\'Size = {{{{.Size}}}} bytes\' {name}:{imageTag}")
if ret.returncode != 0: if ret.returncode != 0:
@@ -480,25 +432,23 @@ class Containerize():
cmd.close() cmd.close()
# Analyze the logs # Analyze the logs
collectInfo = AnalyzeBuildLogs(log_files, status) for name, lf in log_files:
ret = AnalyzeBuildLogs(name, lf)
imgStatus = ret['status']
msg = f"size {allImagesSize[name]}, analysis of {os.path.basename(lf)}: {ret['errors']} errors, {ret['warnings']} warnings"
HTML.CreateHtmlTestRowQueue(name, 'OK' if imgStatus else 'KO', [msg])
status = status and imgStatus
if status: if status:
logging.info('\u001B[1m Building OAI Image(s) Pass\u001B[0m') logging.info('\u001B[1m Building OAI Image(s) Pass\u001B[0m')
HTML.CreateHtmlTestRow(self.imageKind, 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlNextTabHeaderTestRow(collectInfo, allImagesSize)
return True
else: else:
logging.error('\u001B[1m Building OAI Images Failed\u001B[0m') logging.error('\u001B[1m Building OAI Images Failed\u001B[0m')
HTML.CreateHtmlTestRow(self.imageKind, 'KO', CONST.ALL_PROCESSES_OK) return status
HTML.CreateHtmlNextTabHeaderTestRow(collectInfo, allImagesSize)
HTML.CreateHtmlTabFooter(False)
return False
def BuildProxy(self, ctx, HTML): def BuildProxy(self, ctx, node, HTML):
svr = self.eNB_serverId[self.eNB_instance] lSourcePath = self.eNBSourceCodePath
lIpAddr, lSourcePath = self.GetCredentials(svr) logging.debug('Building on server: ' + node)
logging.debug('Building on server: ' + lIpAddr) ssh = cls_cmd.getConnection(node)
ssh = cls_cmd.getConnection(lIpAddr)
oldRanCommidID = self.ranCommitID oldRanCommidID = self.ranCommitID
oldRanRepository = self.ranRepository oldRanRepository = self.ranRepository
@@ -521,7 +471,7 @@ class Containerize():
buildProxy = ret.returncode != 0 # if no image, build new proxy buildProxy = ret.returncode != 0 # if no image, build new proxy
if buildProxy: if buildProxy:
ssh.run(f'rm -Rf {lSourcePath}') ssh.run(f'rm -Rf {lSourcePath}')
success = CreateWorkspace(lIpAddr, lSourcePath, self.ranRepository, self.ranCommitID, self.ranTargetBranch, self.ranAllowMerge) success = CreateWorkspace(node, lSourcePath, self.ranRepository, self.ranCommitID, self.ranTargetBranch, self.ranAllowMerge)
if not success: if not success:
raise Exception("could not clone proxy repository") raise Exception("could not clone proxy repository")
@@ -557,16 +507,6 @@ class Containerize():
self.ranAllowMerge = oldRanAllowMerge self.ranAllowMerge = oldRanAllowMerge
self.ranTargetBranch = oldRanTargetBranch self.ranTargetBranch = oldRanTargetBranch
# we do not analyze the logs (we assume the proxy builds fine at this stage),
# but need to have the following information to correctly display the HTML
files = {}
errorandwarnings = {}
errorandwarnings['errors'] = 0
errorandwarnings['warnings'] = 0
errorandwarnings['status'] = True
files['Target Image Creation'] = errorandwarnings
collectInfo = {}
collectInfo['proxy'] = files
ret = ssh.run(f'docker image inspect --format=\'Size = {{{{.Size}}}} bytes\' proxy:{tag}') ret = ssh.run(f'docker image inspect --format=\'Size = {{{{.Size}}}} bytes\' proxy:{tag}')
result = re.search(r'Size *= *(?P<size>[0-9\-]+) *bytes', ret.stdout) result = re.search(r'Size *= *(?P<size>[0-9\-]+) *bytes', ret.stdout)
# Cleaning any created tmp volume # Cleaning any created tmp volume
@@ -580,21 +520,18 @@ class Containerize():
allImagesSize['proxy'] = str(round(imageSize,1)) + ' Mbytes' allImagesSize['proxy'] = str(round(imageSize,1)) + ' Mbytes'
logging.info('\u001B[1m Building L2sim Proxy Image Pass\u001B[0m') logging.info('\u001B[1m Building L2sim Proxy Image Pass\u001B[0m')
HTML.CreateHtmlTestRow('commit ' + tag, 'OK', CONST.ALL_PROCESSES_OK) HTML.CreateHtmlTestRow('commit ' + tag, 'OK', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlNextTabHeaderTestRow(collectInfo, allImagesSize)
return True return True
else: else:
logging.error('proxy size is unknown') logging.error('proxy size is unknown')
allImagesSize['proxy'] = 'unknown' allImagesSize['proxy'] = 'unknown'
logging.error('\u001B[1m Build of L2sim proxy failed\u001B[0m') logging.error('\u001B[1m Build of L2sim proxy failed\u001B[0m')
HTML.CreateHtmlTestRow('commit ' + tag, 'KO', CONST.ALL_PROCESSES_OK) HTML.CreateHtmlTestRow('commit ' + tag, 'KO', CONST.ALL_PROCESSES_OK)
HTML.CreateHtmlTabFooter(False)
return False return False
def BuildRunTests(self, ctx, HTML): def BuildRunTests(self, ctx, node, HTML):
svr = self.eNB_serverId[self.eNB_instance] lSourcePath = self.eNBSourceCodePath
lIpAddr, lSourcePath = self.GetCredentials(svr) logging.debug('Building on server: ' + node)
logging.debug('Building on server: ' + lIpAddr) cmd = cls_cmd.RemoteCmd(node)
cmd = cls_cmd.RemoteCmd(lIpAddr)
cmd.cd(lSourcePath) cmd.cd(lSourcePath)
ret = cmd.run('hostnamectl') ret = cmd.run('hostnamectl')
@@ -605,9 +542,6 @@ class Containerize():
raise Exception("Can build unit tests only on Ubuntu server") raise Exception("Can build unit tests only on Ubuntu server")
logging.debug('running on Ubuntu as expected') logging.debug('running on Ubuntu as expected')
if self.forcedWorkspaceCleanup:
cmd.run(f'sudo -S rm -Rf {lSourcePath}')
# check that ran-base image exists as we expect it # check that ran-base image exists as we expect it
baseImage = 'ran-base' baseImage = 'ran-base'
baseTag = 'develop' baseTag = 'develop'
@@ -658,10 +592,10 @@ class Containerize():
HTML.CreateHtmlTabFooter(False) HTML.CreateHtmlTabFooter(False)
return False return False
def Push_Image_to_Local_Registry(self, HTML, svr_id, tag_prefix=""): def Push_Image_to_Local_Registry(self, node, HTML, tag_prefix=""):
lIpAddr, lSourcePath = self.GetCredentials(svr_id) lSourcePath = self.eNBSourceCodePath
logging.debug('Pushing images to server: ' + lIpAddr) logging.debug('Pushing images to server: ' + node)
ssh = cls_cmd.getConnection(lIpAddr) ssh = cls_cmd.getConnection(node)
imagePrefix = 'porcepix.sboai.cs.eurecom.fr' imagePrefix = 'porcepix.sboai.cs.eurecom.fr'
ret = ssh.run(f'docker login -u oaicicd -p oaicicd {imagePrefix}') ret = ssh.run(f'docker login -u oaicicd -p oaicicd {imagePrefix}')
if ret.returncode != 0: if ret.returncode != 0:
@@ -733,28 +667,26 @@ class Containerize():
msg = "Pulled Images:\n" + '\n'.join(pulled_images) msg = "Pulled Images:\n" + '\n'.join(pulled_images)
return True, msg return True, msg
def Pull_Image_from_Registry(self, HTML, svr_id, images, tag=None, tag_prefix="", registry="porcepix.sboai.cs.eurecom.fr", username="oaicicd", password="oaicicd"): def Pull_Image_from_Registry(self, HTML, node, images, tag=None, tag_prefix="", registry="porcepix.sboai.cs.eurecom.fr", username="oaicicd", password="oaicicd"):
lIpAddr, lSourcePath = self.GetCredentials(svr_id) logging.debug(f'\u001B[1m Pulling image(s) on server: {node}\u001B[0m')
logging.debug('\u001B[1m Pulling image(s) on server: ' + lIpAddr + '\u001B[0m')
if not tag: if not tag:
tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge)
with cls_cmd.getConnection(lIpAddr) as cmd: with cls_cmd.getConnection(node) as cmd:
success, msg = Containerize.Pull_Image(cmd, images, tag, tag_prefix, registry, username, password) success, msg = Containerize.Pull_Image(cmd, images, tag, tag_prefix, registry, username, password)
param = f"on node {lIpAddr}" param = f"on node {node}"
if success: if success:
HTML.CreateHtmlTestRowQueue(param, 'OK', [msg]) HTML.CreateHtmlTestRowQueue(param, 'OK', [msg])
else: else:
HTML.CreateHtmlTestRowQueue(param, 'KO', [msg]) HTML.CreateHtmlTestRowQueue(param, 'KO', [msg])
return success return success
def Clean_Test_Server_Images(self, HTML, svr_id, images, tag=None): def Clean_Test_Server_Images(self, HTML, node, images, tag=None):
lIpAddr, lSourcePath = self.GetCredentials(svr_id) logging.debug(f'\u001B[1m Cleaning image(s) from server: {node}\u001B[0m')
logging.debug(f'\u001B[1m Cleaning image(s) from server: {lIpAddr}\u001B[0m')
if not tag: if not tag:
tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge) tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge)
status = True status = True
with cls_cmd.getConnection(lIpAddr) as myCmd: with cls_cmd.getConnection(node) as myCmd:
removed_images = [] removed_images = []
for image in images: for image in images:
fullImage = f"oai-ci/{image}:{tag}" fullImage = f"oai-ci/{image}:{tag}"
@@ -765,30 +697,28 @@ class Containerize():
msg = "Removed Images:\n" + '\n'.join(removed_images) msg = "Removed Images:\n" + '\n'.join(removed_images)
s = 'OK' if status else 'KO' s = 'OK' if status else 'KO'
param = f"on node {lIpAddr}" param = f"on node {node}"
HTML.CreateHtmlTestRowQueue(param, s, [msg]) HTML.CreateHtmlTestRowQueue(param, s, [msg])
return status return status
def Create_Workspace(self,HTML): def Create_Workspace(self, node, HTML):
svr = self.eNB_serverId[self.eNB_instance] lSourcePath = self.eNBSourceCodePath
lIpAddr, lSourcePath = self.GetCredentials(svr) success = CreateWorkspace(node, lSourcePath, self.ranRepository, self.ranCommitID, self.ranTargetBranch, self.ranAllowMerge)
success = CreateWorkspace(lIpAddr, lSourcePath, self.ranRepository, self.ranCommitID, self.ranTargetBranch, self.ranAllowMerge)
if success: if success:
HTML.CreateHtmlTestRowQueue('N/A', 'OK', [f"created workspace {lSourcePath}"]) HTML.CreateHtmlTestRowQueue('N/A', 'OK', [f"created workspace {lSourcePath}"])
else: else:
HTML.CreateHtmlTestRowQueue('N/A', 'KO', ["cannot create workspace"]) HTML.CreateHtmlTestRowQueue('N/A', 'KO', ["cannot create workspace"])
return success return success
def DeployObject(self, ctx, HTML): def DeployObject(self, ctx, node, HTML):
svr = self.eNB_serverId[self.eNB_instance]
num_attempts = self.num_attempts num_attempts = self.num_attempts
lIpAddr, lSourcePath = self.GetCredentials(svr) lSourcePath = self.eNBSourceCodePath
logging.debug(f'Deploying OAI Object on server: {lIpAddr}') logging.debug(f'Deploying OAI Object on server: {node}')
yaml = self.yamlPath[self.eNB_instance].strip('/') yaml = self.yamlPath.strip('/')
wd = f'{lSourcePath}/{yaml}' wd = f'{lSourcePath}/{yaml}'
wd_yaml = f'{wd}/docker-compose.y*ml' wd_yaml = f'{wd}/docker-compose.y*ml'
with cls_cmd.getConnection(lIpAddr) as ssh: with cls_cmd.getConnection(node) as ssh:
services = GetServices(ssh, self.services[self.eNB_instance], wd_yaml) services = GetServices(ssh, self.services, wd_yaml)
if services == [] or services == ' ' or services == None: if services == [] or services == ' ' or services == None:
msg = 'Cannot determine services to start' msg = 'Cannot determine services to start'
logging.error(msg) logging.error(msg)
@@ -823,13 +753,12 @@ class Containerize():
HTML.CreateHtmlTestRowQueue('N/A', 'KO', ['\n'.join(imagesInfo)]) HTML.CreateHtmlTestRowQueue('N/A', 'KO', ['\n'.join(imagesInfo)])
return deployed return deployed
def UndeployObject(self, ctx, HTML, RAN): def UndeployObject(self, ctx, node, HTML, RAN):
svr = self.eNB_serverId[self.eNB_instance] lSourcePath = self.eNBSourceCodePath
lIpAddr, lSourcePath = self.GetCredentials(svr) logging.debug(f'\u001B[1m Undeploying OAI Object from server: {node}\u001B[0m')
logging.debug(f'\u001B[1m Undeploying OAI Object from server: {lIpAddr}\u001B[0m') yaml = self.yamlPath.strip('/')
yaml = self.yamlPath[self.eNB_instance].strip('/')
wd = f'{lSourcePath}/{yaml}' wd = f'{lSourcePath}/{yaml}'
with cls_cmd.getConnection(lIpAddr) as ssh: with cls_cmd.getConnection(node) as ssh:
ExistEnvFilePrint(ssh, wd) ExistEnvFilePrint(ssh, wd)
services = GetRunningServices(ssh, f"{wd}/docker-compose.y*ml") services = GetRunningServices(ssh, f"{wd}/docker-compose.y*ml")
copyin_res = None copyin_res = None
+5 -5
View File
@@ -34,16 +34,16 @@ DPDK_PATH = '/opt/dpdk-t2-22.11.0'
class Native(): class Native():
def Build(ctx, test_case, HTML, host, directory, options): def Build(ctx, node, test_case, HTML, directory, options):
logging.debug(f'Building on server: {host}') logging.debug(f'Building on server: {node}')
HTML.testCase_id = test_case HTML.testCase_id = test_case
with cls_cmd.getConnection(host) as ssh: with cls_cmd.getConnection(node) as ssh:
base = f"{directory}/cmake_targets" base = f"{directory}/cmake_targets"
ret = ssh.run(f"C_INCLUDE_PATH={DPDK_PATH}/include/ PKG_CONFIG_PATH={DPDK_PATH}/lib64/pkgconfig/ {base}/build_oai {options} > {base}/build_oai.log", timeout=900) ret = ssh.run(f"C_INCLUDE_PATH={DPDK_PATH}/include/ PKG_CONFIG_PATH={DPDK_PATH}/lib64/pkgconfig/ {base}/build_oai {options} > {base}/build_oai.log", timeout=900)
success = ret.returncode == 0 success = ret.returncode == 0
logs = ssh.run(f"cat {base}/build_oai.log", silent=True) logs = ssh.run(f"cat {base}/build_oai.log", silent=True)
logging.debug(f"build finished with code {ret.returncode}, output:\n{logs.stdout}") logging.debug(f"build finished with code {ret.returncode}")
archiveArtifact(ssh, ctx, f'{base}/build_oai.log') archiveArtifact(ssh, ctx, f'{base}/build_oai.log')
@@ -70,7 +70,7 @@ class Native():
workSpacePath = f'{directory}/cmake_targets' workSpacePath = f'{directory}/cmake_targets'
runLogFile=f'{workSpacePath}/physim.log' runLogFile=f'{workSpacePath}/physim.log'
with cls_cmd.getConnection(host) as cmd: with cls_cmd.getConnection(host) as cmd:
cmd.run(f'sudo LD_LIBRARY_PATH=.:{DPDK_PATH}/lib64/ {workSpacePath}/ran_build/build/{physim_test} {options} >> {runLogFile}') cmd.run(f'sudo LD_LIBRARY_PATH=.:{DPDK_PATH}/lib64/ {workSpacePath}/ran_build/build/{physim_test} {options} > {runLogFile} 2>&1')
physim_file = archiveArtifact(cmd, ctx, runLogFile) physim_file = archiveArtifact(cmd, ctx, runLogFile)
success, msg = cls_analysis.Analysis.analyze_physim(physim_file, physim_test, options, threshold) success, msg = cls_analysis.Analysis.analyze_physim(physim_file, physim_test, options, threshold)
if success: if success:
-62
View File
@@ -70,16 +70,6 @@ class HTMLManagement():
self.testCase_id = '' self.testCase_id = ''
self.desc = '' self.desc = ''
self.OsVersion = ['', '']
self.KernelVersion = ['', '']
self.UhdVersion = ['', '']
self.UsrpBoard = ['', '']
self.CpuNb = ['', '']
self.CpuModel = ['', '']
self.CpuMHz = ['', '']
#----------------------------------------------------------- #-----------------------------------------------------------
# HTML structure creation functions # HTML structure creation functions
#----------------------------------------------------------- #-----------------------------------------------------------
@@ -342,58 +332,6 @@ class HTMLManagement():
self.htmlFile.write(' </tr>\n') self.htmlFile.write(' </tr>\n')
self.htmlFile.close() self.htmlFile.close()
def CreateHtmlNextTabHeaderTestRow(self, collectInfo, allImagesSize, machine='eNB'):
if (self.htmlFooterCreated or (not self.htmlHeaderCreated)):
return
self.htmlFile = open('test_results.html', 'a')
if bool(collectInfo) == False:
self.htmlFile.write(' <tr bgcolor = "red" >\n')
self.htmlFile.write(' <td colspan="6"><b> ----IMAGES BUILDING FAILED - Unable to recover the image logs ---- </b></td>\n')
self.htmlFile.write(' </tr>\n')
else:
for image in collectInfo:
files = collectInfo[image]
# TabHeader for image logs on built shared and target images
if allImagesSize[image].count('unknown') > 0:
self.htmlFile.write(' <tr bgcolor = "orange" >\n')
elif allImagesSize[image].count('Build Failed') > 0:
self.htmlFile.write(' <tr bgcolor = "red" >\n')
else:
self.htmlFile.write(' <tr bgcolor = "#F0F0F0" >\n')
self.htmlFile.write(' <td colspan="6"><b> ---- ' + image + ' IMAGE STATUS ----> Size ' + allImagesSize[image] + ' </b></td>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.write(' <tr bgcolor = "#33CCFF" >\n')
self.htmlFile.write(' <th colspan="2">Element</th>\n')
self.htmlFile.write(' <th>Nb Errors</th>\n')
self.htmlFile.write(' <th>Nb Warnings</th>\n')
self.htmlFile.write(' <th colspan="2">Status</th>\n')
self.htmlFile.write(' </tr>\n')
for fil in files:
parameters = files[fil]
# TestRow for image logs on built shared and target images
self.htmlFile.write(' <tr>\n')
self.htmlFile.write(' <td colspan="2" bgcolor = "lightcyan" >' + fil + ' </td>\n')
if (parameters['errors'] == 0):
self.htmlFile.write(' <td bgcolor = "green" >' + str(parameters['errors']) + '</td>\n')
else:
self.htmlFile.write(' <td bgcolor = "red" >' + str(parameters['errors']) + '</td>\n')
if (parameters['errors'] > 0):
self.htmlFile.write(' <td bgcolor = "red" >' + str(parameters['warnings']) + '</td>\n')
elif (parameters['warnings'] == 0):
self.htmlFile.write(' <td bgcolor = "green" >' + str(parameters['warnings']) + '</td>\n')
else:
self.htmlFile.write(' <td bgcolor = "orange" >' + str(parameters['warnings']) + '</td>\n')
if (parameters['errors'] == 0) and (parameters['warnings'] == 0):
self.htmlFile.write(' <th colspan="2" bgcolor = "green" ><font color="white">OK </font></th>\n')
elif (parameters['errors'] == 0):
self.htmlFile.write(' <th colspan="2" bgcolor = "orange" ><font color="white">OK </font></th>\n')
else:
self.htmlFile.write(' <th colspan="2" bgcolor = "red" > NOT OK </th>\n')
self.htmlFile.write(' </tr>\n')
self.htmlFile.close()
#for the moment it is limited to 4 columns, to be made generic later #for the moment it is limited to 4 columns, to be made generic later
def CreateHtmlDataLogTable(self, DataLog): def CreateHtmlDataLogTable(self, DataLog):
if (self.htmlFooterCreated or (not self.htmlHeaderCreated)): if (self.htmlFooterCreated or (not self.htmlHeaderCreated)):
+1
View File
@@ -244,6 +244,7 @@ def Custom_Script(HTML, node, script):
return status == 'OK' or status == 'Warning' return status == 'OK' or status == 'Warning'
def IdleSleep(HTML, idle_sleep_time): def IdleSleep(HTML, idle_sleep_time):
logging.debug(f"sleep for {idle_sleep_time} seconds")
time.sleep(idle_sleep_time) time.sleep(idle_sleep_time)
HTML.CreateHtmlTestRow(f"{idle_sleep_time} sec", 'OK', CONST.ALL_PROCESSES_OK) HTML.CreateHtmlTestRow(f"{idle_sleep_time} sec", 'OK', CONST.ALL_PROCESSES_OK)
return True return True
+10 -21
View File
@@ -76,25 +76,18 @@ class StaticCodeAnalysis():
self.ranAllowMerge = False self.ranAllowMerge = False
self.ranCommitID = '' self.ranCommitID = ''
self.ranTargetBranch = '' self.ranTargetBranch = ''
self.eNBIPAddress = ''
self.eNBUserName = ''
self.eNBPassword = ''
self.eNBSourceCodePath = '' self.eNBSourceCodePath = ''
def CppCheckAnalysis(self, ctx, HTML): def CppCheckAnalysis(self, ctx, node, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '': if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version) HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter') sys.exit('Insufficient Parameter')
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath lSourcePath = self.eNBSourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '': if not lSourcePath or not node:
HELP.GenericHelp(CONST.Version) raise ValueError(f"{lSourcePath=} {node=}")
sys.exit('Insufficient Parameter') logging.debug('Building on server: ' + node)
logging.debug('Building on server: ' + lIpAddr) cmd = cls_cmd.getConnection(node)
cmd = cls_cmd.getConnection(lIpAddr)
self.testCase_id = HTML.testCase_id self.testCase_id = HTML.testCase_id
# on RedHat/CentOS .git extension is mandatory # on RedHat/CentOS .git extension is mandatory
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository) result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository)
@@ -184,20 +177,16 @@ class StaticCodeAnalysis():
return True return True
def LicenceAndFormattingCheck(self, ctx, HTML): def LicenceAndFormattingCheck(self, ctx, node, HTML):
# Workspace is no longer recreated from scratch. # Workspace is no longer recreated from scratch.
# It implies that this method shall be called last within a build pipeline # It implies that this method shall be called last within a build pipeline
# where workspace is already created # where workspace is already created
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath lSourcePath = self.eNBSourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '': if not node or not lSourcePath:
HELP.GenericHelp(CONST.Version) raise ValueError(f"{lSourcePath=} {node=}")
sys.exit('Insufficient Parameter') logging.debug('Building on server: ' + node)
logging.debug('Building on server: ' + lIpAddr) cmd = cls_cmd.getConnection(node)
cmd = cls_cmd.getConnection(lIpAddr)
self.testCase_id = HTML.testCase_id self.testCase_id = HTML.testCase_id
check_options = '' check_options = ''
+1 -4
View File
@@ -52,10 +52,7 @@ def GitSrvHelp(repository,branch,commit,mergeallow,targetbranch):
print(' --ranAllowMerge=[Allow Merge Request (with target branch) (true or false)] -- ' + mergeallow) print(' --ranAllowMerge=[Allow Merge Request (with target branch) (true or false)] -- ' + mergeallow)
print(' --ranTargetBranch=[Target Branch in case of a Merge Request] -- ' + targetbranch) print(' --ranTargetBranch=[Target Branch in case of a Merge Request] -- ' + targetbranch)
def eNBSrvHelp(ipaddr, username, password, sourcepath): def eNBSrvHelp(sourcepath):
print(' --eNBIPAddress=[eNB\'s IP Address] -- ' + ipaddr)
print(' --eNBUserName=[eNB\'s Login User Name] -- ' + username)
print(' --eNBPassword=[eNB\'s Login Password] -- ' + password)
print(' --eNBSourceCodePath=[eNB\'s Source Code Path] -- ' + sourcepath) print(' --eNBSourceCodePath=[eNB\'s Source Code Path] -- ' + sourcepath)
def XmlHelp(filename): def XmlHelp(filename):
+39 -102
View File
@@ -102,98 +102,46 @@ def ExecuteActionWithParam(action, ctx):
if action == 'Build_eNB' or action == 'Build_Image' or action == 'Build_Proxy' or action == "Build_Cluster_Image" or action == "Build_Run_Tests": if action == 'Build_eNB' or action == 'Build_Image' or action == 'Build_Proxy' or action == "Build_Cluster_Image" or action == "Build_Run_Tests":
RAN.Build_eNB_args=test.findtext('Build_eNB_args') RAN.Build_eNB_args=test.findtext('Build_eNB_args')
CONTAINERS.imageKind=test.findtext('kind') CONTAINERS.imageKind=test.findtext('kind')
forced_workspace_cleanup = test.findtext('forced_workspace_cleanup') node = test.findtext('node')
RAN.Build_eNB_forced_workspace_cleanup=False
CONTAINERS.forcedWorkspaceCleanup=False
CLUSTER.forcedWorkspaceCleanup = False
if forced_workspace_cleanup is not None and re.match('true', forced_workspace_cleanup, re.IGNORECASE):
RAN.Build_eNB_forced_workspace_cleanup = True
CONTAINERS.forcedWorkspaceCleanup = True
CLUSTER.forcedWorkspaceCleanup = True
eNB_instance=test.findtext('eNB_instance')
if (eNB_instance is None):
RAN.eNB_instance=0
CONTAINERS.eNB_instance=0
else:
RAN.eNB_instance=int(eNB_instance)
CONTAINERS.eNB_instance=int(eNB_instance)
eNB_serverId=test.findtext('eNB_serverId')
if (eNB_serverId is None):
RAN.eNB_serverId[RAN.eNB_instance]='0'
CONTAINERS.eNB_serverId[RAN.eNB_instance]='0'
else:
RAN.eNB_serverId[RAN.eNB_instance]=eNB_serverId
CONTAINERS.eNB_serverId[CONTAINERS.eNB_instance]=eNB_serverId
xmlBgBuildField = test.findtext('backgroundBuild')
if (xmlBgBuildField is None):
RAN.backgroundBuild=False
else:
if re.match('true', xmlBgBuildField, re.IGNORECASE):
RAN.backgroundBuild=True
else:
RAN.backgroundBuild=False
proxy_commit = test.findtext('proxy_commit') proxy_commit = test.findtext('proxy_commit')
if proxy_commit is not None: if proxy_commit is not None:
CONTAINERS.proxyCommit = proxy_commit CONTAINERS.proxyCommit = proxy_commit
if action == 'Build_eNB': if action == 'Build_eNB':
success = cls_native.Native.Build(ctx, HTML.testCase_id, HTML, RAN.eNBIPAddress, RAN.eNBSourceCodePath, RAN.Build_eNB_args) success = cls_native.Native.Build(ctx, node, HTML.testCase_id, HTML, RAN.eNBSourceCodePath, RAN.Build_eNB_args)
elif action == 'Build_Image': elif action == 'Build_Image':
success = CONTAINERS.BuildImage(ctx, HTML) success = CONTAINERS.BuildImage(ctx, node, HTML)
elif action == 'Build_Proxy': elif action == 'Build_Proxy':
success = CONTAINERS.BuildProxy(ctx, HTML) success = CONTAINERS.BuildProxy(ctx, node, HTML)
elif action == 'Build_Cluster_Image': elif action == 'Build_Cluster_Image':
success = CLUSTER.BuildClusterImage(ctx, HTML) success = CLUSTER.BuildClusterImage(ctx, node, HTML)
elif action == 'Build_Run_Tests': elif action == 'Build_Run_Tests':
success = CONTAINERS.BuildRunTests(ctx, HTML) success = CONTAINERS.BuildRunTests(ctx, node, HTML)
elif action == 'Initialize_eNB': elif action == 'Initialize_eNB':
node = test.findtext('node')
datalog_rt_stats_file=test.findtext('rt_stats_cfg') datalog_rt_stats_file=test.findtext('rt_stats_cfg')
if datalog_rt_stats_file is None: if datalog_rt_stats_file is None:
RAN.datalog_rt_stats_file='datalog_rt_stats.default.yaml' RAN.datalog_rt_stats_file='datalog_rt_stats.default.yaml'
else: else:
RAN.datalog_rt_stats_file=datalog_rt_stats_file RAN.datalog_rt_stats_file=datalog_rt_stats_file
RAN.Initialize_eNB_args=test.findtext('Initialize_eNB_args') RAN.Initialize_eNB_args=test.findtext('Initialize_eNB_args')
eNB_instance=test.findtext('eNB_instance') USRPIPAddress = test.findtext('USRP_IPAddress') or ''
USRPIPAddress=test.findtext('USRP_IPAddress')
if USRPIPAddress is None:
RAN.USRPIPAddress=''
else:
RAN.USRPIPAddress=USRPIPAddress
if (eNB_instance is None):
RAN.eNB_instance=0
else:
RAN.eNB_instance=int(eNB_instance)
eNB_serverId=test.findtext('eNB_serverId')
if (eNB_serverId is None):
RAN.eNB_serverId[RAN.eNB_instance]='0'
else:
RAN.eNB_serverId[RAN.eNB_instance]=eNB_serverId
#local variable air_interface #local variable air_interface
air_interface = test.findtext('air_interface') air_interface = test.findtext('air_interface')
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']): if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem' RAN.air_interface = 'lte-softmodem'
else: else:
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem' RAN.air_interface = air_interface.lower() +'-softmodem'
cmd_prefix = test.findtext('cmd_prefix') cmd_prefix = test.findtext('cmd_prefix')
if cmd_prefix is not None: RAN.cmd_prefix = cmd_prefix if cmd_prefix is not None: RAN.cmd_prefix = cmd_prefix
success = RAN.InitializeeNB(HTML) success = RAN.InitializeeNB(ctx, node, HTML)
elif action == 'Terminate_eNB': elif action == 'Terminate_eNB':
eNB_instance=test.findtext('eNB_instance') node = test.findtext('node')
if (eNB_instance is None):
RAN.eNB_instance=0
else:
RAN.eNB_instance=int(eNB_instance)
eNB_serverId=test.findtext('eNB_serverId')
if (eNB_serverId is None):
RAN.eNB_serverId[RAN.eNB_instance]='0'
else:
RAN.eNB_serverId[RAN.eNB_instance]=eNB_serverId
#retx checkers #retx checkers
string_field=test.findtext('d_retx_th') string_field = test.findtext('d_retx_th')
if (string_field is not None): if (string_field is not None):
RAN.ran_checkers['d_retx_th'] = [float(x) for x in string_field.split(',')] RAN.ran_checkers['d_retx_th'] = [float(x) for x in string_field.split(',')]
string_field=test.findtext('u_retx_th') string_field=test.findtext('u_retx_th')
@@ -203,10 +151,10 @@ def ExecuteActionWithParam(action, ctx):
#local variable air_interface #local variable air_interface
air_interface = test.findtext('air_interface') air_interface = test.findtext('air_interface')
if (air_interface is None) or (air_interface.lower() not in ['nr','lte']): if (air_interface is None) or (air_interface.lower() not in ['nr','lte']):
RAN.air_interface[RAN.eNB_instance] = 'lte-softmodem' RAN.air_interface = 'lte-softmodem'
else: else:
RAN.air_interface[RAN.eNB_instance] = air_interface.lower() +'-softmodem' RAN.air_interface = air_interface.lower() +'-softmodem'
success = RAN.TerminateeNB(ctx, HTML) success = RAN.TerminateeNB(ctx, node, HTML)
elif action == 'Initialize_UE' or action == 'Attach_UE' or action == 'Detach_UE' or action == 'Terminate_UE' or action == 'CheckStatusUE' or action == 'DataEnable_UE' or action == 'DataDisable_UE': elif action == 'Initialize_UE' or action == 'Attach_UE' or action == 'Detach_UE' or action == 'Terminate_UE' or action == 'CheckStatusUE' or action == 'DataEnable_UE' or action == 'DataDisable_UE':
CiTestObj.ue_ids = test.findtext('id').split(' ') CiTestObj.ue_ids = test.findtext('id').split(' ')
@@ -296,8 +244,8 @@ def ExecuteActionWithParam(action, ctx):
elif action == 'Deploy_Run_PhySim': elif action == 'Deploy_Run_PhySim':
oc_release = test.findtext('oc_release') oc_release = test.findtext('oc_release')
svr_id = test.findtext('svr_id') or None node = test.findtext('node') or None
success = CLUSTER.deploy_oc_physim(ctx, HTML, oc_release, svr_id) success = CLUSTER.deploy_oc_physim(ctx, HTML, oc_release, node)
elif action == 'DeployCoreNetwork' or action == 'UndeployCoreNetwork': elif action == 'DeployCoreNetwork' or action == 'UndeployCoreNetwork':
cn_id = test.findtext('cn_id') cn_id = test.findtext('cn_id')
@@ -305,62 +253,52 @@ def ExecuteActionWithParam(action, ctx):
success = core_op(cn_id, ctx, HTML) success = core_op(cn_id, ctx, HTML)
elif action == 'Deploy_Object' or action == 'Undeploy_Object' or action == "Create_Workspace": elif action == 'Deploy_Object' or action == 'Undeploy_Object' or action == "Create_Workspace":
eNB_instance=test.findtext('eNB_instance') node = test.findtext('node')
if (eNB_instance is None): CONTAINERS.yamlPath = test.findtext('yaml_path')
CONTAINERS.eNB_instance=0
else:
CONTAINERS.eNB_instance=int(eNB_instance)
eNB_serverId=test.findtext('eNB_serverId')
if (eNB_serverId is None):
CONTAINERS.eNB_serverId[CONTAINERS.eNB_instance]='0'
else:
CONTAINERS.eNB_serverId[CONTAINERS.eNB_instance]=eNB_serverId
string_field = test.findtext('yaml_path')
if (string_field is not None):
CONTAINERS.yamlPath[CONTAINERS.eNB_instance] = string_field
string_field=test.findtext('d_retx_th') string_field=test.findtext('d_retx_th')
if (string_field is not None): if (string_field is not None):
CONTAINERS.ran_checkers['d_retx_th'] = [float(x) for x in string_field.split(',')] CONTAINERS.ran_checkers['d_retx_th'] = [float(x) for x in string_field.split(',')]
string_field=test.findtext('u_retx_th') string_field=test.findtext('u_retx_th')
if (string_field is not None): if (string_field is not None):
CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')] CONTAINERS.ran_checkers['u_retx_th'] = [float(x) for x in string_field.split(',')]
string_field = test.findtext('services') CONTAINERS.services = test.findtext('services')
if string_field is not None:
CONTAINERS.services[CONTAINERS.eNB_instance] = string_field
CONTAINERS.num_attempts = int(test.findtext('num_attempts') or 1) CONTAINERS.num_attempts = int(test.findtext('num_attempts') or 1)
CONTAINERS.deploymentTag = cls_containerize.CreateTag(CONTAINERS.ranCommitID, CONTAINERS.ranBranch, CONTAINERS.ranAllowMerge) CONTAINERS.deploymentTag = cls_containerize.CreateTag(CONTAINERS.ranCommitID, CONTAINERS.ranBranch, CONTAINERS.ranAllowMerge)
if action == 'Deploy_Object': if action == 'Deploy_Object':
success = CONTAINERS.DeployObject(ctx, HTML) success = CONTAINERS.DeployObject(ctx, node, HTML)
elif action == 'Undeploy_Object': elif action == 'Undeploy_Object':
success = CONTAINERS.UndeployObject(ctx, HTML, RAN) success = CONTAINERS.UndeployObject(ctx, node, HTML, RAN)
elif action == 'Create_Workspace': elif action == 'Create_Workspace':
if force_local: if force_local:
# Do not create a working directory when running locally. Current repo directory will be used # Do not create a working directory when running locally. Current repo directory will be used
return True return True
success = CONTAINERS.Create_Workspace(HTML) success = CONTAINERS.Create_Workspace(node, HTML)
elif action == 'Run_Physim': elif action == 'Run_Physim':
physim_options = test.findtext('physim_run_args') physim_options = test.findtext('physim_run_args')
physim_test = test.findtext('physim_test') physim_test = test.findtext('physim_test')
physim_threshold = test.findtext('physim_time_threshold') or 'inf' physim_threshold = test.findtext('physim_time_threshold') or 'inf'
success = cls_native.Native.Run_Physim(ctx, HTML, RAN.eNBIPAddress, RAN.eNBSourceCodePath, physim_options, physim_test, physim_threshold) node = test.findtext('node')
success = cls_native.Native.Run_Physim(ctx, HTML, node, RAN.eNBSourceCodePath, physim_options, physim_test, physim_threshold)
elif action == 'LicenceAndFormattingCheck': elif action == 'LicenceAndFormattingCheck':
success = SCA.LicenceAndFormattingCheck(ctx, HTML) node = test.findtext('node')
success = SCA.LicenceAndFormattingCheck(ctx, node, HTML)
elif action == 'Cppcheck_Analysis': elif action == 'Cppcheck_Analysis':
success = SCA.CppCheckAnalysis(ctx, HTML) node = test.findtext('node')
success = SCA.CppCheckAnalysis(ctx, node, HTML)
elif action == 'Push_Local_Registry': elif action == 'Push_Local_Registry':
svr_id = test.findtext('svr_id') node = test.findtext('node')
tag_prefix = test.findtext('tag_prefix') or "" tag_prefix = test.findtext('tag_prefix') or ""
success = CONTAINERS.Push_Image_to_Local_Registry(HTML, svr_id, tag_prefix) success = CONTAINERS.Push_Image_to_Local_Registry(node, HTML, tag_prefix)
elif action == 'Pull_Local_Registry' or action == 'Clean_Test_Server_Images': elif action == 'Pull_Local_Registry' or action == 'Clean_Test_Server_Images':
if force_local: if force_local:
# Do not pull or remove images when running locally. User is supposed to handle image creation & cleanup # Do not pull or remove images when running locally. User is supposed to handle image creation & cleanup
return True return True
svr_id = test.findtext('svr_id') node = test.findtext('node')
tag_prefix = test.findtext('tag_prefix') or "" tag_prefix = test.findtext('tag_prefix') or ""
images = test.findtext('images').split() images = test.findtext('images').split()
# hack: for FlexRIC, we need to overwrite the tag to use # hack: for FlexRIC, we need to overwrite the tag to use
@@ -368,9 +306,9 @@ def ExecuteActionWithParam(action, ctx):
if len(images) == 1 and images[0] == "oai-flexric": if len(images) == 1 and images[0] == "oai-flexric":
tag = CONTAINERS.flexricTag tag = CONTAINERS.flexricTag
if action == "Pull_Local_Registry": if action == "Pull_Local_Registry":
success = CONTAINERS.Pull_Image_from_Registry(HTML, svr_id, images, tag=tag, tag_prefix=tag_prefix) success = CONTAINERS.Pull_Image_from_Registry(HTML, node, images, tag=tag, tag_prefix=tag_prefix)
if action == "Clean_Test_Server_Images": if action == "Clean_Test_Server_Images":
success = CONTAINERS.Clean_Test_Server_Images(HTML, svr_id, images, tag=tag) success = CONTAINERS.Clean_Test_Server_Images(HTML, node, images, tag=tag)
elif action == 'Custom_Command': elif action == 'Custom_Command':
node = test.findtext('node') node = test.findtext('node')
@@ -479,7 +417,7 @@ elif re.match('^TerminateSPGW$', mode, re.IGNORECASE):
elif re.match('^LogCollectBuild$', mode, re.IGNORECASE): elif re.match('^LogCollectBuild$', mode, re.IGNORECASE):
logging.warning("Option LogCollectBuild ignored") logging.warning("Option LogCollectBuild ignored")
elif re.match('^LogCollecteNB$', mode, re.IGNORECASE): elif re.match('^LogCollecteNB$', mode, re.IGNORECASE):
if RAN.eNBIPAddress == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '': if RAN.eNBSourceCodePath == '':
HELP.GenericHelp(CONST.Version) HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter') sys.exit('Insufficient Parameter')
if os.path.isdir('cmake_targets/log'): if os.path.isdir('cmake_targets/log'):
@@ -491,7 +429,6 @@ elif re.match('^LogCollecteNB$', mode, re.IGNORECASE):
logging.error("Command '{}' returned non-zero exit status {}.".format(e.cmd, e.returncode)) logging.error("Command '{}' returned non-zero exit status {}.".format(e.cmd, e.returncode))
logging.error("Error output:\n{}".format(e.output)) logging.error("Error output:\n{}".format(e.output))
sys.exit(0) sys.exit(0)
RAN.LogCollecteNB()
elif re.match('^LogCollectHSS$', mode, re.IGNORECASE): elif re.match('^LogCollectHSS$', mode, re.IGNORECASE):
logging.warning("Option LogCollectHSS ignored") logging.warning("Option LogCollectHSS ignored")
elif re.match('^LogCollectMME$', mode, re.IGNORECASE): elif re.match('^LogCollectMME$', mode, re.IGNORECASE):
@@ -536,12 +473,12 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
logging.info('\u001B[1m Starting Scenario: ' + CiTestObj.testXMLfiles[0] + '\u001B[0m') logging.info('\u001B[1m Starting Scenario: ' + CiTestObj.testXMLfiles[0] + '\u001B[0m')
logging.info('\u001B[1m----------------------------------------\u001B[0m') logging.info('\u001B[1m----------------------------------------\u001B[0m')
if re.match('^TesteNB$', mode, re.IGNORECASE): if re.match('^TesteNB$', mode, re.IGNORECASE):
if RAN.eNBIPAddress == '' or RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '': if RAN.ranRepository == '' or RAN.ranBranch == '' or RAN.eNBSourceCodePath == '':
HELP.GenericHelp(CONST.Version) HELP.GenericHelp(CONST.Version)
if RAN.ranRepository == '': if RAN.ranRepository == '':
HELP.GitSrvHelp(RAN.ranRepository, RAN.ranBranch, RAN.ranCommitID, RAN.ranAllowMerge, RAN.ranTargetBranch) HELP.GitSrvHelp(RAN.ranRepository, RAN.ranBranch, RAN.ranCommitID, RAN.ranAllowMerge, RAN.ranTargetBranch)
if RAN.eNBIPAddress == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or RAN.eNBSourceCodePath == '': if RAN.eNBSourceCodePath == '':
HELP.eNBSrvHelp(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, RAN.eNBSourceCodePath) HELP.eNBSrvHelp(RAN.eNBSourceCodePath)
sys.exit('Insufficient Parameter') sys.exit('Insufficient Parameter')
else: else:
if CiTestObj.ranRepository == '' or CiTestObj.ranBranch == '': if CiTestObj.ranRepository == '' or CiTestObj.ranBranch == '':
+70 -277
View File
@@ -43,7 +43,7 @@ import cls_cmd
#----------------------------------------------------------- #-----------------------------------------------------------
# OAI Testing modules # OAI Testing modules
#----------------------------------------------------------- #-----------------------------------------------------------
import sshconnection as SSH import cls_cmd
import helpreadme as HELP import helpreadme as HELP
import constants as CONST import constants as CONST
from cls_ci_helper import archiveArtifact from cls_ci_helper import archiveArtifact
@@ -60,33 +60,14 @@ class RANManagement():
self.ranAllowMerge = False self.ranAllowMerge = False
self.ranCommitID = '' self.ranCommitID = ''
self.ranTargetBranch = '' self.ranTargetBranch = ''
self.eNBIPAddress = ''
self.eNBUserName = ''
self.eNBPassword = ''
self.eNBSourceCodePath = '' self.eNBSourceCodePath = ''
self.eNB1IPAddress = ''
self.eNB1UserName = ''
self.eNB1Password = ''
self.eNB1SourceCodePath = ''
self.eNB2IPAddress = ''
self.eNB2UserName = ''
self.eNB2Password = ''
self.eNB2SourceCodePath = ''
self.Build_eNB_args = ''
self.backgroundBuild = False
self.backgroundBuildTestId = ['', '', '']
self.Build_eNB_forced_workspace_cleanup = False
self.Initialize_eNB_args = '' self.Initialize_eNB_args = ''
self.imageKind = '' self.imageKind = ''
self.air_interface = ['', '', ''] #changed from 'lte' to '' may lead to side effects in main self.air_interface = ''
self.eNB_instance = 0
self.eNB_serverId = ['', '', '']
self.eNBLogFiles = ['', '', '']
self.eNBOptions = ['', '', ''] self.eNBOptions = ['', '', '']
self.eNBmbmsEnables = [False, False, False] self.eNBmbmsEnables = [False, False, False]
self.eNBstatuses = [-1, -1, -1] self.eNBstatuses = [-1, -1, -1]
self.testCase_id = '' self.testCase_id = ''
self.epcPcapFile = ''
self.runtime_stats= '' self.runtime_stats= ''
self.datalog_rt_stats={} self.datalog_rt_stats={}
self.datalog_rt_stats_file='datalog_rt_stats.default.yaml' self.datalog_rt_stats_file='datalog_rt_stats.default.yaml'
@@ -102,286 +83,98 @@ class RANManagement():
# RAN management functions # RAN management functions
#----------------------------------------------------------- #-----------------------------------------------------------
def InitializeeNB(self, HTML): def InitializeeNB(self, ctx, node, HTML):
if self.eNB_serverId[self.eNB_instance] == '0': if not node:
lIpAddr = self.eNBIPAddress raise ValueError(f"{node=}")
lUserName = self.eNBUserName logging.debug('Starting eNB/gNB on server: ' + node)
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('Starting eNB/gNB on server: ' + lIpAddr)
self.testCase_id = HTML.testCase_id self.testCase_id = HTML.testCase_id
mySSH = SSH.SSHConnection() lSourcePath = self.eNBSourceCodePath
cmd = cls_cmd.getConnection(node)
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath, '\$', 5)
# Initialize_eNB_args usually start with -O and followed by the location in repository # Initialize_eNB_args usually start with -O and followed by the location in repository
full_config_file = self.Initialize_eNB_args.replace('-O ','') full_config_file = self.Initialize_eNB_args.replace('-O ','')
extra_options = '' extra_options = ''
extIdx = full_config_file.find('.conf') extIdx = full_config_file.find('.conf')
if (extIdx > 0): if (extIdx <= 0):
raise ValueError(f"no config file in {self.Initialize_eNB_args}")
extra_options = full_config_file[extIdx + 5:] extra_options = full_config_file[extIdx + 5:]
# if tracer options is on, compiling and running T Tracer
result = re.search('T_stdout', str(extra_options))
if result is not None:
logging.debug('\u001B[1m Compiling and launching T Tracer\u001B[0m')
mySSH.command('cd common/utils/T/tracer', '\$', 5)
mySSH.command('make', '\$', 10)
mySSH.command('echo $USER; nohup ./record -d ../T_messages.txt -o ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '_record.raw -ON -off VCD -off HEAVY -off LEGACY_GROUP_TRACE -off LEGACY_GROUP_DEBUG > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '_record.log 2>&1 &', lUserName, 5)
mySSH.command('cd ' + lSourcePath, '\$', 5)
full_config_file = full_config_file[:extIdx + 5] full_config_file = full_config_file[:extIdx + 5]
config_path, config_file = os.path.split(full_config_file) config_path, config_file = os.path.split(full_config_file)
else:
sys.exit('Insufficient Parameter')
ci_full_config_file = config_path + '/ci-' + config_file
rruCheck = False
result = re.search('^rru|^rcc|^du.band', str(config_file))
if result is not None:
rruCheck = True
mySSH.command('cp ' + full_config_file + ' ' + ci_full_config_file, '\$', 5)
mySSH.command('sed -i -e \'s/CI_ENB_IP_ADDR/' + lIpAddr + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_GNB_IP_ADDR/' + lIpAddr + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RCC_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RRU1_IP_ADDR/' + self.eNB1IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_RRU2_IP_ADDR/' + self.eNB2IPAddress + '/\' ' + ci_full_config_file, '\$', 2);
mySSH.command('sed -i -e \'s/CI_FR1_CTL_ENB_IP_ADDR/' + self.eNBIPAddress + '/\' ' + ci_full_config_file, '\$', 2);
self.eNBmbmsEnables[int(self.eNB_instance)] = False
mySSH.command('grep --colour=never enable_enb_m2 ' + ci_full_config_file, '\$', 2);
result = re.search('yes', mySSH.getBefore())
if result is not None:
self.eNBmbmsEnables[int(self.eNB_instance)] = True
logging.debug('\u001B[1m MBMS is enabled on this eNB\u001B[0m')
result = re.search('noS1', str(self.Initialize_eNB_args))
eNBinNoS1 = False
if result is not None:
eNBinNoS1 = True
logging.debug('\u001B[1m eNB is in noS1 configuration \u001B[0m')
# Launch eNB with the modified config file
mySSH.command('source oaienv', '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
if self.air_interface[self.eNB_instance] == 'nr-softmodem':
mySSH.command('if [ -e rbconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm rbconfig.raw; fi', '\$', 5)
mySSH.command('if [ -e reconfig.raw ]; then echo ' + lPassWord + ' | sudo -S rm reconfig.raw; fi', '\$', 5)
# NOTE: WE SHALL do a check if the executable is present (in case build went wrong)
#hack UHD_RFNOC_DIR variable for gNB / N310 on RHEL8 server: logfile = f'{lSourcePath}/cmake_targets/enb.log'
#if the USRP address is in the xml then we are using an eth USRP (N3xx) cmd.cd(f"{lSourcePath}/cmake_targets/") # important: set wd so nrL1_stats.log etc are logged here
if self.air_interface[self.eNB_instance] == 'lte-softmodem': cmd.run(f'sudo -E stdbuf -o0 {self.cmd_prefix} {lSourcePath}/cmake_targets/ran_build/build/{self.air_interface} -O {lSourcePath}/{full_config_file} {extra_options} > {logfile} 2>&1 &')
gNB = False
else:
gNB = True
mySSH.command(f'echo "ulimit -c unlimited && {self.cmd_prefix} ./ran_build/build/{self.air_interface[self.eNB_instance]} -O {lSourcePath}/{ci_full_config_file} {extra_options}" > ./my-lte-softmodem-run{self.eNB_instance}.sh', '\$', 5)
mySSH.command('chmod 775 ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S rm -Rf enb_' + self.testCase_id + '.log', '\$', 5)
mySSH.command('echo $USER; nohup sudo -E stdbuf -o0 ./my-lte-softmodem-run' + str(self.eNB_instance) + '.sh > ' + lSourcePath + '/cmake_targets/enb_' + self.testCase_id + '.log 2>&1 &', lUserName, 10)
self.eNBLogFiles[int(self.eNB_instance)] = 'enb_' + self.testCase_id + '.log'
if extra_options != '': if extra_options != '':
self.eNBOptions[int(self.eNB_instance)] = extra_options self.eNBOptions = extra_options
time.sleep(6)
doLoop = True
loopCounter = 20
enbDidSync = False enbDidSync = False
while (doLoop): for _ in range(10):
loopCounter = loopCounter - 1 time.sleep(5)
if (loopCounter == 0): ret = cmd.run(f'grep --text -E --color=never -i "wait|sync|Starting|Started" {logfile}', reportNonZero=False)
# In case of T tracer recording, we may need to kill it result = re.search('got sync|Starting F1AP at CU', ret.stdout)
result = re.search('T_stdout', str(self.Initialize_eNB_args))
if result is not None: if result is not None:
mySSH.command('killall --signal SIGKILL record', '\$', 5)
mySSH.close()
doLoop = False
logging.error('\u001B[1;37;41m eNB/gNB logging system did not show got sync! \u001B[0m')
HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'KO', CONST.ALL_PROCESSES_OK)
return False
else:
mySSH.command('stdbuf -o0 cat enb_' + self.testCase_id + '.log | grep -E --text --color=never -i "wait|sync|Starting|Started"', '\$', 4)
if rruCheck:
result = re.search('wait RUs', mySSH.getBefore())
else:
result = re.search('got sync|Starting F1AP at CU', mySSH.getBefore())
if result is None:
time.sleep(6)
else:
doLoop = False
enbDidSync = True enbDidSync = True
time.sleep(10) break
if not enbDidSync:
cmd.run(f'sudo killall -9 {self.air_interface}') # in case it did not stop automatically
archiveArtifact(cmd, ctx, logfile)
rruCheck = False cmd.close()
result = re.search('^rru|^du.band', str(config_file))
if result is not None: msg = f'{self.cmd_prefix} {self.air_interface} -O {config_file} {extra_options}'
rruCheck = True
if enbDidSync and eNBinNoS1 and not rruCheck:
mySSH.command('ifconfig oaitun_enb1', '\$', 4)
mySSH.command('ifconfig oaitun_enb1', '\$', 4)
result = re.search('inet addr:1|inet 1', mySSH.getBefore())
if result is not None:
logging.debug('\u001B[1m oaitun_enb1 interface is mounted and configured\u001B[0m')
else:
logging.error('\u001B[1m oaitun_enb1 interface is either NOT mounted or NOT configured\u001B[0m')
if self.eNBmbmsEnables[int(self.eNB_instance)]:
mySSH.command('ifconfig oaitun_enm1', '\$', 4)
result = re.search('inet addr', mySSH.getBefore())
if result is not None:
logging.debug('\u001B[1m oaitun_enm1 interface is mounted and configured\u001B[0m')
else:
logging.error('\u001B[1m oaitun_enm1 interface is either NOT mounted or NOT configured\u001B[0m')
if enbDidSync: if enbDidSync:
self.eNBstatuses[int(self.eNB_instance)] = int(self.eNB_serverId[self.eNB_instance])
mySSH.close()
HTML.CreateHtmlTestRow(f'{self.cmd_prefix} {self.air_interface[self.eNB_instance]} -O {config_file} {extra_options}', 'OK', CONST.ALL_PROCESSES_OK)
logging.debug('\u001B[1m Initialize eNB/gNB Completed\u001B[0m') logging.debug('\u001B[1m Initialize eNB/gNB Completed\u001B[0m')
HTML.CreateHtmlTestRowQueue(msg, 'OK', [])
else:
logging.error('\u001B[1;37;41m eNB/gNB logging system did not show got sync! \u001B[0m')
HTML.CreateHtmlTestRowQueue(msg, 'KO', [])
return enbDidSync return enbDidSync
def TerminateeNB(self, ctx, HTML): def TerminateeNB(self, ctx, node, HTML):
if self.eNB_serverId[self.eNB_instance] == '0': logging.debug('Stopping eNB/gNB on server: ' + node)
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
lSourcePath = self.eNBSourceCodePath lSourcePath = self.eNBSourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '1': cmd = cls_cmd.getConnection(node)
lIpAddr = self.eNB1IPAddress ret = cmd.run('ps -aux | grep --color=never -e softmodem | grep -v grep')
lUserName = self.eNB1UserName result = re.search('-softmodem', ret.stdout)
lPassWord = self.eNB1Password
lSourcePath = self.eNB1SourceCodePath
elif self.eNB_serverId[self.eNB_instance] == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSourcePath = self.eNB2SourceCodePath
if lIpAddr == '' or lUserName == '' or lPassWord == '' or lSourcePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('Stopping eNB/gNB on server: ' + lIpAddr)
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
if self.air_interface[self.eNB_instance] == 'lte-softmodem':
nodeB_prefix = 'e'
else:
nodeB_prefix = 'g'
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem | grep -v grep', '\$', 5)
result = re.search('-softmodem', mySSH.getBefore())
if result is not None: if result is not None:
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGINT -r .*-softmodem || true', '\$', 5) cmd.run('sudo -S killall --signal SIGINT -r .*-softmodem')
time.sleep(10) time.sleep(6)
mySSH.command('stdbuf -o0 ps -aux | grep --color=never -e softmodem | grep -v grep', '\$', 5)
result = re.search('-softmodem', mySSH.getBefore()) ret = cmd.run('ps -aux | grep --color=never -e softmodem | grep -v grep')
result = re.search('-softmodem', ret.stdout)
if result is not None: if result is not None:
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL -r .*-softmodem || true', '\$', 5) cmd.run('sudo -S killall --signal SIGKILL -r .*-softmodem')
time.sleep(5) time.sleep(5)
mySSH.command('rm -f my-lte-softmodem-run' + str(self.eNB_instance) + '.sh', '\$', 5)
#stopping tshark (valid if eNB and enabled in xml, will not harm otherwise) # see InitializeeNB()
logging.debug('\u001B[1m Stopping tshark on xNB \u001B[0m') logfile = f'{lSourcePath}/cmake_targets/enb.log'
mySSH.command('echo ' + lPassWord + ' | sudo -S killall --signal SIGKILL tshark', '\$', 5) logdir = os.path.dirname(logfile)
time.sleep(1)
mySSH.close() file = archiveArtifact(cmd, ctx, logfile)
# if T tracer was run with option 0 (no logs), analyze logs archiveArtifact(cmd, ctx, f"{logdir}/nrL1_stats.log")
# from textlog, otherwise do normal analysis (e.g., option 2) archiveArtifact(cmd, ctx, f"{logdir}/nrMAC_stats.log")
result = re.search('T_stdout 0', str(self.Initialize_eNB_args)) cmd.close()
if (result is not None):
logging.debug('\u001B[1m Replaying RAW record file\u001B[0m')
mySSH.open(lIpAddr, lUserName, lPassWord)
mySSH.command('cd ' + lSourcePath + '/common/utils/T/tracer/', '\$', 5)
enbLogFile = self.eNBLogFiles[int(self.eNB_instance)]
raw_record_file = enbLogFile.replace('.log', '_record.raw')
replay_log_file = enbLogFile.replace('.log', '_replay.log')
extracted_txt_file = enbLogFile.replace('.log', '_extracted_messages.txt')
extracted_log_file = enbLogFile.replace('.log', '_extracted_messages.log')
mySSH.command('./extract_config -i ' + lSourcePath + '/cmake_targets/' + raw_record_file + ' > ' + lSourcePath + '/cmake_targets/' + extracted_txt_file, '\$', 5)
mySSH.command('echo $USER; nohup ./replay -i ' + lSourcePath + '/cmake_targets/' + raw_record_file + ' > ' + lSourcePath + '/cmake_targets/' + replay_log_file + ' 2>&1 &', lUserName, 5)
mySSH.command('./textlog -d ' + lSourcePath + '/cmake_targets/' + extracted_txt_file + ' -no-gui -ON -full > ' + lSourcePath + '/cmake_targets/' + extracted_log_file, '\$', 5)
mySSH.close()
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/' + extracted_log_file, '.')
logging.debug('\u001B[1m Analyzing eNB replay logfile \u001B[0m')
logStatus = self.AnalyzeLogFile_eNB(extracted_log_file, HTML, self.ran_checkers)
HTML.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
self.eNBLogFiles[int(self.eNB_instance)] = ''
return True
else:
analyzeFile = False
if self.eNBLogFiles[int(self.eNB_instance)] != '':
analyzeFile = True
fileToAnalyze = self.eNBLogFiles[int(self.eNB_instance)]
self.eNBLogFiles[int(self.eNB_instance)] = ''
if analyzeFile:
with cls_cmd.getConnection(lIpAddr) as cmd:
file = archiveArtifact(cmd, ctx, lSourcePath + '/cmake_targets/' + fileToAnalyze)
archiveArtifact(cmd, ctx, lSourcePath + '/cmake_targets/nrL1_stats.log')
archiveArtifact(cmd, ctx, lSourcePath + '/cmake_targets/nrMAC_stats.log')
if file is None: if file is None:
logging.debug('\u001B[1;37;41m Could not copy ' + nodeB_prefix + 'NB logfile to analyze it! \u001B[0m') logging.debug('\u001B[1;37;41m Could not copy xNB logfile to analyze it! \u001B[0m')
HTML.htmleNBFailureMsg='Could not copy ' + nodeB_prefix + 'NB logfile to analyze it!' msg = 'Could not copy xNB logfile to analyze it!'
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE) HTML.CreateHtmlTestRowQueue('N/A', 'KO', [msg])
self.eNBmbmsEnables[int(self.eNB_instance)] = False
return False return False
if self.eNB_serverId[self.eNB_instance] != '0':
#*stats.log files + pickle + png
#debug / tentative logging.debug('\u001B[1m Analyzing xNB logfile \u001B[0m ' + file)
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './nrL1_stats.log', self.eNBSourceCodePath + '/cmake_targets/')
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './nrMAC_stats.log', self.eNBSourceCodePath + '/cmake_targets/')
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './' + fileToAnalyze, self.eNBSourceCodePath + '/cmake_targets/')
logging.debug('\u001B[1m Analyzing ' + nodeB_prefix + 'NB logfile \u001B[0m ' + file)
logStatus = self.AnalyzeLogFile_eNB(file, HTML, self.ran_checkers) logStatus = self.AnalyzeLogFile_eNB(file, HTML, self.ran_checkers)
if (logStatus < 0): if logStatus < 0:
HTML.CreateHtmlTestRow('N/A', 'KO', logStatus) HTML.CreateHtmlTestRow('N/A', 'KO', logStatus)
#display rt stats for gNB only
if len(self.datalog_rt_stats)!=0 and nodeB_prefix == 'g':
HTML.CreateHtmlDataLogTable(self.datalog_rt_stats)
self.eNBmbmsEnables[int(self.eNB_instance)] = False
return False
else:
HTML.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
else: else:
HTML.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK) HTML.CreateHtmlTestRow(self.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
#display rt stats for gNB only #display rt stats for gNB only
if len(self.datalog_rt_stats)!=0 and nodeB_prefix == 'g': if len(self.datalog_rt_stats) != 0:
HTML.CreateHtmlDataLogTable(self.datalog_rt_stats) HTML.CreateHtmlDataLogTable(self.datalog_rt_stats)
self.eNBmbmsEnables[int(self.eNB_instance)] = False
self.eNBstatuses[int(self.eNB_instance)] = -1
return True
def LogCollecteNB(self): return logStatus >= 0
mySSH = SSH.SSHConnection()
# Copying back to xNB server any log from all the runs.
# Should also contains ping and iperf logs
absPath = os.path.abspath('.')
if absPath.count('ci-scripts') == 0:
os.chdir('./ci-scripts')
for x in os.listdir():
if x.endswith('.log') or x.endswith('.log.png'):
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, x, self.eNBSourceCodePath + '/cmake_targets/', silent=True, ignorePermDenied=True)
# Back to normal
mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword)
mySSH.command('cd ' + self.eNBSourceCodePath, '\$', 5)
mySSH.command('cd cmake_targets', '\$', 5)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/enb_*.pcap .','\$',20)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/gnb_*.pcap .','\$',20)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm -f enb.log.zip', '\$', 5)
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip *.log enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log* iperf*.log log/*/*.log log/*/*.pcap', '\$', 60)
result = re.search('core.\d+', mySSH.getBefore())
if result is not None:
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip core* ran_build/build/{lte,nr}-softmodem', '\$', 60) # add core and executable to zip
mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor*.png ping*.log* iperf*.log log/*/*.log log/*/*.pcap', '\$', 15)
mySSH.close()
def _analyzeUeRetx(self, rounds, checkers, regex): def _analyzeUeRetx(self, rounds, checkers, regex):
if len(rounds) == 0 or len(checkers) == 0: if len(rounds) == 0 or len(checkers) == 0:
@@ -528,16 +321,16 @@ class RANManagement():
X2HO_state = CONST.X2_HO_REQ_STATE__IDLE X2HO_state = CONST.X2_HO_REQ_STATE__IDLE
X2HO_outNbProcedures += 1 X2HO_outNbProcedures += 1
if self.eNBOptions[int(self.eNB_instance)] != '': if self.eNBOptions[0] != '':
res1 = re.search('max_rxgain (?P<requested_option>[0-9]+)', self.eNBOptions[int(self.eNB_instance)]) res1 = re.search('max_rxgain (?P<requested_option>[0-9]+)', self.eNBOptions[0])
res2 = re.search('max_rxgain (?P<applied_option>[0-9]+)', str(line)) res2 = re.search('max_rxgain (?P<applied_option>[0-9]+)', str(line))
if res1 is not None and res2 is not None: if res1 is not None and res2 is not None:
requested_option = int(res1.group('requested_option')) requested_option = int(res1.group('requested_option'))
applied_option = int(res2.group('applied_option')) applied_option = int(res2.group('applied_option'))
if requested_option == applied_option: if requested_option == applied_option:
htmleNBFailureMsg += '<span class="glyphicon glyphicon-ok-circle"></span> Command line option(s) correctly applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[int(self.eNB_instance)] + '\n\n' htmleNBFailureMsg += '<span class="glyphicon glyphicon-ok-circle"></span> Command line option(s) correctly applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[0] + '\n\n'
else: else:
htmleNBFailureMsg += '<span class="glyphicon glyphicon-ban-circle"></span> Command line option(s) NOT applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[int(self.eNB_instance)] + '\n\n' htmleNBFailureMsg += '<span class="glyphicon glyphicon-ban-circle"></span> Command line option(s) NOT applied <span class="glyphicon glyphicon-arrow-right"></span> ' + self.eNBOptions[0] + '\n\n'
result = re.search('Exiting OAI softmodem|Caught SIGTERM, shutting down', str(line)) result = re.search('Exiting OAI softmodem|Caught SIGTERM, shutting down', str(line))
if result is not None: if result is not None:
exitSignalReceived = True exitSignalReceived = True
@@ -624,7 +417,7 @@ class RANManagement():
result = re.search('dropping, not enough RBs', str(line)) result = re.search('dropping, not enough RBs', str(line))
if result is not None: if result is not None:
dropNotEnoughRBs += 1 dropNotEnoughRBs += 1
if self.eNBmbmsEnables[int(self.eNB_instance)]: if self.eNBmbmsEnables[0]:
result = re.search('MBMS USER-PLANE.*Requesting.*bytes from RLC', str(line)) result = re.search('MBMS USER-PLANE.*Requesting.*bytes from RLC', str(line))
if result is not None: if result is not None:
mbmsRequestMsg += 1 mbmsRequestMsg += 1
@@ -700,8 +493,8 @@ class RANManagement():
# nrL1_stats.log/nrMAC_stats.log should be in the same directory as main log file # nrL1_stats.log/nrMAC_stats.log should be in the same directory as main log file
# currently the link is only implicit as below based on pattern matching # currently the link is only implicit as below based on pattern matching
# I will rework this to give the file explicitly # I will rework this to give the file explicitly
l1_stats_fn = re.sub(r'enb_[0-9]+', 'nrL1_stats', eNBlogFile) l1_stats_fn = re.sub(r'-enb.log$', '-nrL1_stats.log', eNBlogFile)
mac_stats_fn = re.sub(r'enb_[0-9]+', 'nrMAC_stats', eNBlogFile) mac_stats_fn = re.sub(r'-enb.log$', '-nrMAC_stats.log', eNBlogFile)
if os.path.isfile(l1_stats_fn) and os.path.isfile(mac_stats_fn): if os.path.isfile(l1_stats_fn) and os.path.isfile(mac_stats_fn):
# don't use CI-nrL1_stats.log, as this will increase the processing time for # don't use CI-nrL1_stats.log, as this will increase the processing time for
# no reason, we just need the last occurence # no reason, we just need the last occurence
@@ -733,7 +526,7 @@ class RANManagement():
#post processing depending on the node type #post processing depending on the node type
if not nodeB_prefix_found: if not nodeB_prefix_found:
if self.air_interface[self.eNB_instance] == 'lte-softmodem': if self.air_interface == 'lte-softmodem':
nodeB_prefix = 'e' nodeB_prefix = 'e'
else: else:
nodeB_prefix = 'g' nodeB_prefix = 'g'
@@ -937,7 +730,7 @@ class RANManagement():
rrcMsg = ' -- ' + str(rrcReestablishReject) + ' were rejected' rrcMsg = ' -- ' + str(rrcReestablishReject) + ' were rejected'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m') logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n' htmleNBFailureMsg += rrcMsg + '\n'
if self.eNBmbmsEnables[int(self.eNB_instance)]: if self.eNBmbmsEnables[0]:
if mbmsRequestMsg > 0: if mbmsRequestMsg > 0:
rrcMsg = 'eNB requested ' + str(mbmsRequestMsg) + ' times the RLC for MBMS USER-PLANE' rrcMsg = 'eNB requested ' + str(mbmsRequestMsg) + ' times the RLC for MBMS USER-PLANE'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m') logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
@@ -950,8 +743,8 @@ class RANManagement():
rrcMsg = 'eNB completed ' + str(X2HO_outNbProcedures) + ' X2 Handover Release procedure(s)' rrcMsg = 'eNB completed ' + str(X2HO_outNbProcedures) + ' X2 Handover Release procedure(s)'
logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m') logging.debug('\u001B[1;30;43m ' + rrcMsg + ' \u001B[0m')
htmleNBFailureMsg += rrcMsg + '\n' htmleNBFailureMsg += rrcMsg + '\n'
if self.eNBOptions[int(self.eNB_instance)] != '': if self.eNBOptions[0] != '':
res1 = re.search('drx_Config_present prSetup', self.eNBOptions[int(self.eNB_instance)]) res1 = re.search('drx_Config_present prSetup', self.eNBOptions[0])
if res1 is not None: if res1 is not None:
if cdrxActivationMessageCount > 0: if cdrxActivationMessageCount > 0:
rrcMsg = 'eNB activated the CDRX Configuration for ' + str(cdrxActivationMessageCount) + ' time(s)' rrcMsg = 'eNB activated the CDRX Configuration for ' + str(cdrxActivationMessageCount) + ' time(s)'
+12 -2
View File
@@ -26,8 +26,18 @@ fi
docker tag oai-nr-ue oai-ci/oai-nr-ue:develop-${SHORT_COMMIT_SHA} docker tag oai-nr-ue oai-ci/oai-nr-ue:develop-${SHORT_COMMIT_SHA}
docker tag oai-gnb oai-ci/oai-gnb:develop-${SHORT_COMMIT_SHA} docker tag oai-gnb oai-ci/oai-gnb:develop-${SHORT_COMMIT_SHA}
python3 main.py --mode=InitiateHtml --ranRepository=NONE --ranBranch=${CURRENT_BRANCH} \
--ranCommitID=${COMMIT_SHA} --ranAllowMerge=false \
--ranTargetBranch=NONE \
--XMLTestFile=xml_files/${TESTCASE} --local
python3 main.py --mode=TesteNB --ranRepository=NONE --ranBranch=${CURRENT_BRANCH} \ python3 main.py --mode=TesteNB --ranRepository=NONE --ranBranch=${CURRENT_BRANCH} \
--ranCommitID=${COMMIT_SHA} --ranAllowMerge=false \ --ranCommitID=${COMMIT_SHA} --ranAllowMerge=false \
--ranTargetBranch=NONE --eNBIPAddress=NONE --eNBUserName=NONE --eNBPassword=NONE \ --ranTargetBranch=NONE \
--eNBSourceCodePath=${REPO_PATH} \ --eNBSourceCodePath=${REPO_PATH} \
--XMLTestFile=xml_files/${TESTCASE} --local --XMLTestFile=${TESTCASE} --local
RET=$?
python3 main.py --mode=FinalizeHtml --local
exit ${RET}
-281
View File
@@ -1,281 +0,0 @@
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
#---------------------------------------------------------------------
# Python for CI of OAI-eNB + COTS-UE
#
# Required Python Version
# Python 3.x
#
# Required Python Package
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
import pexpect # pexpect
import logging
import time # sleep
import re
import subprocess
import sys
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
class SSHConnection():
def __init__(self):
self.ssh = ''
self.picocom_closure = False
self.ipaddress = ''
self.username = ''
self.cmd2Results = ''
def disablePicocomClosure(self):
self.picocom_closure = False
def enablePicocomClosure(self):
self.picocom_closure = True
def open(self, ipaddress, username, password):
prompt = "\$"
count = 0
connect_status = False
while count < 4:
self.ssh = pexpect.spawn('ssh -o PubkeyAuthentication=yes {}@{}'.format(username,ipaddress))
# Longer timeout at connection due to asterix slowness
self.ssh.timeout = 25
self.sshresponse = self.ssh.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', 'Last login', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
self.ssh.sendline('yes')
self.sshresponse = self.ssh.expect(['password:', username + '@'])
if self.sshresponse == 0:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect([prompt, 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
else:
logging.warning('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 1:
self.ssh.sendline(password)
self.sshresponse = self.ssh.expect([prompt, 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
count = 10
connect_status = True
else:
logging.warning('self.sshresponse = ' + str(self.sshresponse))
elif self.sshresponse == 2:
# We directly ended up on the remote server because of pubkey auth
count = 10
connect_status = True
# this expect() seems to be necessary to advance the read buffer until the prompt, or getBefore() will not return the last command
self.sshresponse = self.ssh.expect([prompt])
else:
# debug output
logging.warning(str(self.ssh.before))
logging.warning('self.sshresponse = ' + str(self.sshresponse))
# adding a tempo when failure
if not connect_status:
time.sleep(1)
count += 1
if connect_status:
self.command('unset HISTFILE', prompt, 5, silent=True)
else:
raise ConnectionError('SSH Connection Failed')
self.ipaddress = ipaddress
self.username = username
def cde_check_value(self, commandline, expected, timeout):
logging.info(commandline)
self.ssh.timeout = timeout
self.ssh.sendline(commandline)
expected.append(pexpect.EOF)
expected.append(pexpect.TIMEOUT)
self.sshresponse = self.ssh.expect(expected)
return self.sshresponse
def command(self, commandline, expectedline, timeout, silent=False, resync=False):
if not silent:
logging.info(commandline)
self.ssh.timeout = timeout
# Nasty patch when pexpect output is out of sync.
# Much pronounced when running back-to-back-back oc commands
if resync:
self.ssh.send(commandline)
self.ssh.expect([commandline, pexpect.TIMEOUT])
self.ssh.send('\r\n')
self.sshresponse = self.ssh.expect([expectedline, pexpect.EOF, pexpect.TIMEOUT])
else:
self.ssh.sendline(commandline)
self.sshresponse = self.ssh.expect([expectedline, pexpect.EOF, pexpect.TIMEOUT])
if self.sshresponse == 0:
return 0
elif self.sshresponse == 1:
logging.error('\u001B[1;37;41m Unexpected EOF \u001B[0m')
logging.error('Expected Line : ' + expectedline)
logging.error(str(self.ssh.before))
raise ConnectionError(self.sshresponse)
elif self.sshresponse == 2:
logging.error('\u001B[1;37;41m Unexpected TIMEOUT \u001B[0m')
logging.error('Expected Line : ' + expectedline)
result = re.search('ping |iperf |picocom', str(commandline))
if result is None:
logging.warning(str(self.ssh.before))
raise ConnectionError(self.sshresponse)
else:
return -1
else:
logging.error('\u001B[1;37;41m Unexpected Others \u001B[0m')
logging.error('Expected Line : ' + expectedline)
raise ConnectionError(self.sshresponse)
def command2(self, commandline, timeout, silent=False):
if not silent:
logging.info(commandline)
self.cmd2Results = ''
noHistoryCmd = 'unset HISTFILE; ' + commandline
myHost = self.username + '@' + self.ipaddress
# CAUTION: THIS METHOD IMPLIES THAT THERE ARE VALID SSH KEYS
# BETWEEN THE PYTHON EXECUTOR NODE AND THE REMOTE HOST
# OTHERWISE IT WON'T WORK
lSsh = subprocess.Popen(["ssh", "%s" % myHost, noHistoryCmd],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
self.cmd2Results = str(lSsh.stdout.readlines())
def command3(self, commandline, timeout, silent=False):
if not silent:
logging.info(commandline)
self.cmd2Results = ''
noHistoryCmd = 'unset HISTFILE; ' + commandline
myHost = self.username + '@' + self.ipaddress
# CAUTION: THIS METHOD IMPLIES THAT THERE ARE VALID SSH KEYS
# BETWEEN THE PYTHON EXECUTOR NODE AND THE REMOTE HOST
# OTHERWISE IT WON'T WORK
lSsh = subprocess.Popen(["ssh", "%s" % myHost, noHistoryCmd],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
return lSsh.stdout.readlines()
def close(self):
self.ssh.timeout = 5
self.ssh.sendline('exit')
self.sshresponse = self.ssh.expect([pexpect.EOF, pexpect.TIMEOUT])
self.ipaddress = ''
self.username = ''
if self.sshresponse == 0:
pass
elif self.sshresponse == 1:
if not self.picocom_closure:
logging.warning('\u001B[1;37;41m Unexpected TIMEOUT during closing\u001B[0m')
else:
logging.warning('\u001B[1;37;41m Unexpected Others during closing\u001B[0m')
def copyin(self, ipaddress, username, password, source, destination):
count = 0
copy_status = False
logging.info('scp -r '+ username + '@' + ipaddress + ':' + source + ' ' + destination)
while count < 10:
scp_spawn = pexpect.spawn('scp -r '+ username + '@' + ipaddress + ':' + source + ' ' + destination, timeout = 100)
scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
scp_spawn.sendline('yes')
scp_spawn.expect('password:')
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
count = 10
copy_status = True
else:
logging.warning('1 - scp_response = ' + str(scp_response))
elif scp_response == 1:
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0 or scp_response == 3:
count = 10
copy_status = True
else:
logging.warning('2 - scp_response = ' + str(scp_response))
elif scp_response == 2:
count = 10
copy_status = True
else:
logging.warning('3 - scp_response = ' + str(scp_response))
# adding a tempo when failure
if not copy_status:
time.sleep(1)
count += 1
if copy_status:
return 0
else:
return -1
def copyout(self, ipaddress, username, password, source, destination, silent=False, ignorePermDenied=False):
count = 0
copy_status = False
if not silent:
logging.info('scp -r ' + source + ' ' + username + '@' + ipaddress + ':' + destination)
while count < 4:
scp_spawn = pexpect.spawn('scp -r ' + source + ' ' + username + '@' + ipaddress + ':' + destination, timeout = 100)
scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
scp_spawn.sendline('yes')
scp_spawn.expect('password:')
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0:
count = 10
copy_status = True
elif scp_response == 1 and ignorePermDenied:
logging.warning(f'copyout(): permission denied, not copying file ({source})')
count = 10
copy_status = True
else:
logging.warning('1 - scp_response = ' + str(scp_response))
elif scp_response == 1:
scp_spawn.sendline(password)
scp_response = scp_spawn.expect(['\$', 'Permission denied', 'password:', pexpect.EOF, pexpect.TIMEOUT])
if scp_response == 0 or scp_response == 3:
count = 10
copy_status = True
elif scp_response == 1 and ignorePermDenied:
logging.warning(f'copyout(): permission denied, not copying file ({source})')
count = 10
copy_status = True
else:
logging.warning('2 - scp_response = ' + str(scp_response))
elif scp_response == 2:
count = 10
copy_status = True
else:
logging.warning('3 - scp_response = ' + str(scp_response))
# adding a tempo when failure
if not copy_status:
time.sleep(1)
count += 1
if copy_status:
pass
else:
raise ConnectionError('SCP failed')
def getBefore(self):
return self.ssh.before.decode('utf-8')
+5 -5
View File
@@ -11,6 +11,7 @@ import tempfile
sys.path.append('./') # to find OAI imports below sys.path.append('./') # to find OAI imports below
import cls_oai_html import cls_oai_html
import cls_containerize import cls_containerize
from cls_ci_helper import TestCaseCtx
import cls_cmd import cls_cmd
class TestBuild(unittest.TestCase): class TestBuild(unittest.TestCase):
@@ -18,22 +19,21 @@ class TestBuild(unittest.TestCase):
self.html = cls_oai_html.HTMLManagement() self.html = cls_oai_html.HTMLManagement()
self.html.testCase_id = "000000" self.html.testCase_id = "000000"
self.cont = cls_containerize.Containerize() self.cont = cls_containerize.Containerize()
self.cont.eNB_serverId[0] = '0'
self.cont.eNBIPAddress = 'localhost'
self.cont.eNBUserName = None
self.cont.eNBPassword = None
self._d = tempfile.mkdtemp() self._d = tempfile.mkdtemp()
logging.warning(f"temporary directory: {self._d}") logging.warning(f"temporary directory: {self._d}")
self.node = 'localhost'
self.cont.eNBSourceCodePath = self._d self.cont.eNBSourceCodePath = self._d
self.ctx = TestCaseCtx.Default(tempfile.mkdtemp())
def tearDown(self): def tearDown(self):
logging.warning(f"removing directory contents") logging.warning(f"removing directory contents")
with cls_cmd.getConnection(None) as cmd: with cls_cmd.getConnection(None) as cmd:
cmd.run(f"rm -rf {self._d}") cmd.run(f"rm -rf {self._d}")
cmd.run(f'rm -rf {self.ctx.logPath}')
def test_build_proxy(self): def test_build_proxy(self):
self.cont.proxyCommit = "b64d9bce986b38ca59e8582864ade3fcdd05c0dc" self.cont.proxyCommit = "b64d9bce986b38ca59e8582864ade3fcdd05c0dc"
success = self.cont.BuildProxy(self.html) success = self.cont.BuildProxy(self.ctx, self.node, self.html)
self.assertTrue(success) self.assertTrue(success)
if __name__ == '__main__': if __name__ == '__main__':
+35 -28
View File
@@ -40,76 +40,83 @@ class TestDeploymentMethods(unittest.TestCase):
self.ci = cls_oaicitest.OaiCiTest() self.ci = cls_oaicitest.OaiCiTest()
self.cont = cls_containerize.Containerize() self.cont = cls_containerize.Containerize()
self.ran = ran.RANManagement() self.ran = ran.RANManagement()
self.cont.yamlPath[0] = '' self.cont.yamlPath = ''
self.cont.ranAllowMerge = True self.cont.ranAllowMerge = True
self.cont.ranBranch = '' self.cont.ranBranch = ''
self.cont.ranCommitID = '' self.cont.ranCommitID = ''
self.cont.eNB_serverId[0] = '0'
self.cont.eNBIPAddress = 'localhost'
self.cont.eNBUserName = None
self.cont.eNBPassword = None
self.cont.eNBSourceCodePath = os.getcwd() self.cont.eNBSourceCodePath = os.getcwd()
self.cont.num_attempts = 3 self.cont.num_attempts = 3
self.node = 'localhost'
self.ctx = TestCaseCtx.Default(tempfile.mkdtemp()) self.ctx = TestCaseCtx.Default(tempfile.mkdtemp())
def tearDown(self): def tearDown(self):
with cls_cmd.LocalCmd() as c: with cls_cmd.LocalCmd() as c:
c.run(f'rm -rf {self.ctx.logPath}') c.run(f'rm -rf {self.ctx.logPath}')
def test_deploy(self): def test_deploy(self):
self.cont.yamlPath[0] = 'tests/simple-dep/' self.cont.yamlPath = 'tests/simple-dep/'
self.cont.deploymentTag = "noble" self.cont.deploymentTag = "noble"
deploy = self.cont.DeployObject(self.ctx, self.html) deploy = self.cont.DeployObject(self.ctx, self.node, self.html)
undeploy = self.cont.UndeployObject(self.ctx, self.html, self.ran) undeploy = self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertTrue(deploy) self.assertTrue(deploy)
self.assertTrue(undeploy) self.assertTrue(undeploy)
def test_deployfails(self): def test_deployfails(self):
# fails reliably # fails reliably
old = self.cont.yamlPath old = self.cont.yamlPath
self.cont.yamlPath[0] = 'tests/simple-fail/' self.cont.yamlPath = 'tests/simple-fail/'
deploy = self.cont.DeployObject(self.ctx, self.html) deploy = self.cont.DeployObject(self.ctx, self.node, self.html)
self.cont.UndeployObject(self.ctx, self.html, self.ran) self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertFalse(deploy) self.assertFalse(deploy)
self.cont.yamlPath = old self.cont.yamlPath = old
def test_deployfails_2svc(self): def test_deployfails_2svc(self):
# fails reliably # fails reliably
old = self.cont.yamlPath old = self.cont.yamlPath
self.cont.yamlPath[0] = 'tests/simple-fail-2svc/' self.cont.yamlPath = 'tests/simple-fail-2svc/'
deploy = self.cont.DeployObject(self.ctx, self.html) deploy = self.cont.DeployObject(self.ctx, self.node, self.html)
self.cont.UndeployObject(self.ctx, self.html, self.ran) self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertFalse(deploy) self.assertFalse(deploy)
self.cont.yamlPath = old self.cont.yamlPath = old
def test_deploy_ran(self): def test_deploy_ran(self):
self.cont.yamlPath[0] = 'yaml_files/5g_rfsimulator_tdd_dora' self.cont.yamlPath = 'yaml_files/5g_rfsimulator_tdd_dora'
self.cont.services[0] = "oai-gnb" self.cont.services = "oai-gnb"
self.cont.deploymentTag = 'develop-12345678' self.cont.deploymentTag = 'develop-12345678'
deploy = self.cont.DeployObject(self.ctx, self.html) deploy = self.cont.DeployObject(self.ctx, self.node, self.html)
undeploy = self.cont.UndeployObject(self.ctx, self.html, self.ran) undeploy = self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertTrue(deploy) self.assertTrue(deploy)
self.assertTrue(undeploy) self.assertTrue(undeploy)
def test_deploy_multiran(self): def test_deploy_multiran(self):
self.cont.yamlPath[0] = 'yaml_files/5g_rfsimulator_tdd_dora' self.cont.yamlPath = 'yaml_files/5g_rfsimulator_tdd_dora'
self.cont.services[0] = "oai-gnb oai-nr-ue" self.cont.services = "oai-gnb oai-nr-ue"
self.cont.deploymentTag = 'develop-12345678' self.cont.deploymentTag = 'develop-12345678'
deploy = self.cont.DeployObject(self.ctx, self.html) deploy = self.cont.DeployObject(self.ctx, self.node, self.html)
undeploy = self.cont.UndeployObject(self.ctx, self.html, self.ran) undeploy = self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertTrue(deploy) self.assertTrue(deploy)
self.assertTrue(undeploy) self.assertTrue(undeploy)
def test_deploy_staged(self): def test_deploy_staged(self):
self.cont.yamlPath[0] = 'yaml_files/5g_rfsimulator_tdd_dora' self.cont.yamlPath = 'yaml_files/5g_rfsimulator_tdd_dora'
self.cont.services[0] = "oai-gnb" self.cont.services = "oai-gnb"
self.cont.deploymentTag = 'develop-12345678' self.cont.deploymentTag = 'develop-12345678'
deploy1 = self.cont.DeployObject(self.ctx, self.html) deploy1 = self.cont.DeployObject(self.ctx, self.node, self.html)
self.cont.services[0] = "oai-nr-ue" self.cont.services = "oai-nr-ue"
deploy2 = self.cont.DeployObject(self.ctx, self.html) deploy2 = self.cont.DeployObject(self.ctx, self.node, self.html)
undeploy = self.cont.UndeployObject(self.ctx, self.html, self.ran) undeploy = self.cont.UndeployObject(self.ctx, self.node, self.html, self.ran)
self.assertTrue(deploy1) self.assertTrue(deploy1)
self.assertTrue(deploy2) self.assertTrue(deploy2)
self.assertTrue(undeploy) self.assertTrue(undeploy)
def test_create_workspace(self):
self.cont.eNBSourceCodePath = tempfile.mkdtemp()
self.cont.ranRepository = "https://gitlab.eurecom.fr/oai/openairinterface5g.git"
self.cont.ranCommitID = "05f9c975eeecbca1bdff5940affad44465f1301f"
self.cont.ranBranch = "develop"
ws = self.cont.Create_Workspace(self.node, self.html)
with cls_cmd.LocalCmd() as cmd:
cmd.run(f"rm -rf {self.cont.eNBSourceCodePath}")
self.assertTrue(ws)
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
+1 -1
View File
@@ -77,7 +77,7 @@ class TestPingIperf(unittest.TestCase):
self.ci.iperf_profile = "balanced" self.ci.iperf_profile = "balanced"
infra_file = "tests/config/infra_ping_iperf.yaml" infra_file = "tests/config/infra_ping_iperf.yaml"
# TODO Should need nothing but options and UE(s) to use # TODO Should need nothing but options and UE(s) to use
success = self.ci.Iperf(self.html, self.cont, infra_file=infra_file) success = self.ci.Iperf(self.ctx, self.html, infra_file=infra_file)
self.assertTrue(success) self.assertTrue(success)
if __name__ == '__main__': if __name__ == '__main__':
+6 -7
View File
@@ -20,7 +20,6 @@ class TestDeploymentMethods(unittest.TestCase):
self.html = cls_oai_html.HTMLManagement() self.html = cls_oai_html.HTMLManagement()
self.html.testCaseId = "000000" self.html.testCaseId = "000000"
self.cont = cls_containerize.Containerize() self.cont = cls_containerize.Containerize()
self.cont.eNBIPAddress = 'localhost'
self.cont.eNBSourceCodePath = os.getcwd() self.cont.eNBSourceCodePath = os.getcwd()
def test_pull_clean_local_reg(self): def test_pull_clean_local_reg(self):
@@ -32,21 +31,21 @@ class TestDeploymentMethods(unittest.TestCase):
ret = cmd.run(f"ping -c1 -w1 {registry}") ret = cmd.run(f"ping -c1 -w1 {registry}")
if ret.returncode != 0: # could not ping once -> skip test 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)") self.skipTest(f"test_pull_clean_local_reg: could not reach {registry} (run inside sboai)")
svr_id = '0' node = 'localhost'
images = ["oai-gnb"] images = ["oai-gnb"]
tag = "develop" tag = "develop"
pull = self.cont.Pull_Image_from_Registry(self.html, svr_id, images, tag=tag) pull = self.cont.Pull_Image_from_Registry(self.html, node, images, tag=tag)
clean = self.cont.Clean_Test_Server_Images(self.html, svr_id, images, tag=tag) clean = self.cont.Clean_Test_Server_Images(self.html, node, images, tag=tag)
self.assertTrue(pull) self.assertTrue(pull)
self.assertTrue(clean) self.assertTrue(clean)
def test_pull_clean_docker_hub(self): def test_pull_clean_docker_hub(self):
svr_id = '0' node = 'localhost'
r = "docker.io" r = "docker.io"
images = ["hello-world"] images = ["hello-world"]
tag = "latest" tag = "latest"
pull = self.cont.Pull_Image_from_Registry(self.html, svr_id, images, tag=tag, registry=r, username=None, password=None) pull = self.cont.Pull_Image_from_Registry(self.html, node, images, tag=tag, registry=r, username=None, password=None)
clean = self.cont.Clean_Test_Server_Images(self.html, svr_id, images, tag=tag) clean = self.cont.Clean_Test_Server_Images(self.html, node, images, tag=tag)
self.assertTrue(pull) self.assertTrue(pull)
self.assertTrue(clean) self.assertTrue(clean)
-3
View File
@@ -22,9 +22,6 @@ python3 main.py \
--ranCommitID=${commit} \ --ranCommitID=${commit} \
--ranAllowMerge=true \ --ranAllowMerge=true \
--ranTargetBranch=develop \ --ranTargetBranch=develop \
--eNBIPAddress=localhost \
--eNBUserName=NONE \
--eNBPassword=NONE \
--eNBSourceCodePath=NONE \ --eNBSourceCodePath=NONE \
--XMLTestFile=tests/test-runner/test.xml --XMLTestFile=tests/test-runner/test.xml
@@ -32,10 +32,12 @@
<testCase id="000002"> <testCase id="000002">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<node>poseidon</node>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Build_Cluster_Image</class> <class>Build_Cluster_Image</class>
<desc>Build Images on OpenShift Cluster</desc> <desc>Build Images on OpenShift Cluster</desc>
<node>poseidon</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -1,47 +0,0 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>l2sim-4glte-proxy-build</htmlTabRef>
<htmlTabName>Build L2sim proxy image</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
100001
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="100001">
<class>Create_Workspace</class>
<desc>Create new Workspace</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase>
<testCase id="000001">
<class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>b64d9bce986b38ca59e8582864ade3fcdd05c0dc</proxy_commit>
</testCase>
</testCaseList>
@@ -44,49 +44,44 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb oai-lte-ue</images> <images>oai-enb oai-lte-ue</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000000"> <testCase id="000000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Cassandra Database</desc> <desc>Deploy Cassandra Database</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path>
<services>cassandra db_init</services> <services>cassandra db_init</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G CoreNetwork</desc> <desc>Deploy OAI 4G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path>
<services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services> <services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB L2 sim</desc> <desc>Deploy OAI 4G eNB L2 sim</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path>
<services>oai_enb</services> <services>oai_enb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI L2 sim 4G LTE-UE 1 and Proxy</desc> <desc>Deploy OAI L2 sim 4G LTE-UE 1 and Proxy</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path>
<services>proxy oai_ue1</services> <services>proxy oai_ue1</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000004"> <testCase id="000004">
@@ -145,6 +140,7 @@
<testCase id="100001"> <testCase id="100001">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>localhost</node>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_l2sim_fdd</yaml_path>
</testCase> </testCase>
@@ -153,7 +149,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb oai-lte-ue</images> <images>oai-enb oai-lte-ue</images>
</testCase> </testCase>
@@ -46,23 +46,21 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Cassandra Database</desc> <desc>Deploy Cassandra Database</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
<services>cassandra db_init</services> <services>cassandra db_init</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -80,28 +78,25 @@
<testCase id="000012"> <testCase id="000012">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G CoreNetwork</desc> <desc>Deploy OAI 4G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
<services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services> <services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc> <desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (FDD 05MHz)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (FDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000015"> <testCase id="000015">
@@ -161,16 +156,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -43,14 +43,13 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>IdleSleep</class> <class>IdleSleep</class>
@@ -67,19 +66,17 @@
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc> <desc>Deploy OAI 4G eNB RF sim (FDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (FDD 05MHz)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (FDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020011"> <testCase id="020011">
@@ -132,16 +129,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_05MHz_noS1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -47,22 +47,20 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Cassandra Database</desc> <desc>Deploy Cassandra Database</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
<services>cassandra db_init</services> <services>cassandra db_init</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -80,28 +78,25 @@
<testCase id="000012"> <testCase id="000012">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G CoreNetwork</desc> <desc>Deploy OAI 4G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
<services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services> <services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (FDD 10MHz)</desc> <desc>Deploy OAI 4G eNB RF sim (FDD 10MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (FDD 10MHz)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (FDD 10MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000015"> <testCase id="000015">
@@ -161,16 +156,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_10MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -47,22 +47,20 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Cassandra Database</desc> <desc>Deploy Cassandra Database</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
<services>cassandra db_init</services> <services>cassandra db_init</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -80,28 +78,25 @@
<testCase id="000012"> <testCase id="000012">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G CoreNetwork</desc> <desc>Deploy OAI 4G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
<services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services> <services>oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (FDD 20MHz)</desc> <desc>Deploy OAI 4G eNB RF sim (FDD 20MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (FDD 20MHz)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (FDD 20MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000015"> <testCase id="000015">
@@ -161,16 +156,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fdd_20MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -40,14 +40,13 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>IdleSleep</class> <class>IdleSleep</class>
@@ -64,19 +63,17 @@
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (FeMBMS)</desc> <desc>Deploy OAI 4G eNB RF sim (FeMBMS)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (FeMBMS)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (FeMBMS)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
@@ -95,16 +92,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_fembms</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -40,14 +40,13 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>IdleSleep</class> <class>IdleSleep</class>
@@ -64,19 +63,17 @@
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (MBMS)</desc> <desc>Deploy OAI 4G eNB RF sim (MBMS)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (MBMS)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (MBMS)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030011"> <testCase id="030011">
@@ -95,16 +92,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_mbms</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb-asan oai-lte-ue-asan</images> <images>oai-enb-asan oai-lte-ue-asan</images>
</testCase> </testCase>
@@ -47,22 +47,20 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb oai-lte-ue</images> <images>oai-enb oai-lte-ue</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Cassandra Database</desc> <desc>Deploy Cassandra Database</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
<services>cassandra db_init</services> <services>cassandra db_init</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -80,28 +78,25 @@
<testCase id="000012"> <testCase id="000012">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G CoreNetwork</desc> <desc>Deploy OAI 4G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
<services>oai_hss oai_mme oai_spgwc oai_spgwu trf_gen</services> <services>oai_hss oai_mme oai_spgwc oai_spgwu trf_gen</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G eNB RF sim (TDD 05MHz)</desc> <desc>Deploy OAI 4G eNB RF sim (TDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
<services>oai_enb0</services> <services>oai_enb0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000014"> <testCase id="000014">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 4G LTE-UE RF sim (TDD 05MHz)</desc> <desc>Deploy OAI 4G LTE-UE RF sim (TDD 05MHz)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
<services>oai_ue0</services> <services>oai_ue0</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020011"> <testCase id="020011">
@@ -154,16 +149,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 4G stack</desc> <desc>Undeploy all OAI 4G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/4g_rfsimulator_tdd_05MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-enb oai-lte-ue</images> <images>oai-enb oai-lte-ue</images>
</testCase> </testCase>
+7 -12
View File
@@ -40,40 +40,36 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-cuup oai-nr-ue</images> <images>oai-gnb oai-nr-cuup oai-nr-ue</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000021"> <testCase id="000021">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path>
<services>mysql oai-amf oai-smf oai-upf</services> <services>mysql oai-amf oai-smf oai-upf</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000022"> <testCase id="000022">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G RAN RF sim SA (1 CU-CP, 3 CU-UPs, 3 DUs)</desc> <desc>Deploy OAI 5G RAN RF sim SA (1 CU-CP, 3 CU-UPs, 3 DUs)</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path>
<services>oai-cucp oai-cuup oai-cuup2 oai-cuup3 oai-du oai-du2 oai-du3</services> <services>oai-cucp oai-cuup oai-cuup2 oai-cuup3 oai-du oai-du2 oai-du3</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000023"> <testCase id="000023">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UE RF sim SA</desc> <desc>Deploy OAI 5G NR-UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path>
<services>oai-nr-ue oai-nr-ue2 oai-nr-ue3</services> <services>oai-nr-ue oai-nr-ue2 oai-nr-ue3</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000024"> <testCase id="000024">
@@ -97,19 +93,18 @@
<testCase id="100021"> <testCase id="100021">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>localhost</node>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_e1</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-cuup oai-nr-ue</images> <images>oai-gnb oai-nr-cuup oai-nr-ue</images>
</testCase> </testCase>
+7 -12
View File
@@ -63,31 +63,28 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000021"> <testCase id="000021">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000022"> <testCase id="000022">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CU + DU-PCI0 + UE RF sim SA</desc> <desc>Deploy OAI 5G CU + DU-PCI0 + UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path>
<services>oai-cu oai-du-pci0 oai-nr-ue</services> <services>oai-cu oai-du-pci0 oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000030"> <testCase id="000030">
@@ -112,10 +109,9 @@
<testCase id="000024"> <testCase id="000024">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G (target) DU-PCI1 RF sim SA</desc> <desc>Deploy OAI 5G (target) DU-PCI1 RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path>
<services>oai-du-pci1</services> <services>oai-du-pci1</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020021"> <testCase id="020021">
@@ -238,18 +234,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_f1_rfsimulator</yaml_path>
<d_retx_th>30,100,100,100</d_retx_th> <d_retx_th>30,100,100,100</d_retx_th>
<u_retx_th>30,100,100,100</u_retx_th> <u_retx_th>30,100,100,100</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-cuup-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -42,31 +42,28 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-ue</images> <images>oai-gnb oai-nr-ue</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000012"> <testCase id="000012">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB+UE RF sim SA</desc> <desc>Deploy OAI 5G gNB+UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
@@ -126,18 +123,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_fdd_rfsimulator</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-ue</images> <images>oai-gnb oai-nr-ue</images>
</testCase> </testCase>
@@ -51,21 +51,21 @@
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-ue</images> <images>oai-gnb oai-nr-ue</images>
</testCase> </testCase>
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-flexric</images> <images>oai-flexric</images>
</testCase> </testCase>
<testCase id="222221"> <testCase id="222221">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb oai-nr-ue</images> <images>oai-gnb oai-nr-ue</images>
<always_exec>true</always_exec> <always_exec>true</always_exec>
</testCase> </testCase>
@@ -73,7 +73,7 @@
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-flexric</images> <images>oai-flexric</images>
<always_exec>true</always_exec> <always_exec>true</always_exec>
</testCase> </testCase>
@@ -88,37 +88,33 @@
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>doc/tutorial_resources/oai-cn5g</yaml_path> <yaml_path>doc/tutorial_resources/oai-cn5g</yaml_path>
<services>mysql oai-nrf oai-udr oai-udm oai-ausf oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-nrf oai-udr oai-udm oai-ausf oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI FlexRIC</desc> <desc>Deploy OAI FlexRIC</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>oai-flexric</services> <services>oai-flexric</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB in RF sim SA</desc> <desc>Deploy OAI 5G gNB in RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>oai-gnb</services> <services>oai-gnb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000004"> <testCase id="000004">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy 2 OAI 5G NR-UEs in RF sim SA</desc> <desc>Deploy 2 OAI 5G NR-UEs in RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>oai-nr-ue oai-nr-ue2</services> <services>oai-nr-ue oai-nr-ue2</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020005"> <testCase id="020005">
@@ -149,55 +145,49 @@
<testCase id="100001"> <testCase id="100001">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<desc>Undeploy Core Network</desc> <desc>Undeploy Core Network</desc>
<node>localhost</node>
<yaml_path>doc/tutorial_resources/oai-cn5g</yaml_path> <yaml_path>doc/tutorial_resources/oai-cn5g</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<always_exec>true</always_exec> <always_exec>true</always_exec>
</testCase> </testCase>
<testCase id="100002"> <testCase id="100002">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<desc>Undeploy RAN and Flexric</desc> <desc>Undeploy RAN and Flexric</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<always_exec>true</always_exec> <always_exec>true</always_exec>
</testCase> </testCase>
<testCase id="010000"> <testCase id="010000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>RC monitoring</desc> <desc>RC monitoring</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>xapp-rc-moni</services> <services>xapp-rc-moni</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="010001"> <testCase id="010001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>KPM monitoring</desc> <desc>KPM monitoring</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>xapp-kpm-moni</services> <services>xapp-kpm-moni</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="010002"> <testCase id="010002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>KPM monitoring and RC control</desc> <desc>KPM monitoring and RC control</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>xapp-kpm-rc</services> <services>xapp-kpm-rc</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="010003"> <testCase id="010003">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Custom SMs monitoring</desc> <desc>Custom SMs monitoring</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_flexric</yaml_path>
<services>xapp-gtp-mac-rlc-pdcp-moni</services> <services>xapp-gtp-mac-rlc-pdcp-moni</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
</testCaseList> </testCaseList>
+11 -20
View File
@@ -57,76 +57,68 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue</images> <images>oai-gnb-asan oai-nr-ue</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB RF sim SA</desc> <desc>Deploy OAI 5G gNB RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-gnb</services> <services>oai-gnb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UE RF sim SA</desc> <desc>Deploy OAI 5G NR-UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue</services> <services>oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000004"> <testCase id="000004">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy Second OAI 5G NR-UE RF sim SA</desc> <desc>Deploy Second OAI 5G NR-UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue2</services> <services>oai-nr-ue2</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000005"> <testCase id="000005">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UEs (#3, #4, #5) RF sim SA</desc> <desc>Deploy OAI 5G NR-UEs (#3, #4, #5) RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue3 oai-nr-ue4 oai-nr-ue5</services> <services>oai-nr-ue3 oai-nr-ue4 oai-nr-ue5</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000006"> <testCase id="000006">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UEs (#6, #7, #8) RF sim SA</desc> <desc>Deploy OAI 5G NR-UEs (#6, #7, #8) RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue6 oai-nr-ue7 oai-nr-ue8</services> <services>oai-nr-ue6 oai-nr-ue7 oai-nr-ue8</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000007"> <testCase id="000007">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UEs (#9, #10) RF sim SA</desc> <desc>Deploy OAI 5G NR-UEs (#9, #10) RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue9 oai-nr-ue10</services> <services>oai-nr-ue9 oai-nr-ue10</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000008"> <testCase id="000008">
@@ -251,18 +243,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue</images> <images>oai-gnb-asan oai-nr-ue</images>
</testCase> </testCase>
@@ -60,31 +60,28 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB+UE RFsim SA</desc> <desc>Deploy OAI 5G gNB+UE RFsim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
@@ -164,16 +161,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_24prb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -42,31 +42,28 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB+UE RF sim SA</desc> <desc>Deploy OAI 5G gNB+UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
@@ -126,9 +123,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_2x2</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
</testCase> </testCase>
@@ -137,7 +133,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -55,25 +55,22 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000010"> <testCase id="000010">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB RF sim SA</desc> <desc>Deploy OAI 5G gNB RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path>
<services>oai-gnb</services> <services>oai-gnb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000011"> <testCase id="000011">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UE RF sim SA</desc> <desc>Deploy OAI 5G NR-UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path>
<services>oai-nr-ue</services> <services>oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020011"> <testCase id="020011">
@@ -126,18 +123,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest</yaml_path>
<d_retx_th>10,100,100,100</d_retx_th> <!-- phytest: will fail at start! --> <d_retx_th>10,100,100,100</d_retx_th> <!-- phytest: will fail at start! -->
<u_retx_th>10,100,100,100</u_retx_th> <!-- phytest: will fail at start! --> <u_retx_th>10,100,100,100</u_retx_th> <!-- phytest: will fail at start! -->
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -40,33 +40,30 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000000"> <testCase id="000000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI gNB</desc> <desc>Deploy OAI gNB</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI NR-UE</desc> <desc>Deploy OAI NR-UE</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000013"> <testCase id="000013">
@@ -102,18 +99,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb</yaml_path>
<d_retx_th>10,0,0,0</d_retx_th> <d_retx_th>10,0,0,0</d_retx_th>
<u_retx_th>10,0,0,0</u_retx_th> <u_retx_th>10,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -45,32 +45,29 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB+nrUE RF sim SA</desc> <desc>Deploy OAI 5G gNB+nrUE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
@@ -133,16 +130,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_geo</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -40,32 +40,29 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB+nrUE RF sim SA</desc> <desc>Deploy OAI 5G gNB+nrUE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path>
<services>oai-gnb oai-nr-ue</services> <services>oai-gnb oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
@@ -101,16 +98,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_ntn_leo</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -39,33 +39,30 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-nr-ue-asan</images> <images>oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G UE 1</desc> <desc>Deploy OAI 5G UE 1</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path>
<services>oai-nr-ue-1</services> <services>oai-nr-ue-1</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G UE 2</desc> <desc>Deploy OAI 5G UE 2</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path>
<services>oai-nr-ue-2</services> <services>oai-nr-ue-2</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000004"> <testCase id="000004">
@@ -85,18 +82,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_sidelink</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-nr-ue-asan</images> <images>oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -0,0 +1,97 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>rfsim-5gnr-tdd</htmlTabRef>
<htmlTabName>Monolithic SA TDD gNB</htmlTabName>
<htmlTabIcon>wrench</htmlTabIcon>
<TestCaseRequestedList>
000001
000002
000003
000008
020001
444444
100001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="000001">
<class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
</testCase>
<testCase id="000002">
<class>Deploy_Object</class>
<desc>Deploy OAI 5G gNB RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-gnb</services>
</testCase>
<testCase id="000003">
<class>Deploy_Object</class>
<desc>Deploy OAI 5G NR-UE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<services>oai-nr-ue</services>
</testCase>
<testCase id="000008">
<class>Attach_UE</class>
<desc>Attach OAI UE (Wait for IP)</desc>
<id>rfsim5g_ue</id>
<nodes>localhost</nodes>
</testCase>
<testCase id="020001">
<class>Ping</class>
<desc>Ping ext-dn from NR-UE</desc>
<id>rfsim5g_ue</id>
<nodes>localhost</nodes>
<svr_id>rfsim5g_ext_dn</svr_id>
<svr_node>localhost</svr_node>
<ping_args>-c 20 -i 0.25</ping_args>
<ping_packetloss_threshold>5</ping_packetloss_threshold>
</testCase>
<testCase id="444444">
<class>Detach_UE</class>
<desc>Detach OAI UE 1</desc>
<id>rfsim5g_ue</id>
<nodes>localhost</nodes>
</testCase>
<testCase id="100001">
<class>Undeploy_Object</class>
<always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th>
</testCase>
</testCaseList>
@@ -42,7 +42,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -55,25 +55,22 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000000"> <testCase id="000000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI gNB</desc> <desc>Deploy OAI gNB</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path>
<services>oai-gnb</services> <services>oai-gnb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI NR-UE</desc> <desc>Deploy OAI NR-UE</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path>
<services>oai-nr-ue</services> <services>oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000030"> <testCase id="000030">
@@ -108,18 +105,17 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_tdd_dora</yaml_path>
<d_retx_th>0,0,0,0</d_retx_th> <d_retx_th>0,0,0,0</d_retx_th>
<u_retx_th>0,0,0,0</u_retx_th> <u_retx_th>0,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -44,31 +44,28 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>localhost</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G CoreNetwork</desc> <desc>Deploy OAI 5G CoreNetwork</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path>
<services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services> <services>mysql oai-amf oai-smf oai-upf oai-ext-dn</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000002"> <testCase id="000002">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy OAI 5G VNF+PNF+nrUE RF sim SA</desc> <desc>Deploy OAI 5G VNF+PNF+nrUE RF sim SA</desc>
<node>localhost</node>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path>
<services>oai-vnf oai-pnf oai-nr-ue</services> <services>oai-vnf oai-pnf oai-nr-ue</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000003"> <testCase id="000003">
@@ -146,19 +143,18 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy all OAI 5G stack</desc> <desc>Undeploy all OAI 5G stack</desc>
<node>localhost</node>
<services>oai-vnf oai-pnf</services> <services>oai-vnf oai-pnf</services>
<yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_rfsimulator_u0_25prb</yaml_path>
<d_retx_th>1,0,0,0</d_retx_th> <d_retx_th>1,0,0,0</d_retx_th>
<u_retx_th>1,0,0,0</u_retx_th> <u_retx_th>1,0,0,0</u_retx_th>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="222222"> <testCase id="222222">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>localhost</node>
<images>oai-gnb-asan oai-nr-ue-asan</images> <images>oai-gnb-asan oai-nr-ue-asan</images>
</testCase> </testCase>
@@ -32,9 +32,8 @@
<testCase id="030201"> <testCase id="030201">
<class>Build_Run_Tests</class> <class>Build_Run_Tests</class>
<desc>Build and Run UnitTests</desc> <desc>Build and Run UnitTests</desc>
<node>obelix</node>
<kind>all</kind> <kind>all</kind>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -34,22 +34,19 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>obelix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Build_Image</class> <class>Build_Image</class>
<desc>Build all Images</desc> <desc>Build all Images</desc>
<node>obelix</node>
<kind>all</kind> <kind>all</kind>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
</testCase> </testCase>
<testCase id="000010"> <testCase id="000010">
<class>Push_Local_Registry</class> <class>Push_Local_Registry</class>
<desc>Push Images to Local Registry</desc> <desc>Push Images to Local Registry</desc>
<svr_id>0</svr_id> <node>obelix</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -34,21 +34,19 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>gracehopper3-oai</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Build_Image</class> <class>Build_Image</class>
<desc>Build all Images</desc> <desc>Build all Images</desc>
<node>gracehopper3-oai</node>
<kind>native_arm</kind> <kind>native_arm</kind>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000010"> <testCase id="000010">
<class>Push_Local_Registry</class> <class>Push_Local_Registry</class>
<desc>Push Images to Local Registry</desc> <desc>Push Images to Local Registry</desc>
<svr_id>0</svr_id> <node>gracehopper3-oai</node>
<tag_prefix>arm_</tag_prefix> <tag_prefix>arm_</tag_prefix>
</testCase> </testCase>
@@ -32,16 +32,13 @@
<testCase id="100001"> <testCase id="100001">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>alambix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Build_Image</class> <class>Build_Image</class>
<desc>Cross-Compile for ARM64</desc> <desc>Cross-Compile for ARM64</desc>
<kind>build_cross_arm64</kind> <kind>build_cross_arm64</kind>
<eNB_instance>0</eNB_instance> <node>alambix</node>
<eNB_serverId>0</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -32,9 +32,7 @@
<testCase id="000001"> <testCase id="000001">
<class>Build_Proxy</class> <class>Build_Proxy</class>
<desc>Build L2sim Proxy Image</desc> <desc>Build L2sim Proxy Image</desc>
<eNB_instance>1</eNB_instance> <node>localhost</node>
<eNB_serverId>1</eNB_serverId>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
<proxy_commit>b64d9bce986b38ca59e8582864ade3fcdd05c0dc</proxy_commit> <proxy_commit>b64d9bce986b38ca59e8582864ade3fcdd05c0dc</proxy_commit>
</testCase> </testCase>
@@ -43,7 +43,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -69,15 +69,13 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -90,9 +88,8 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -212,7 +209,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -68,24 +68,21 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030131"> <testCase id="030131">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy RRU (FDD/Band7/5MHz/B200) in a container</desc> <desc>Deploy RRU (FDD/Band7/5MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path>
<services>rru_fdd</services> <services>rru_fdd</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030132"> <testCase id="030132">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy RCC (FDD/Band7/5MHz) in a container</desc> <desc>Deploy RCC (FDD/Band7/5MHz) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path>
<services>rcc_fdd</services> <services>rcc_fdd</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -98,9 +95,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy RCC/RRU</desc> <desc>Undeploy RCC/RRU</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_if4.5</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -195,7 +191,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -61,24 +61,21 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030102"> <testCase id="030102">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1_no_rrc_activity</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1_no_rrc_activity</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030202"> <testCase id="030202">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1_no_rrc_activity</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_05Mhz_tm1_no_rrc_activity</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -178,7 +175,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -44,7 +44,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -63,15 +63,13 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030111"> <testCase id="030111">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -84,9 +82,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -207,7 +204,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -43,7 +43,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -62,24 +62,21 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030112"> <testCase id="030112">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_cdrx</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_cdrx</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030212"> <testCase id="030212">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_cdrx</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_cdrx</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -139,7 +136,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -49,13 +49,13 @@
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>1</svr_id> <node>carabe</node>
<images>oai-lte-ue</images> <images>oai-lte-ue</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -87,28 +87,24 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030111"> <testCase id="030111">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/10MHz/B200) in a container</desc>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_magma</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_magma</yaml_path>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="800814"> <testCase id="800814">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 1</desc> <desc>Create new Workspace for server 1</desc>
<eNB_instance>1</eNB_instance> <node>carabe</node>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="030311"> <testCase id="030311">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy LTE-UE (FDD/Band7/10MHz/B200) in a container</desc> <desc>Deploy LTE-UE (FDD/Band7/10MHz/B200) in a container</desc>
<node>carabe</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_oai_ue_magma</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_oai_ue_magma</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -127,18 +123,16 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_magma</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_tm1_magma</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030411"> <testCase id="030411">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy LTE-UE</desc> <desc>Undeploy LTE-UE</desc>
<node>carabe</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_oai_ue_magma</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_10Mhz_oai_ue_magma</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="040511"> <testCase id="040511">
@@ -191,7 +185,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on eNB Test Server</desc> <desc>Clean Test Images on eNB Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -199,7 +193,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on LTE-UE Test Server</desc> <desc>Clean Test Images on LTE-UE Test Server</desc>
<svr_id>1</svr_id> <node>carabe</node>
<images>oai-lte-ue</images> <images>oai-lte-ue</images>
</testCase> </testCase>
@@ -43,7 +43,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -62,15 +62,13 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>hutch</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030121"> <testCase id="030121">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/20MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/20MHz/B200) in a container</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_20Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_20Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -83,9 +81,8 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>hutch</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_fdd_20Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_fdd_20Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -207,7 +204,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>hutch</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -43,7 +43,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -70,15 +70,13 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>starsky</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030104"> <testCase id="030104">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/5MHz/B200) in a container</desc> <desc>Deploy eNB (TDD/Band40/5MHz/B200) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -91,9 +89,8 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -224,7 +221,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -41,7 +41,7 @@
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -68,24 +68,21 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>starsky</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030134"> <testCase id="030134">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy RRU (TDD/Band40/5MHz/B200) in a container</desc> <desc>Deploy RRU (TDD/Band40/5MHz/B200) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path>
<services>rru_tdd</services> <services>rru_tdd</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030135"> <testCase id="030135">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy RCC (TDD/Band40/5MHz) in a container</desc> <desc>Deploy RCC (TDD/Band40/5MHz) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path>
<services>rcc_tdd</services> <services>rcc_tdd</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -98,9 +95,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy RRU/RCC</desc> <desc>Undeploy RRU/RCC</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_05Mhz_if4.5</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -210,7 +206,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -61,15 +61,13 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>starsky</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030114"> <testCase id="030114">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/10MHz/B200) in a container</desc> <desc>Deploy eNB (TDD/Band40/10MHz/B200) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_10Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_10Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -82,9 +80,8 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_10Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_10Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -215,7 +212,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
@@ -61,15 +61,13 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>starsky</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030124"> <testCase id="030124">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc> <desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -82,9 +80,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -213,7 +210,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -42,7 +42,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -62,15 +62,13 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>starsky</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030125"> <testCase id="030125">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc> <desc>Deploy eNB (TDD/Band40/20MHz/B200) in a container</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1_default_scheduler</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1_default_scheduler</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -83,9 +81,8 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>starsky</node>
<yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1_default_scheduler</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_b200_tdd_20Mhz_tm1_default_scheduler</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
@@ -218,7 +215,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>starsky</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -48,7 +48,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -68,15 +68,13 @@
<testCase id="800833"> <testCase id="800833">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>obelix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc> <desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc>
<node>obelix</node>
<yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -142,9 +140,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>obelix</node>
<yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<!-- <d_retx_th>1,100,100,100</d_retx_th> <!-- <d_retx_th>1,100,100,100</d_retx_th>
<u_retx_th>1,100,100,100</u_retx_th> <u_retx_th>1,100,100,100</u_retx_th>
? ?
@@ -155,7 +152,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images</desc> <desc>Clean Test Images</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -48,7 +48,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -68,15 +68,13 @@
<testCase id="800833"> <testCase id="800833">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>obelix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="031101"> <testCase id="031101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc> <desc>Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container</desc>
<node>obelix</node>
<yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -142,9 +140,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>obelix</node>
<yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2</yaml_path> <yaml_path>ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<!-- <d_retx_th>1,100,100,100</d_retx_th> <!-- <d_retx_th>1,100,100,100</d_retx_th>
<u_retx_th>1,100,100,100</u_retx_th> <u_retx_th>1,100,100,100</u_retx_th>
? ?
@@ -155,7 +152,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images</desc> <desc>Clean Test Images</desc>
<svr_id>0</svr_id> <node>obelix</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -30,6 +30,7 @@
500000 500000
111110 111110
111111 111111
000100
010000 010000
800833 800833
030101 030101
@@ -47,6 +48,7 @@
010002 010002
030202 030202
030201 030201
060000
300000 300000
600000 600000
222220 222220
@@ -57,14 +59,14 @@
<testCase id="111110"> <testCase id="111110">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>nepes</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>1</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -102,6 +104,12 @@
<command>sudo cpupower idle-set -E</command> <command>sudo cpupower idle-set -E</command>
</testCase> </testCase>
<testCase id="000100">
<class>DeployCoreNetwork</class>
<desc>Start EPC</desc>
<cn_id>ltebox-nepes</cn_id>
</testCase>
<testCase id="010000"> <testCase id="010000">
<class>Initialize_UE</class> <class>Initialize_UE</class>
<desc>Initialize Quectel</desc> <desc>Initialize Quectel</desc>
@@ -127,28 +135,24 @@
<testCase id="800833"> <testCase id="800833">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>nepes</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc> <desc>Deploy eNB (FDD/Band7/5MHz/B200) in a container</desc>
<node>nepes</node>
<yaml_path>ci-scripts/yaml_files/nsa_b200_enb</yaml_path> <yaml_path>ci-scripts/yaml_files/nsa_b200_enb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="800834"> <testCase id="800834">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>1</eNB_instance> <node>ofqot</node>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="030102"> <testCase id="030102">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc> <desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/nsa_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/nsa_b200_gnb</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -236,18 +240,22 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy eNB</desc> <desc>Undeploy eNB</desc>
<node>nepes</node>
<yaml_path>ci-scripts/yaml_files/nsa_b200_enb</yaml_path> <yaml_path>ci-scripts/yaml_files/nsa_b200_enb</yaml_path>
<eNB_instance>0</eNB_instance> </testCase>
<eNB_serverId>0</eNB_serverId>
<testCase id="060000">
<class>UndeployCoreNetwork</class>
<desc>Terminate EPC</desc>
<cn_id>ltebox-nepes</cn_id>
</testCase> </testCase>
<testCase id="030202"> <testCase id="030202">
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/nsa_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/nsa_b200_gnb</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -256,7 +264,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>nepes</node>
<images>oai-enb</images> <images>oai-enb</images>
</testCase> </testCase>
@@ -264,7 +272,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>1</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -52,7 +52,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>gracehopper1-oai</node>
<images>oai-gnb-aerial</images> <images>oai-gnb-aerial</images>
<tag_prefix>arm_</tag_prefix> <tag_prefix>arm_</tag_prefix>
</testCase> </testCase>
@@ -60,26 +60,23 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>gracehopper1-oai</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="002222"> <testCase id="002222">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy PNF/Nvidia CUBB in a container</desc> <desc>Deploy PNF/Nvidia CUBB in a container</desc>
<node>gracehopper1-oai</node>
<yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path>
<services>nv-cubb</services> <services>nv-cubb</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="002223"> <testCase id="002223">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy VNF in a container</desc> <desc>Deploy VNF in a container</desc>
<node>gracehopper1-oai</node>
<yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path>
<services>oai-gnb-aerial</services> <services>oai-gnb-aerial</services>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000111"> <testCase id="000111">
@@ -150,9 +147,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>gracehopper1-oai</node>
<yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_gnb_aerial</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>20,100,100,100</d_retx_th> <d_retx_th>20,100,100,100</d_retx_th>
<u_retx_th>20,100,100,100</u_retx_th> <u_retx_th>20,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -161,7 +157,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>gracehopper1-oai</node>
<images>oai-gnb-aerial</images> <images>oai-gnb-aerial</images>
</testCase> </testCase>
@@ -80,16 +80,14 @@
<testCase id="100813"> <testCase id="100813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Creating new Workspace</desc> <desc>Creating new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>avra</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="120000"> <testCase id="120000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/20MHz/aw2s) in a container</desc> <desc>Deploy gNB (TDD/Band78/20MHz/aw2s) in a container</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="102001"> <testCase id="102001">
@@ -287,16 +285,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_aw2s_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="444444"> <testCase id="444444">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>avra</node>
<images>oai-gnb-aw2s</images> <images>oai-gnb-aw2s</images>
</testCase> </testCase>
@@ -70,15 +70,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>avra</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020000"> <testCase id="020000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/20MHz/aw2s) in a container</desc> <desc>Deploy gNB (TDD/Band78/20MHz/aw2s) in a container</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/sa_aw2s_2x2_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_aw2s_2x2_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="001000"> <testCase id="001000">
@@ -268,16 +266,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/sa_aw2s_2x2_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_aw2s_2x2_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="333333"> <testCase id="333333">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>avra</node>
<images>oai-gnb-aw2s</images> <images>oai-gnb-aw2s</images>
</testCase> </testCase>
@@ -59,7 +59,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -102,15 +102,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>ofqot</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc> <desc>Deploy gNB (TDD/Band78/40MHz/B200) in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
@@ -212,9 +210,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -223,7 +220,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -55,7 +55,7 @@
<testCase id="333333"> <testCase id="333333">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb oai-nr-cuup</images> <images>oai-gnb oai-nr-cuup</images>
</testCase> </testCase>
@@ -84,31 +84,27 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>ofqot</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="330101"> <testCase id="330101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB-CU-CP in a container</desc> <desc>Deploy gNB-CU-CP in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>gnb_cucp</services> <services>gnb_cucp</services>
</testCase> </testCase>
<testCase id="330102"> <testCase id="330102">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB-CU-UP in a container</desc> <desc>Deploy gNB-CU-UP in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>gnb_cuup</services> <services>gnb_cuup</services>
</testCase> </testCase>
<testCase id="330103"> <testCase id="330103">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB-DU (TDD/Band78/40MHz/B200) in a container</desc> <desc>Deploy gNB-DU (TDD/Band78/40MHz/B200) in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>gnb_du_tdd</services> <services>gnb_du_tdd</services>
</testCase> </testCase>
@@ -215,9 +211,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy CUCP/CU-UP/DU</desc> <desc>Undeploy CUCP/CU-UP/DU</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_e1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -226,7 +221,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb oai-nr-cuup</images> <images>oai-gnb oai-nr-cuup</images>
</testCase> </testCase>
@@ -64,7 +64,7 @@
<testCase id="111111"> <testCase id="111111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -93,23 +93,20 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>ofqot</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="130101"> <testCase id="130101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB-CU in a container</desc> <desc>Deploy gNB-CU in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>gnb_cu</services> <services>gnb_cu</services>
</testCase> </testCase>
<testCase id="130102"> <testCase id="130102">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB-DU (FDD/Band1/10MHz/B200) in a container</desc> <desc>Deploy gNB-DU (FDD/Band1/10MHz/B200) in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>gnb_du_fdd</services> <services>gnb_du_fdd</services>
</testCase> </testCase>
@@ -245,9 +242,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy CU-DU</desc> <desc>Undeploy CU-DU</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_f1_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -256,7 +252,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -54,23 +54,21 @@
<testCase id="110000"> <testCase id="110000">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>cacofonix</node>
<images>oai-gnb-fhi72</images> <images>oai-gnb-fhi72</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>cacofonix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="120000"> <testCase id="120000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/100MHz/Metanoia) in a container</desc> <desc>Deploy gNB (TDD/Band78/100MHz/Metanoia) in a container</desc>
<node>cacofonix</node>
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="102001"> <testCase id="102001">
@@ -146,16 +144,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>cacofonix</node>
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_metanoia_2x2_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="777777"> <testCase id="777777">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>cacofonix</node>
<images>oai-gnb-fhi72</images> <images>oai-gnb-fhi72</images>
</testCase> </testCase>
@@ -55,21 +55,19 @@
<testCase id="110000"> <testCase id="110000">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>cacofonix</node>
<images>oai-gnb-fhi72</images> <images>oai-gnb-fhi72</images>
</testCase> </testCase>
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace for server 0</desc> <desc>Create new Workspace for server 0</desc>
<eNB_instance>0</eNB_instance> <node>cacofonix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="120000"> <testCase id="120000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/100MHz/VVDN) in a container</desc> <desc>Deploy gNB (TDD/Band78/100MHz/VVDN) in a container</desc>
<node>cacofonix</node>
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_vvdn_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_vvdn_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="102001"> <testCase id="102001">
@@ -156,16 +154,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>cacofonix</node>
<yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_vvdn_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_fhi_7.2_vvdn_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="777777"> <testCase id="777777">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>cacofonix</node>
<images>oai-gnb-fhi72</images> <images>oai-gnb-fhi72</images>
</testCase> </testCase>
@@ -80,15 +80,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>matix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="040101"> <testCase id="040101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band77/100MHz/N310) in a container</desc> <desc>Deploy gNB (TDD/Band77/100MHz/N310) in a container</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_100MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_100MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<num_attempts>3</num_attempts> <num_attempts>3</num_attempts>
</testCase> </testCase>
@@ -146,9 +144,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_100MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_100MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>oai-gnb</services> <services>oai-gnb</services>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
@@ -158,7 +155,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>matix</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -80,15 +80,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>matix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band77/60MHz/N310) in a container</desc> <desc>Deploy gNB (TDD/Band77/60MHz/N310) in a container</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_60MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_60MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<num_attempts>3</num_attempts> <num_attempts>3</num_attempts>
</testCase> </testCase>
@@ -146,9 +144,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_60MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_2x2_60MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>oai-gnb</services> <services>oai-gnb</services>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
@@ -158,7 +155,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>matix</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -80,15 +80,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>matix</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="030101"> <testCase id="030101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy VNF-PNF (TDD/Band77/60MHz/N310) in a container</desc> <desc>Deploy VNF-PNF (TDD/Band77/60MHz/N310) in a container</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<num_attempts>3</num_attempts> <num_attempts>3</num_attempts>
</testCase> </testCase>
@@ -146,9 +144,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy VNF-PNF</desc> <desc>Undeploy VNF-PNF</desc>
<node>matix</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_4x4_60MHz</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<services>oai-vnf oai-pnf</services> <services>oai-vnf oai-pnf</services>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
@@ -158,7 +155,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>matix</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
+23 -14
View File
@@ -25,6 +25,7 @@
<htmlTabName>40 MHz TDD SA</htmlTabName> <htmlTabName>40 MHz TDD SA</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon> <htmlTabIcon>tasks</htmlTabIcon>
<TestCaseRequestedList> <TestCaseRequestedList>
060000
010000 010001 010000 010001
800813 800813
020000 020000
@@ -38,9 +39,16 @@
040001 040000 040001 040000
333333 333333
444444 444444
060001
</TestCaseRequestedList> </TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList> <TestCaseExclusionList></TestCaseExclusionList>
<testCase id="060000">
<class>DeployCoreNetwork</class>
<desc>Initialize 5G Core</desc>
<cn_id>oc-cn5g</cn_id>
</testCase>
<testCase id="010000"> <testCase id="010000">
<class>Pull_Cluster_Image</class> <class>Pull_Cluster_Image</class>
<desc>Pull Images from Cluster</desc> <desc>Pull Images from Cluster</desc>
@@ -71,29 +79,25 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>avra</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="020000"> <testCase id="020000">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/Band78/40MHz/N310) in a container</desc> <desc>Deploy gNB (TDD/Band78/40MHz/N310) in a container</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<num_attempts>3</num_attempts> <num_attempts>3</num_attempts>
</testCase> </testCase>
<testCase id="800814"> <testCase id="800814">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>1</eNB_instance> <node>caracal</node>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="020001"> <testCase id="020001">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy nrUE (TDD/Band78/40MHz/N310) in a container</desc> <desc>Deploy nrUE (TDD/Band78/40MHz/N310) in a container</desc>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path>
<eNB_instance>1</eNB_instance> <node>caracal</node>
<eNB_serverId>1</eNB_serverId>
<num_attempts>3</num_attempts> <num_attempts>3</num_attempts>
</testCase> </testCase>
@@ -147,9 +151,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>avra</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>20,100,100,100</d_retx_th> <d_retx_th>20,100,100,100</d_retx_th>
<u_retx_th>20,100,100,100</u_retx_th> <u_retx_th>20,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -158,16 +161,15 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy nr UE</desc> <desc>Undeploy nr UE</desc>
<node>caracal</node>
<yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path> <yaml_path>ci-scripts/yaml_files/5g_sa_n310_nrue</yaml_path>
<eNB_instance>1</eNB_instance>
<eNB_serverId>1</eNB_serverId>
</testCase> </testCase>
<testCase id="333333"> <testCase id="333333">
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>avra</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -175,8 +177,15 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>1</svr_id> <node>caracal</node>
<images>oai-nr-ue</images> <images>oai-nr-ue</images>
</testCase> </testCase>
<testCase id="060001">
<class>UndeployCoreNetwork</class>
<desc>Terminate 5G Core</desc>
<always_exec>true</always_exec>
<cn_id>oc-cn5g</cn_id>
</testCase>
</testCaseList> </testCaseList>
@@ -53,7 +53,7 @@
<testCase id="311111"> <testCase id="311111">
<class>Pull_Local_Registry</class> <class>Pull_Local_Registry</class>
<desc>Pull Images from Local Registry</desc> <desc>Pull Images from Local Registry</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
@@ -96,15 +96,13 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>ofqot</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="230101"> <testCase id="230101">
<class>Deploy_Object</class> <class>Deploy_Object</class>
<desc>Deploy gNB (TDD/pattern2/Band78/40MHz/B200) with SC-FDMA in a container</desc> <desc>Deploy gNB (TDD/pattern2/Band78/40MHz/B200) with SC-FDMA in a container</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_sc_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_sc_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="200001"> <testCase id="200001">
@@ -206,9 +204,8 @@
<class>Undeploy_Object</class> <class>Undeploy_Object</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Undeploy gNB</desc> <desc>Undeploy gNB</desc>
<node>ofqot</node>
<yaml_path>ci-scripts/yaml_files/sa_sc_b200_gnb</yaml_path> <yaml_path>ci-scripts/yaml_files/sa_sc_b200_gnb</yaml_path>
<eNB_instance>0</eNB_instance>
<eNB_serverId>0</eNB_serverId>
<d_retx_th>10,100,100,100</d_retx_th> <d_retx_th>10,100,100,100</d_retx_th>
<u_retx_th>10,100,100,100</u_retx_th> <u_retx_th>10,100,100,100</u_retx_th>
</testCase> </testCase>
@@ -217,7 +214,7 @@
<class>Clean_Test_Server_Images</class> <class>Clean_Test_Server_Images</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Clean Test Images on Test Server</desc> <desc>Clean Test Images on Test Server</desc>
<svr_id>0</svr_id> <node>ofqot</node>
<images>oai-gnb</images> <images>oai-gnb</images>
</testCase> </testCase>
+2
View File
@@ -32,10 +32,12 @@
<testCase id="000002"> <testCase id="000002">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<node>carabe</node>
</testCase> </testCase>
<testCase id="000001"> <testCase id="000001">
<class>Cppcheck_Analysis</class> <class>Cppcheck_Analysis</class>
<desc>Static Code Analysis with cppcheck</desc> <desc>Static Code Analysis with cppcheck</desc>
<node>carabe</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -32,6 +32,7 @@
<testCase id="000002"> <testCase id="000002">
<class>LicenceAndFormattingCheck</class> <class>LicenceAndFormattingCheck</class>
<desc>License and Formatting Checks</desc> <desc>License and Formatting Checks</desc>
<node>obelix</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -45,6 +45,7 @@
<testCase id="090101"> <testCase id="090101">
<class>Initialize_eNB</class> <class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc> <desc>Initialize gNB USRP</desc>
<node>caracal</node>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.106prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 106 -t 23 -D 127 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args> <Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.106prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 106 -t 23 -D 127 -m 28 -M 106 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<rt_stats_cfg>datalog_rt_stats.default.yaml</rt_stats_cfg> <rt_stats_cfg>datalog_rt_stats.default.yaml</rt_stats_cfg>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
@@ -63,6 +64,7 @@
<class>Terminate_eNB</class> <class>Terminate_eNB</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Terminate gNB</desc> <desc>Terminate gNB</desc>
<node>caracal</node>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
</testCase> </testCase>
@@ -45,6 +45,7 @@
<testCase id="390101"> <testCase id="390101">
<class>Initialize_eNB</class> <class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc> <desc>Initialize gNB USRP</desc>
<node>caracal</node>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.273prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 273 -t 23 -D 127 -m 23 -M 273 -l 2 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args> <Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.273prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 273 -t 23 -D 127 -m 23 -M 273 -l 2 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<rt_stats_cfg>datalog_rt_stats.100.2x2.yaml</rt_stats_cfg> <rt_stats_cfg>datalog_rt_stats.100.2x2.yaml</rt_stats_cfg>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
@@ -63,6 +64,7 @@
<class>Terminate_eNB</class> <class>Terminate_eNB</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Terminate gNB</desc> <desc>Terminate gNB</desc>
<node>caracal</node>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
</testCase> </testCase>
@@ -45,6 +45,7 @@
<testCase id="190101"> <testCase id="190101">
<class>Initialize_eNB</class> <class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc> <desc>Initialize gNB USRP</desc>
<node>caracal</node>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.162prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 162 -t 23 -D 127 -m 23 -M 162 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args> <Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.162prb.usrpn300.phytest-dora.conf --phy-test -q -U 768 -T 162 -t 23 -D 127 -m 23 -M 162 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<rt_stats_cfg>datalog_rt_stats.1x1.60.yaml</rt_stats_cfg> <rt_stats_cfg>datalog_rt_stats.1x1.60.yaml</rt_stats_cfg>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
@@ -63,6 +64,7 @@
<class>Terminate_eNB</class> <class>Terminate_eNB</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Terminate gNB</desc> <desc>Terminate gNB</desc>
<node>caracal</node>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
</testCase> </testCase>
@@ -45,6 +45,7 @@
<testCase id="290101"> <testCase id="290101">
<class>Initialize_eNB</class> <class>Initialize_eNB</class>
<desc>Initialize gNB USRP</desc> <desc>Initialize gNB USRP</desc>
<node>caracal</node>
<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.162prb.usrpn300.phytest-dora.conf --phy-test --gNBs.[0].pdsch_AntennaPorts_XP 2 --RUs.[0].nb_tx 2 --RUs.[0].nb_rx 2 -q -U 768 -T 162 -t 23 -D 127 -m 23 -M 162 -l 2 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args> <Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band79.162prb.usrpn300.phytest-dora.conf --phy-test --gNBs.[0].pdsch_AntennaPorts_XP 2 --RUs.[0].nb_tx 2 --RUs.[0].nb_rx 2 -q -U 768 -T 162 -t 23 -D 127 -m 23 -M 162 -l 2 --usrp-tx-thread-config 1 --log_config.global_log_options level,nocolor,time</Initialize_eNB_args>
<rt_stats_cfg>datalog_rt_stats.60.2x2.yaml</rt_stats_cfg> <rt_stats_cfg>datalog_rt_stats.60.2x2.yaml</rt_stats_cfg>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
@@ -63,6 +64,7 @@
<class>Terminate_eNB</class> <class>Terminate_eNB</class>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<desc>Terminate gNB</desc> <desc>Terminate gNB</desc>
<node>caracal</node>
<air_interface>NR</air_interface> <air_interface>NR</air_interface>
</testCase> </testCase>
+2 -1
View File
@@ -34,14 +34,15 @@
<testCase id="000000"> <testCase id="000000">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<node>caracal</node>
</testCase> </testCase>
<testCase id="010101"> <testCase id="010101">
<mode>TesteNB</mode> <mode>TesteNB</mode>
<class>Build_eNB</class> <class>Build_eNB</class>
<desc>Build gNB (USRP)</desc> <desc>Build gNB (USRP)</desc>
<node>caracal</node>
<Build_eNB_args>--gNB -w USRP --ninja -c -P --build-lib ldpc_cuda --build-lib ldpc_aal --cmake-opt -DASN1C_EXEC=/opt/asn1c/bin/asn1c</Build_eNB_args> <Build_eNB_args>--gNB -w USRP --ninja -c -P --build-lib ldpc_cuda --build-lib ldpc_aal --cmake-opt -DASN1C_EXEC=/opt/asn1c/bin/asn1c</Build_eNB_args>
<forced_workspace_cleanup>True</forced_workspace_cleanup>
</testCase> </testCase>
<testCase id="100000"> <testCase id="100000">
+40
View File
@@ -35,6 +35,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3872 -s10 -n100</physim_run_args> <physim_run_args>-l 3872 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -43,6 +44,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3872 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 3872 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -51,6 +53,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4224 -s10 -n100</physim_run_args> <physim_run_args>-l 4224 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -59,6 +62,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4224 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 4224 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -67,6 +71,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4576 -s10 -n100</physim_run_args> <physim_run_args>-l 4576 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -75,6 +80,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4576 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 4576 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -83,6 +89,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4928 -s10 -n100</physim_run_args> <physim_run_args>-l 4928 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -91,6 +98,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 4928 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 4928 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -99,6 +107,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 5280 -s10 -n100</physim_run_args> <physim_run_args>-l 5280 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -107,6 +116,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 5280 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 5280 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -115,6 +125,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 5632 -s10 -n100</physim_run_args> <physim_run_args>-l 5632 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -123,6 +134,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 5632 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 5632 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -131,6 +143,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 6336 -s10 -n100</physim_run_args> <physim_run_args>-l 6336 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -139,6 +152,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 6336 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 6336 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -147,6 +161,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 7040 -s10 -n100</physim_run_args> <physim_run_args>-l 7040 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -155,6 +170,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 7040 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 7040 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -163,6 +179,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 7744 -s10 -n100</physim_run_args> <physim_run_args>-l 7744 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -171,6 +188,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 7744 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 7744 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -179,6 +197,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 8448 -s10 -n100</physim_run_args> <physim_run_args>-l 8448 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -187,6 +206,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 8448 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 8448 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -195,6 +215,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 1 -s10 -n100</physim_run_args> <physim_run_args>-l 1 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -203,6 +224,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 1 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 1 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -211,6 +233,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 100 -s10 -n100</physim_run_args> <physim_run_args>-l 100 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -219,6 +242,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 100 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 100 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -227,6 +251,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 193 -s10 -n100</physim_run_args> <physim_run_args>-l 193 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -235,6 +260,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 193 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 193 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -243,6 +269,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 500 -s10 -n100</physim_run_args> <physim_run_args>-l 500 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -251,6 +278,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 500 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 500 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -259,6 +287,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 561 -s10 -n100</physim_run_args> <physim_run_args>-l 561 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -267,6 +296,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 561 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 561 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -275,6 +305,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 600 -s10 -n100</physim_run_args> <physim_run_args>-l 600 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -283,6 +314,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 600 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 600 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -291,6 +323,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 641 -s10 -n100</physim_run_args> <physim_run_args>-l 641 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -299,6 +332,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 641 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 641 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -307,6 +341,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 2000 -s10 -n100</physim_run_args> <physim_run_args>-l 2000 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -315,6 +350,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 2000 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 2000 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -323,6 +359,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3000 -s10 -n100</physim_run_args> <physim_run_args>-l 3000 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -331,6 +368,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3000 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 3000 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
@@ -339,6 +377,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with CPU</desc> <desc>Run LDPC Test with CPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3840 -s10 -n100</physim_run_args> <physim_run_args>-l 3840 -s10 -n100</physim_run_args>
</testCase> </testCase>
@@ -347,6 +386,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run LDPC Test with GPU</desc> <desc>Run LDPC Test with GPU</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>ldpctest</physim_test> <physim_test>ldpctest</physim_test>
<physim_run_args>-l 3840 -s10 -n100 -G 1</physim_run_args> <physim_run_args>-l 3840 -s10 -n100 -G 1</physim_run_args>
</testCase> </testCase>
-38
View File
@@ -1,38 +0,0 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-closure</htmlTabRef>
<htmlTabName>EPC-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
060000
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="060000">
<class>UndeployCoreNetwork</class>
<desc>Terminate EPC</desc>
<cn_id>ltebox-nepes</cn_id>
</testCase>
</testCaseList>
-39
View File
@@ -1,39 +0,0 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>epc-start-tab</htmlTabRef>
<htmlTabName>EPC-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
000100
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000100">
<class>DeployCoreNetwork</class>
<desc>Start EPC</desc>
<cn_id>ltebox-nepes</cn_id>
</testCase>
</testCaseList>
@@ -33,15 +33,14 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>avra</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="010201"> <testCase id="010201">
<class>Deploy_Run_PhySim</class> <class>Deploy_Run_PhySim</class>
<desc>Deploy and run physical simulator on openshift</desc> <desc>Deploy and run physical simulator on openshift</desc>
<oc_release>physims-4g</oc_release> <oc_release>physims-4g</oc_release>
<svr_id>avra</svr_id> <node>avra</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -33,15 +33,14 @@
<testCase id="800813"> <testCase id="800813">
<class>Create_Workspace</class> <class>Create_Workspace</class>
<desc>Create new Workspace</desc> <desc>Create new Workspace</desc>
<eNB_instance>0</eNB_instance> <node>avra</node>
<eNB_serverId>0</eNB_serverId>
</testCase> </testCase>
<testCase id="010201"> <testCase id="010201">
<class>Deploy_Run_PhySim</class> <class>Deploy_Run_PhySim</class>
<desc>Deploy and run physical simulator on openshift</desc> <desc>Deploy and run physical simulator on openshift</desc>
<oc_release>physims-5g</oc_release> <oc_release>physims-5g</oc_release>
<svr_id>avra</svr_id> <node>avra</node>
</testCase> </testCase>
</testCaseList> </testCaseList>
@@ -1,38 +0,0 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>cn5g-start-tab</htmlTabRef>
<htmlTabName>CN5G-Start</htmlTabName>
<htmlTabIcon>log-in</htmlTabIcon>
<TestCaseRequestedList>
000100
</TestCaseRequestedList>
<TestCaseExclusionList>
</TestCaseExclusionList>
<testCase id="000100">
<class>DeployCoreNetwork</class>
<desc>Initialize 5G Core</desc>
<cn_id>oc-cn5g</cn_id>
</testCase>
</testCaseList>
@@ -1,38 +0,0 @@
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>cn5g-closure</htmlTabRef>
<htmlTabName>CN5G-Closure</htmlTabName>
<htmlTabIcon>log-out</htmlTabIcon>
<TestCaseRequestedList>
060000
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase id="060000">
<class>UndeployCoreNetwork</class>
<desc>Terminate 5G Core</desc>
<cn_id>oc-cn5g</cn_id>
</testCase>
</testCaseList>
@@ -51,6 +51,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P</physim_run_args>
@@ -60,6 +61,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>100</physim_time_threshold> <physim_time_threshold>100</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -69,6 +71,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P</physim_run_args>
@@ -78,6 +81,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>150</physim_time_threshold> <physim_time_threshold>150</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -87,6 +91,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>250</physim_time_threshold> <physim_time_threshold>250</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P</physim_run_args>
@@ -96,6 +101,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>250</physim_time_threshold> <physim_time_threshold>250</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r106 -R106 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -105,6 +111,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P</physim_run_args>
@@ -114,6 +121,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>150</physim_time_threshold> <physim_time_threshold>150</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -123,6 +131,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P</physim_run_args>
@@ -132,6 +141,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>350</physim_time_threshold> <physim_time_threshold>350</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -141,6 +151,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P</physim_run_args>
@@ -150,6 +161,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>550</physim_time_threshold> <physim_time_threshold>550</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -159,6 +171,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
@@ -168,6 +181,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>250</physim_time_threshold> <physim_time_threshold>250</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m5 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -177,6 +191,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>600</physim_time_threshold> <physim_time_threshold>600</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
@@ -186,6 +201,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>650</physim_time_threshold> <physim_time_threshold>650</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m15 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -195,6 +211,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>650</physim_time_threshold> <physim_time_threshold>650</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P</physim_run_args>
@@ -204,6 +221,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc> <desc>Run nr_ulsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_ulsim</physim_test> <physim_test>nr_ulsim</physim_test>
<physim_time_threshold>1100</physim_time_threshold> <physim_time_threshold>1100</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -m25 -r273 -R273 -C10 -W2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -52,6 +52,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>230</physim_time_threshold> <physim_time_threshold>230</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
@@ -61,6 +62,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>100</physim_time_threshold> <physim_time_threshold>100</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -70,6 +72,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
@@ -79,6 +82,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>100</physim_time_threshold> <physim_time_threshold>100</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -88,6 +92,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>350</physim_time_threshold> <physim_time_threshold>350</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X 8,9,10,11,12 -P</physim_run_args>
@@ -97,6 +102,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 106 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>200</physim_time_threshold> <physim_time_threshold>200</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b106 -R106 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -106,6 +112,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
@@ -115,6 +122,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>150</physim_time_threshold> <physim_time_threshold>150</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -124,6 +132,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>350</physim_time_threshold> <physim_time_threshold>350</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
@@ -133,6 +142,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>250</physim_time_threshold> <physim_time_threshold>250</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -142,6 +152,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -P</physim_run_args>
@@ -151,6 +162,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 1 layer</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -160,6 +172,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
@@ -169,6 +182,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>200</physim_time_threshold> <physim_time_threshold>200</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -178,6 +192,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>450</physim_time_threshold> <physim_time_threshold>450</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
@@ -187,6 +202,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 15, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>500</physim_time_threshold> <physim_time_threshold>500</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -196,6 +212,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>500</physim_time_threshold> <physim_time_threshold>500</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X 8,9,10,11,12 -x2 -z2 -y2 -P</physim_run_args>
@@ -205,6 +222,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 25, 273 PRBs, 2 layers</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>500</physim_time_threshold> <physim_time_threshold>500</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z2 -y2 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -214,6 +232,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 5, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
@@ -223,6 +242,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 5, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>200</physim_time_threshold> <physim_time_threshold>200</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e5 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -232,6 +252,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 20, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 20, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>400</physim_time_threshold> <physim_time_threshold>400</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
@@ -241,6 +262,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 20, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 20, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>300</physim_time_threshold> <physim_time_threshold>300</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e15 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>
@@ -250,6 +272,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with CPU: SNR = 30, MCS = 27, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with CPU: SNR = 30, MCS = 27, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>450</physim_time_threshold> <physim_time_threshold>450</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X8,9,10,11,12 -x2 -z4 -y4 -P</physim_run_args>
@@ -259,6 +282,7 @@
<class>Run_Physim</class> <class>Run_Physim</class>
<desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 27, 273 PRBs, 2 layers, 4 antennas</desc> <desc>Run nr_dlsim with T2 LDPC offload: SNR = 30, MCS = 27, 273 PRBs, 2 layers, 4 antennas</desc>
<always_exec>true</always_exec> <always_exec>true</always_exec>
<node>caracal</node>
<physim_test>nr_dlsim</physim_test> <physim_test>nr_dlsim</physim_test>
<physim_time_threshold>450</physim_time_threshold> <physim_time_threshold>450</physim_time_threshold>
<physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args> <physim_run_args>-n1000 -s30 -S30.2 -e25 -b273 -R273 -X4,5,6,7,8,9 -x2 -z4 -y4 -P --loader.ldpc.shlibversion _aal --nrLDPC_coding_aal.dpdk_dev af:00.0 --nrLDPC_coding_aal.dpdk_core_list 11-12 --nrLDPC_coding_aal.is_t2 1</physim_run_args>

Some files were not shown because too many files have changed in this diff Show More