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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
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
lizhongxiao
OpenXG-RAN
Commits
a859c881
Commit
a859c881
authored
Jan 19, 2022
by
hardy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
make real time monitor cfg PER test (called in xml) + update 2x2 tests requirements
parent
b0d462e0
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
58 additions
and
4 deletions
+58
-4
ci-scripts/constants.py
ci-scripts/constants.py
+1
-0
ci-scripts/datalog_rt_stats.2x2.yaml
ci-scripts/datalog_rt_stats.2x2.yaml
+35
-0
ci-scripts/datalog_rt_stats.default.yaml
ci-scripts/datalog_rt_stats.default.yaml
+0
-0
ci-scripts/main.py
ci-scripts/main.py
+5
-0
ci-scripts/ran.py
ci-scripts/ran.py
+11
-4
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
+1
-0
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
+1
-0
ci-scripts/xml_files/fr1_sa_quectel.xml
ci-scripts/xml_files/fr1_sa_quectel.xml
+1
-0
ci-scripts/xml_files/fr1_sa_quectel_162prb.xml
ci-scripts/xml_files/fr1_sa_quectel_162prb.xml
+1
-0
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
+1
-0
ci-scripts/xml_files/fr1_sa_quectel_stages_162prb.xml
ci-scripts/xml_files/fr1_sa_quectel_stages_162prb.xml
+1
-0
No files found.
ci-scripts/constants.py
View file @
a859c881
...
@@ -44,6 +44,7 @@ ENB_PROCESS_ASSERTION = -12
...
@@ -44,6 +44,7 @@ ENB_PROCESS_ASSERTION = -12
ENB_PROCESS_REALTIME_ISSUE
=
-
13
ENB_PROCESS_REALTIME_ISSUE
=
-
13
ENB_PROCESS_NOLOGFILE_TO_ANALYZE
=
-
14
ENB_PROCESS_NOLOGFILE_TO_ANALYZE
=
-
14
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
=
-
15
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
=
-
15
ENB_REAL_TIME_PROCESSING_ISSUE
=
-
16
HSS_PROCESS_FAILED
=
-
2
HSS_PROCESS_FAILED
=
-
2
HSS_PROCESS_OK
=
+
2
HSS_PROCESS_OK
=
+
2
MME_PROCESS_FAILED
=
-
3
MME_PROCESS_FAILED
=
-
3
...
...
ci-scripts/datalog_rt_stats.2x2.yaml
0 → 100644
View file @
a859c881
#this is a configuration file
#used to build real time processing statistics
#for 5G NR phy test (gNB terminate)
Title
:
Processing Time (us)
ColNames
:
-
Metric
-
Average
-
Max
-
Average vs Reference Deviation (Reference Value ; Acceptability Threshold)
Ref
:
feprx
:
120.0
feptx_prec
:
8.0
feptx_ofdm
:
50.0
feptx_total
:
75.0
L1 Tx processing thread 0
:
300.0
L1 Tx processing thread 1
:
300.0
DLSCH encoding
:
230.0
L1 Rx processing
:
175.0
PUSCH inner-receiver
:
100.0
PUSCH decoding
:
180.0
DL & UL scheduling timing stats
:
37.0
UL Indication
:
38.0
Threshold
:
feprx
:
1.25
feptx_prec
:
1.25
feptx_ofdm
:
1.25
feptx_total
:
1.25
L1 Tx processing thread 0
:
1.25
L1 Tx processing thread 1
:
1.25
DLSCH encoding
:
1.25
L1 Rx processing
:
1.25
PUSCH inner-receiver
:
1.25
PUSCH decoding
:
1.25
DL & UL scheduling timing stats
:
1.25
UL Indication
:
1.25
ci-scripts/datalog_rt_stats.yaml
→
ci-scripts/datalog_rt_stats.
default.
yaml
View file @
a859c881
File moved
ci-scripts/main.py
View file @
a859c881
...
@@ -155,6 +155,11 @@ def GetParametersFromXML(action):
...
@@ -155,6 +155,11 @@ def GetParametersFromXML(action):
elif
action
==
'Initialize_eNB'
:
elif
action
==
'Initialize_eNB'
:
RAN
.
eNB_Trace
=
test
.
findtext
(
'eNB_Trace'
)
RAN
.
eNB_Trace
=
test
.
findtext
(
'eNB_Trace'
)
RAN
.
eNB_Stats
=
test
.
findtext
(
'eNB_Stats'
)
RAN
.
eNB_Stats
=
test
.
findtext
(
'eNB_Stats'
)
datalog_rt_stats_file
=
test
.
findtext
(
'rt_stats_cfg'
)
if
datalog_rt_stats_file
is
None
:
RAN
.
datalog_rt_stats_file
=
'datalog_rt_stats.default.yaml'
else
:
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'
)
eNB_instance
=
test
.
findtext
(
'eNB_instance'
)
USRPIPAddress
=
test
.
findtext
(
'USRP_IPAddress'
)
USRPIPAddress
=
test
.
findtext
(
'USRP_IPAddress'
)
...
...
ci-scripts/ran.py
View file @
a859c881
...
@@ -92,6 +92,7 @@ class RANManagement():
...
@@ -92,6 +92,7 @@ class RANManagement():
self
.
epcPcapFile
=
''
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
.
eNB_Trace
=
''
#if 'yes', Tshark will be launched at initialization
self
.
eNB_Trace
=
''
#if 'yes', Tshark will be launched at initialization
self
.
eNB_Stats
=
''
#if 'yes', Statistics Monitor will be launched at initialization
self
.
eNB_Stats
=
''
#if 'yes', Statistics Monitor will be launched at initialization
self
.
USRPIPAddress
=
''
self
.
USRPIPAddress
=
''
...
@@ -717,6 +718,9 @@ class RANManagement():
...
@@ -717,6 +718,9 @@ class RANManagement():
logStatus
=
self
.
AnalyzeLogFile_eNB
(
fileToAnalyze
,
HTML
)
logStatus
=
self
.
AnalyzeLogFile_eNB
(
fileToAnalyze
,
HTML
)
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
.
prematureExit
=
True
self
.
prematureExit
=
True
self
.
eNBmbmsEnables
[
int
(
self
.
eNB_instance
)]
=
False
self
.
eNBmbmsEnables
[
int
(
self
.
eNB_instance
)]
=
False
return
return
...
@@ -802,6 +806,7 @@ class RANManagement():
...
@@ -802,6 +806,7 @@ class RANManagement():
#NSA specific log markers
#NSA specific log markers
nsa_markers
=
{
'SgNBReleaseRequestAcknowledge'
:
[],
'FAILURE'
:
[],
'scgFailureInformationNR-r15'
:
[],
'SgNBReleaseRequest'
:
[]}
nsa_markers
=
{
'SgNBReleaseRequestAcknowledge'
:
[],
'FAILURE'
:
[],
'scgFailureInformationNR-r15'
:
[],
'SgNBReleaseRequest'
:
[]}
nodeB_prefix_found
=
False
nodeB_prefix_found
=
False
RealTimeProcessingIssue
=
False
line_cnt
=
0
#log file line counter
line_cnt
=
0
#log file line counter
for
line
in
enb_log_file
.
readlines
():
for
line
in
enb_log_file
.
readlines
():
...
@@ -1003,7 +1008,7 @@ class RANManagement():
...
@@ -1003,7 +1008,7 @@ class RANManagement():
#the following part takes the *_stats.log files as source (not the stdout log file)
#the following part takes the *_stats.log files as source (not the stdout log file)
#the datalog config file has to be loaded
#the datalog config file has to be loaded
datalog_rt_stats_file
=
'datalog_rt_stats.yaml'
datalog_rt_stats_file
=
self
.
datalog_rt_stats_file
if
(
os
.
path
.
isfile
(
datalog_rt_stats_file
)):
if
(
os
.
path
.
isfile
(
datalog_rt_stats_file
)):
yaml_file
=
datalog_rt_stats_file
yaml_file
=
datalog_rt_stats_file
elif
(
os
.
path
.
isfile
(
'ci-scripts/'
+
datalog_rt_stats_file
)):
elif
(
os
.
path
.
isfile
(
'ci-scripts/'
+
datalog_rt_stats_file
)):
...
@@ -1120,8 +1125,7 @@ class RANManagement():
...
@@ -1120,8 +1125,7 @@ class RANManagement():
#check if there is a fail => will render the test as failed
#check if there is a fail => will render the test as failed
for
k
in
datalog_rt_stats
[
'Data'
]:
for
k
in
datalog_rt_stats
[
'Data'
]:
if
float
(
datalog_rt_stats
[
'Data'
][
k
][
2
])
>
datalog_rt_stats
[
'Threshold'
][
k
]:
#condition for fail : avg/ref is greater than the fixed threshold
if
float
(
datalog_rt_stats
[
'Data'
][
k
][
2
])
>
datalog_rt_stats
[
'Threshold'
][
k
]:
#condition for fail : avg/ref is greater than the fixed threshold
#setting prematureExit is ok although not the best option
RealTimeProcessingIssue
=
True
self
.
prematureExit
=
False
#temp for debug : do not stop the test if RT stats are excedeed
else
:
else
:
statMsg
=
'No real time stats found in the log file
\n
'
statMsg
=
'No real time stats found in the log file
\n
'
logging
.
debug
(
'No real time stats found in the log file'
)
logging
.
debug
(
'No real time stats found in the log file'
)
...
@@ -1155,7 +1159,10 @@ class RANManagement():
...
@@ -1155,7 +1159,10 @@ class RANManagement():
logging
.
debug
(
statMsg
)
logging
.
debug
(
statMsg
)
htmleNBFailureMsg
+=
htmlMsg
htmleNBFailureMsg
+=
htmlMsg
if
RealTimeProcessingIssue
:
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB ended with real time processing issue!
\u001B
[0m'
)
htmleNBFailureMsg
+=
'Fail due to real time processing issue
\n
'
global_status
=
CONST
.
ENB_REAL_TIME_PROCESSING_ISSUE
if
uciStatMsgCount
>
0
:
if
uciStatMsgCount
>
0
:
statMsg
=
nodeB_prefix
+
'NB showed '
+
str
(
uciStatMsgCount
)
+
' "uci->stat" message(s)'
statMsg
=
nodeB_prefix
+
'NB showed '
+
str
(
uciStatMsgCount
)
+
' "uci->stat" message(s)'
logging
.
debug
(
'
\u001B
[1;30;43m '
+
statMsg
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;30;43m '
+
statMsg
+
'
\u001B
[0m'
)
...
...
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
View file @
a859c881
...
@@ -79,6 +79,7 @@
...
@@ -79,6 +79,7 @@
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/fr1_nsa_2x2_quectel_attach_detach.xml
View file @
a859c881
...
@@ -99,6 +99,7 @@
...
@@ -99,6 +99,7 @@
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/fr1_sa_quectel.xml
View file @
a859c881
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/fr1_sa_quectel_162prb.xml
View file @
a859c881
...
@@ -64,6 +64,7 @@
...
@@ -64,6 +64,7 @@
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/fr1_sa_quectel_stages.xml
View file @
a859c881
...
@@ -71,6 +71,7 @@
...
@@ -71,6 +71,7 @@
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/fr1_sa_quectel_stages_162prb.xml
View file @
a859c881
...
@@ -73,6 +73,7 @@
...
@@ -73,6 +73,7 @@
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Trace>
yes
</eNB_Trace>
<eNB_Stats>
yes
</eNB_Stats>
<eNB_Stats>
yes
</eNB_Stats>
<rt_stats_cfg>
datalog_rt_stats.2x2.yaml
</rt_stats_cfg>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
</testCase>
...
...
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