Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
ac1d0dd0
Commit
ac1d0dd0
authored
May 31, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_sa_rfsim_test' into develop-NR_SA_F1AP_5GRECORDS
parents
42365c9a
8fbf4445
Changes
3
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
512 additions
and
10 deletions
+512
-10
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
+297
-0
ci-scripts/reportTestLocally.sh
ci-scripts/reportTestLocally.sh
+76
-0
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+139
-10
No files found.
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpb210.conf
0 → 100644
View file @
ac1d0dd0
This diff is collapsed.
Click to expand it.
ci-scripts/reportTestLocally.sh
View file @
ac1d0dd0
...
...
@@ -748,6 +748,82 @@ function report_test {
echo
" <th>Statistics</th>"
>>
./test_simulator_results.html
echo
" </tr>"
>>
./test_simulator_results.html
#SA
EPC_CONFIGS
=(
"noS1"
)
TRANS_MODES
=(
"tdd"
)
FR_MODE
=(
"SA"
)
BW_CASES
=(
106
)
for
CN_CONFIG
in
${
EPC_CONFIGS
[@]
}
do
for
TMODE
in
${
TRANS_MODES
[@]
}
do
for
BW
in
${
BW_CASES
[@]
}
do
echo
" <tr bgcolor =
\"
#8FBC8F
\"
>"
>>
./test_simulator_results.html
if
[[
$CN_CONFIG
=
~ .
*
wS1.
*
]]
then
echo
" <td align =
\"
center
\"
colspan = 4 >Test with EPC (aka withS1):
${
TMODE
}
--
${
BW
}
PRB --
${
FR_MODE
}
</td>"
>>
./test_simulator_results.html
else
echo
" <td align =
\"
center
\"
colspan = 4 >Test without EPC (aka noS1):
${
TMODE
}
--
${
BW
}
PRB --
${
FR_MODE
}
</td>"
>>
./test_simulator_results.html
fi
echo
" </tr>"
>>
./test_simulator_results.html
#SA test (--sa option)
SA_ENB_LOG
=
$ARCHIVES_LOC
/
${
TMODE
}
_
${
BW
}
prb_
${
CN_CONFIG
}
_gnb_sa_test.log
SA_UE_LOG
=
$ARCHIVES_LOC
/
${
TMODE
}
_
${
BW
}
prb_
${
CN_CONFIG
}
_ue_sa_test.log
if
[
-f
$RA_ENB_LOG
]
&&
[
-f
$RA_UE_LOG
]
then
#get rid of full path
NAME_ENB
=
`
echo
$SA_ENB_LOG
|
sed
-e
"s#
$ARCHIVES_LOC
/##"
`
NAME_UE
=
`
echo
$SA_UE_LOG
|
sed
-e
"s#
$ARCHIVES_LOC
/##"
`
echo
" <tr>"
>>
./test_simulator_results.html
echo
" <td>
$NAME_ENB
---
$NAME_UE
</td>"
>>
./test_simulator_results.html
echo
" <td>Check if SA proc succeeded</td>"
>>
./test_simulator_results.html
RRC_CHECK
=
`
egrep
-c
"Received rrcSetupComplete"
$SA_ENB_LOG
`
CBRA_CHECK
=
`
egrep
-c
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$SA_ENB_LOG
`
SIB1_CHECK
=
`
egrep
-c
"SIB1 decoded"
$SA_UE_LOG
`
if
[
$RRC_CHECK
-gt
0
]
&&
[
$CBRA_CHECK
-gt
0
]
&&
[
$SIB1_CHECK
-gt
0
]
then
echo
" <td bgcolor =
\"
green
\"
>OK</td>"
>>
./test_simulator_results.html
else
echo
" <td bgcolor =
\"
red
\"
>KO</td>"
>>
./test_simulator_results.html
fi
echo
" <td><pre>"
>>
./test_simulator_results.html
if
[
$RRC_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- Received rrcSetupComplete OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- Received rrcSetupComplete KO</b></font>"
>>
./test_simulator_results.html
fi
if
[
$CBRA_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- CBRA procedure succeeded OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- CBRA procedure succeeded KO</b></font>"
>>
./test_simulator_results.html
fi
if
[
$SIB1_CHECK
-gt
0
]
then
echo
"<font color =
\"
blue
\"
>- SIB1 decoded OK</font>"
>>
./test_simulator_results.html
else
echo
"<font color =
\"
red
\"
><b>- SIB1 decoded KO</b></font>"
>>
./test_simulator_results.html
fi
echo
" </pre></td>"
>>
./test_simulator_results.html
echo
" </tr>"
>>
./test_simulator_results.html
fi
done
done
done
EPC_CONFIGS
=(
"noS1"
)
TRANS_MODES
=(
"tdd"
)
FR_MODE
=(
"FR2"
)
...
...
ci-scripts/runTestOnVM.sh
View file @
ac1d0dd0
...
...
@@ -277,6 +277,46 @@ function check_ping_result {
}
function
check_sa_result
{
local
LOC_GNB_LOG
=
$1
local
LOC_UE_LOG
=
$2
#if log files exist
if
[
-f
$LOC_GNB_LOG
]
&&
[
-f
$LOC_UE_LOG
]
then
#gNB SA test
#console check
echo
"Checking gNB Log for SA success"
egrep
"Received rrcSetupComplete"
$1
egrep
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$1
#script check
local
RRC_CHECK
=
`
egrep
-c
"Received rrcSetupComplete"
$1
`
local
CBRA_CHECK
=
`
egrep
-c
"Received Ack of RA-Msg4
\.
CBRA procedure succeeded"
$1
`
#UE SA test
#console check
echo
'Checking UE Log for SA success'
egrep
"SIB1 decoded"
$2
#script check
local
SIB1_CHECK
=
`
egrep
-c
"SIB1 decoded"
$2
`
#generate status
if
[
$RRC_CHECK
-eq
0
]
||
[
$CBRA_CHECK
-eq
0
]
||
[
$SIB1_CHECK
-eq
0
]
then
SA_STATUS
=
-1
echo
"SA test FAILED, could not find the markers"
fi
#case where log files do not exist
else
echo
"SA test log files not present"
SA_STATUS
=
-1
fi
}
function
check_ra_result
{
local
LOC_GNB_LOG
=
$1
local
LOC_UE_LOG
=
$2
...
...
@@ -1209,8 +1249,8 @@ function start_rf_sim_gnb {
local
LOC_CONF_FILE
=
$5
# 1 is with S1 and 0 without S1 aka noS1
local
LOC_S1_CONFIGURATION
=
$6
#LOC_RA_
TEST=1 will run the RA test check
local
LOC_RA_TEST
=
$7
#LOC_RA_
SA_TEST=1 will run the RA test check ; =2 will run the SA test
local
LOC_RA_
SA_
TEST
=
$7
if
[
-e
rbconfig.raw
]
;
then
rm
-f
rbconfig.raw
;
fi
if
[
-e
reconfig.raw
]
;
then
rm
-f
reconfig.raw
;
fi
...
...
@@ -1233,11 +1273,14 @@ function start_rf_sim_gnb {
echo
"sudo rm -f r*config.raw"
>>
$1
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
then
if
[
$LOC_RA_TEST
-eq
0
]
#no RA test => use --phy-test option
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
#no RA test => use --phy-test option
then
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#RA test => use --do-ra option
elif
[
$LOC_RA_SA_TEST
-eq
1
]
#RA test => use --do-ra option
then
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --rfsim --do-ra --lowmem --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#SA test => use --sa option
echo
"echo
\"
./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-
$LOC_CONF_FILE
--log_config.global_log_options level,nocolor --parallel-config PARALLEL_SINGLE_THREAD --rfsim --sa --lowmem
\"
> ./my-nr-softmodem-run.sh "
>>
$1
fi
fi
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
...
...
@@ -1273,7 +1316,7 @@ function start_rf_sim_gnb {
fi
# check noS1 config only outside RA test (as it does not support noS1)
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
&&
[
$LOC_RA_TEST
-eq
0
]
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
&&
[
$LOC_RA_
SA_
TEST
-eq
0
]
then
echo
"ifconfig oaitun_enb1 | egrep -c
\"
inet addr
\"
"
>
$1
# Checking oaitun_enb1 interface has now an IP address
...
...
@@ -1318,8 +1361,8 @@ function start_rf_sim_nr_ue {
local
LOC_FREQUENCY
=
$6
# 1 is with S1 and 0 without S1 aka noS1
local
LOC_S1_CONFIGURATION
=
$7
#LOC_RA_
TEST=1 will run the RA test check
local
LOC_RA_TEST
=
$8
#LOC_RA_
SA_TEST=1 will run the RA test check ; =2 will run the SA test
local
LOC_RA_
SA_
TEST
=
$8
# Copy the RAW files from the gNB run
scp
-o
StrictHostKeyChecking
=
no rbconfig.raw ubuntu@
$LOC_NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp
...
...
@@ -1336,11 +1379,14 @@ function start_rf_sim_nr_ue {
echo
"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/"
>>
$1
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
then
if
[
$LOC_RA_TEST
-eq
0
]
#no RA test => use --phy-test option
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
#no RA test => use --phy-test option
then
echo
"echo
\"
./nr-uesoftmodem --nokrnmod 1 --rfsim --phy-test --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/ --log_config.global_log_options level,nocolor --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#RA test => use --do-ra option
elif
[
$LOC_RA_SA_TEST
-eq
1
]
#RA test => use --do-ra option
then
echo
"echo
\"
./nr-uesoftmodem --rfsim --do-ra --log_config.global_log_options level,nocolor --rrc_config_path /home/ubuntu/tmp/cmake_targets/ran_build/build/
\"
> ./my-nr-softmodem-run.sh "
>>
$1
else
#SA test => use --sa option
echo
"echo
\"
./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --rfsim --sa --log_config.global_log_options level,nocolor
\"
> ./my-nr-softmodem-run.sh "
>>
$1
fi
fi
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
...
...
@@ -1375,7 +1421,7 @@ function start_rf_sim_nr_ue {
echo
"RF-SIM NR-UE is sync'ed w/ gNB"
fi
# Checking oaitun_ue1 interface has now an IP address (only outside RA test)
if
[
$LOC_RA_TEST
-eq
0
]
if
[
$LOC_RA_
SA_
TEST
-eq
0
]
then
i
=
"0"
echo
"ifconfig oaitun_ue1 | egrep -c
\"
inet addr
\"
"
>
$1
...
...
@@ -2189,6 +2235,88 @@ function run_test_on_vm {
if
[[
"
$RUN_OPTIONS
"
==
"complex"
]]
&&
[[
$VM_NAME
=
~ .
*
-rf-sim
.
*
]]
then
echo
"############################################################"
echo
"SA TEST"
echo
"############################################################"
#SA test, attention : has a different config file from the rest of the test
CN_CONFIG
=
"noS1"
CONF_FILE
=
gnb.band78.sa.fr1.106PRB.usrpb210.conf
S1_NOS1_CFG
=
0
PRB
=
106
FREQUENCY
=
3510
if
[
!
-d
$ARCHIVES_LOC
]
then
mkdir
--parents
$ARCHIVES_LOC
fi
local
try_cnt
=
0
NR_STATUS
=
0
######### start of SA TEST loop
while
[
$try_cnt
-lt
5
]
#5 because it hardly succeed within CI
do
SYNC_STATUS
=
0
SA_STATUS
=
0
rm
-f
$ARCHIVES_LOC
/tdd_
${
PRB
}
prb_
${
CN_CONFIG
}*
sa_test.log
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Starting the gNB"
echo
"############################################################"
CURRENT_GNB_LOG_FILE
=
tdd_
${
PRB
}
prb_
${
CN_CONFIG
}
_gnb_sa_test.log
#last argument = 2 is to enable --sa for SA test
start_rf_sim_gnb
$GNB_VM_CMDS
"
$GNB_VM_IP_ADDR
"
$CURRENT_GNB_LOG_FILE
$PRB
$CONF_FILE
$S1_NOS1_CFG
2
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Starting the NR-UE"
echo
"############################################################"
CURRENT_NR_UE_LOG_FILE
=
tdd_
${
PRB
}
prb_
${
CN_CONFIG
}
_ue_sa_test.log
#last argument = 2 is to enable --sa for SA test
start_rf_sim_nr_ue
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
$GNB_VM_IP_ADDR
$CURRENT_NR_UE_LOG_FILE
$PRB
$FREQUENCY
$S1_NOS1_CFG
2
if
[
$NR_UE_SYNC
-eq
0
]
then
echo
"Problem w/ gNB and NR-UE not syncing"
terminate_enb_ue_basic_sim
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
2
terminate_enb_ue_basic_sim
$GNB_VM_CMDS
$GNB_VM_IP_ADDR
1
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$GNB_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_NR_UE_LOG_FILE
$ARCHIVES_LOC
SYNC_STATUS
=
-1
try_cnt
=
$((
try_cnt+1
))
continue
fi
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Terminate gNB/NR-UE simulators"
echo
"############################################################"
sleep
20
terminate_enb_ue_basic_sim
$NR_UE_VM_CMDS
$NR_UE_VM_IP_ADDR
2
terminate_enb_ue_basic_sim
$GNB_VM_CMDS
$GNB_VM_IP_ADDR
1
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$GNB_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
scp
-o
StrictHostKeyChecking
=
no ubuntu@
$NR_UE_VM_IP_ADDR
:/home/ubuntu/tmp/cmake_targets/log/
$CURRENT_NR_UE_LOG_FILE
$ARCHIVES_LOC
#check SA markers in gNB and NR UE log files
echo
"############################################################"
echo
"
${
CN_CONFIG
}
: Checking SA on gNB / NR-UE"
echo
"############################################################"
# Proper check to be done when SA test is working!
check_sa_result
$ARCHIVES_LOC
/
$CURRENT_GNB_LOG_FILE
$ARCHIVES_LOC
/
$CURRENT_NR_UE_LOG_FILE
if
[
$SA_STATUS
-ne
0
]
then
echo
"SA test NOT OK"
echo
"try_cnt = "
$try_cnt
try_cnt
=
$((
try_cnt+1
))
else
try_cnt
=
$((
try_cnt+10
))
fi
done
########### end SA test
sleep
30
echo
"############################################################"
echo
"RA TEST FR2"
echo
"############################################################"
...
...
@@ -2493,6 +2621,7 @@ function run_test_on_vm {
echo
"Checking run status"
echo
"############################################################"
if
[
$SA_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_FR2_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$RA_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
if
[
$SYNC_STATUS
-ne
0
]
;
then
NR_STATUS
=
-1
;
fi
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment