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
常顺宇
OpenXG-RAN
Commits
90c8dfd7
Commit
90c8dfd7
authored
Jun 11, 2020
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_june_improvements' into develop_integration_2020_w24
parents
d6850233
4893729e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
30 deletions
+30
-30
ci-scripts/constants.py
ci-scripts/constants.py
+1
-0
ci-scripts/main.py
ci-scripts/main.py
+9
-8
ci-scripts/ran.py
ci-scripts/ran.py
+13
-15
ci-scripts/xml_files/multi_rru_band38_build.xml
ci-scripts/xml_files/multi_rru_band38_build.xml
+6
-6
ci-scripts/xml_files/multi_rru_band38_test_10mhz_tm1.xml
ci-scripts/xml_files/multi_rru_band38_test_10mhz_tm1.xml
+1
-1
No files found.
ci-scripts/constants.py
View file @
90c8dfd7
...
@@ -57,6 +57,7 @@ OAI_UE_PROCESS_ASSERTION = -22
...
@@ -57,6 +57,7 @@ OAI_UE_PROCESS_ASSERTION = -22
OAI_UE_PROCESS_FAILED
=
-
23
OAI_UE_PROCESS_FAILED
=
-
23
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE
=
-
24
OAI_UE_PROCESS_NO_TUNNEL_INTERFACE
=
-
24
OAI_UE_PROCESS_SEG_FAULT
=
-
25
OAI_UE_PROCESS_SEG_FAULT
=
-
25
OAI_UE_PROCESS_NO_MBMS_MSGS
=
-
26
OAI_UE_PROCESS_OK
=
+
6
OAI_UE_PROCESS_OK
=
+
6
UE_STATUS_DETACHED
=
0
UE_STATUS_DETACHED
=
0
...
...
ci-scripts/main.py
View file @
90c8dfd7
...
@@ -2432,6 +2432,7 @@ class OaiCiTest():
...
@@ -2432,6 +2432,7 @@ class OaiCiTest():
nrCRCOK
=
0
nrCRCOK
=
0
mbms_messages
=
0
mbms_messages
=
0
HTML
.
SethtmlUEFailureMsg
(
''
)
HTML
.
SethtmlUEFailureMsg
(
''
)
global_status
=
CONST
.
ALL_PROCESSES_OK
for
line
in
ue_log_file
.
readlines
():
for
line
in
ue_log_file
.
readlines
():
result
=
re
.
search
(
'nr_synchro_time'
,
str
(
line
))
result
=
re
.
search
(
'nr_synchro_time'
,
str
(
line
))
if
result
is
not
None
:
if
result
is
not
None
:
...
@@ -2625,36 +2626,36 @@ class OaiCiTest():
...
@@ -2625,36 +2626,36 @@ class OaiCiTest():
else
:
else
:
statMsg
=
'UE did NOT SHOW "TRIED TO PUSH MBMS DATA" message(s)'
statMsg
=
'UE did NOT SHOW "TRIED TO PUSH MBMS DATA" message(s)'
logging
.
debug
(
'
\u001B
[1;30;41m '
+
statMsg
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;30;41m '
+
statMsg
+
'
\u001B
[0m'
)
global_status
=
OAI_UE_PROCESS_NO_MBMS_MSGS
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
statMsg
+
'
\n
'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
statMsg
+
'
\n
'
)
if
foundSegFault
:
if
foundSegFault
:
logging
.
debug
(
'
\u001B
[1;37;41m UE ended with a Segmentation Fault!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m UE ended with a Segmentation Fault!
\u001B
[0m'
)
if
not
nrUEFlag
:
if
not
nrUEFlag
:
return
CONST
.
OAI_UE_PROCESS_SEG_FAULT
global_status
=
CONST
.
OAI_UE_PROCESS_SEG_FAULT
else
:
else
:
if
not
frequency_found
:
if
not
frequency_found
:
return
CONST
.
OAI_UE_PROCESS_SEG_FAULT
global_status
=
CONST
.
OAI_UE_PROCESS_SEG_FAULT
if
foundAssertion
:
if
foundAssertion
:
logging
.
debug
(
'
\u001B
[1;30;43m UE showed an assertion!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;30;43m UE showed an assertion!
\u001B
[0m'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE showed an assertion!
\n
'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE showed an assertion!
\n
'
)
if
not
nrUEFlag
:
if
not
nrUEFlag
:
if
not
mib_found
or
not
frequency_found
:
if
not
mib_found
or
not
frequency_found
:
return
CONST
.
OAI_UE_PROCESS_ASSERTION
global_status
=
CONST
.
OAI_UE_PROCESS_ASSERTION
else
:
else
:
if
not
frequency_found
:
if
not
frequency_found
:
return
CONST
.
OAI_UE_PROCESS_ASSERTION
global_status
=
CONST
.
OAI_UE_PROCESS_ASSERTION
if
foundRealTimeIssue
:
if
foundRealTimeIssue
:
logging
.
debug
(
'
\u001B
[1;37;41m UE faced real time issues!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m UE faced real time issues!
\u001B
[0m'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE faced real time issues!
\n
'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE faced real time issues!
\n
'
)
#return CONST.ENB_PROCESS_REALTIME_ISSUE
if
nrUEFlag
:
if
nrUEFlag
:
if
not
frequency_found
:
if
not
frequency_found
:
return
CONST
.
OAI_UE_PROCESS_COULD_NOT_SYNC
global_status
=
CONST
.
OAI_UE_PROCESS_COULD_NOT_SYNC
else
:
else
:
if
no_cell_sync_found
and
not
mib_found
:
if
no_cell_sync_found
and
not
mib_found
:
logging
.
debug
(
'
\u001B
[1;37;41m UE could not synchronize !
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m UE could not synchronize !
\u001B
[0m'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE could not synchronize!
\n
'
)
HTML
.
SethtmlUEFailureMsg
(
HTML
.
GethtmlUEFailureMsg
()
+
'UE could not synchronize!
\n
'
)
return
CONST
.
OAI_UE_PROCESS_COULD_NOT_SYNC
global_status
=
CONST
.
OAI_UE_PROCESS_COULD_NOT_SYNC
return
0
return
global_status
def
TerminateFlexranCtrl
(
self
):
def
TerminateFlexranCtrl
(
self
):
...
...
ci-scripts/ran.py
View file @
90c8dfd7
...
@@ -366,7 +366,7 @@ class RANManagement():
...
@@ -366,7 +366,7 @@ class RANManagement():
count
=
40
count
=
40
buildOAIprocess
=
True
buildOAIprocess
=
True
while
(
count
>
0
)
and
buildOAIprocess
:
while
(
count
>
0
)
and
buildOAIprocess
:
mySSH
.
command
(
'ps aux | grep --color=never build_ | grep -v grep'
,
'\$'
,
3
)
mySSH
.
command
(
'ps aux | grep --color=never build_ | grep -v grep'
,
'\$'
,
6
)
result
=
re
.
search
(
'build_oai'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'build_oai'
,
mySSH
.
getBefore
())
if
result
is
None
:
if
result
is
None
:
buildOAIprocess
=
False
buildOAIprocess
=
False
...
@@ -607,7 +607,11 @@ class RANManagement():
...
@@ -607,7 +607,11 @@ class RANManagement():
enbDidSync
=
True
enbDidSync
=
True
time
.
sleep
(
10
)
time
.
sleep
(
10
)
if
enbDidSync
and
eNBinNoS1
:
rruCheck
=
False
result
=
re
.
search
(
'^rru|^du.band'
,
str
(
config_file
))
if
result
is
not
None
:
rruCheck
=
True
if
enbDidSync
and
eNBinNoS1
and
not
rruCheck
:
mySSH
.
command
(
'ifconfig oaitun_enb1'
,
'\$'
,
4
)
mySSH
.
command
(
'ifconfig oaitun_enb1'
,
'\$'
,
4
)
mySSH
.
command
(
'ifconfig oaitun_enb1'
,
'\$'
,
4
)
mySSH
.
command
(
'ifconfig oaitun_enb1'
,
'\$'
,
4
)
result
=
re
.
search
(
'inet addr:1|inet 1'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'inet addr:1|inet 1'
,
mySSH
.
getBefore
())
...
@@ -812,6 +816,7 @@ class RANManagement():
...
@@ -812,6 +816,7 @@ class RANManagement():
X2HO_state
=
CONST
.
X2_HO_REQ_STATE__IDLE
X2HO_state
=
CONST
.
X2_HO_REQ_STATE__IDLE
X2HO_inNbProcedures
=
0
X2HO_inNbProcedures
=
0
X2HO_outNbProcedures
=
0
X2HO_outNbProcedures
=
0
global_status
=
CONST
.
ALL_PROCESSES_OK
for
line
in
enb_log_file
.
readlines
():
for
line
in
enb_log_file
.
readlines
():
if
X2HO_state
==
CONST
.
X2_HO_REQ_STATE__IDLE
:
if
X2HO_state
==
CONST
.
X2_HO_REQ_STATE__IDLE
:
result
=
re
.
search
(
'target eNB Receives X2 HO Req X2AP_HANDOVER_REQ'
,
str
(
line
))
result
=
re
.
search
(
'target eNB Receives X2 HO Req X2AP_HANDOVER_REQ'
,
str
(
line
))
...
@@ -1030,30 +1035,23 @@ class RANManagement():
...
@@ -1030,30 +1035,23 @@ class RANManagement():
rruMsg
=
'Slave RRU DID NOT receive the RRU_frame_resynch command from RAU'
rruMsg
=
'Slave RRU DID NOT receive the RRU_frame_resynch command from RAU'
logging
.
debug
(
'
\u001B
[1;37;41m '
+
rruMsg
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
rruMsg
+
'
\u001B
[0m'
)
htmleNBFailureMsg
+=
rruMsg
+
'
\n
'
htmleNBFailureMsg
+=
rruMsg
+
'
\n
'
self
.
prematureExit
(
True
)
self
.
prematureExit
=
True
return
CONST
.
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
global_status
=
CONST
.
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
if
foundSegFault
:
if
foundSegFault
:
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB ended with a Segmentation Fault!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB ended with a Segmentation Fault!
\u001B
[0m'
)
if
self
.
htmlObj
is
not
None
:
global_status
=
CONST
.
ENB_PROCESS_SEG_FAULT
self
.
htmlObj
.
SetHmleNBFailureMsg
(
htmleNBFailureMsg
)
return
CONST
.
ENB_PROCESS_SEG_FAULT
if
foundAssertion
:
if
foundAssertion
:
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB ended with an assertion!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB ended with an assertion!
\u001B
[0m'
)
htmleNBFailureMsg
+=
msgAssertion
htmleNBFailureMsg
+=
msgAssertion
if
self
.
htmlObj
is
not
None
:
global_status
=
CONST
.
ENB_PROCESS_ASSERTION
self
.
htmlObj
.
SetHmleNBFailureMsg
(
htmleNBFailureMsg
)
return
CONST
.
ENB_PROCESS_ASSERTION
if
foundRealTimeIssue
:
if
foundRealTimeIssue
:
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB faced real time issues!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB faced real time issues!
\u001B
[0m'
)
htmleNBFailureMsg
+=
nodeB_prefix
+
'NB faced real time issues!
\n
'
htmleNBFailureMsg
+=
nodeB_prefix
+
'NB faced real time issues!
\n
'
#return CONST.ENB_PROCESS_REALTIME_ISSUE
if
rlcDiscardBuffer
>
0
:
if
rlcDiscardBuffer
>
0
:
rlcMsg
=
nodeB_prefix
+
'NB RLC discarded '
+
str
(
rlcDiscardBuffer
)
+
' buffer(s)'
rlcMsg
=
nodeB_prefix
+
'NB RLC discarded '
+
str
(
rlcDiscardBuffer
)
+
' buffer(s)'
logging
.
debug
(
'
\u001B
[1;37;41m '
+
rlcMsg
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
rlcMsg
+
'
\u001B
[0m'
)
htmleNBFailureMsg
+=
rlcMsg
+
'
\n
'
htmleNBFailureMsg
+=
rlcMsg
+
'
\n
'
if
self
.
htmlObj
is
not
None
:
global_status
=
CONST
.
ENB_PROCESS_REALTIME_ISSUE
self
.
htmlObj
.
SetHmleNBFailureMsg
(
htmleNBFailureMsg
)
return
CONST
.
ENB_PROCESS_REALTIME_ISSUE
if
self
.
htmlObj
is
not
None
:
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
SetHmleNBFailureMsg
(
htmleNBFailureMsg
)
self
.
htmlObj
.
SetHmleNBFailureMsg
(
htmleNBFailureMsg
)
return
0
return
global_status
ci-scripts/xml_files/multi_rru_band38_build.xml
View file @
90c8dfd7
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build RCC
</desc>
<desc>
Build RCC
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
<backgroundBuild>
True
</backgroundBuild>
<backgroundBuild>
True
</backgroundBuild>
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
<testCase
id=
"000101"
>
<testCase
id=
"000101"
>
<class>
WaitEndBuild_eNB
</class>
<class>
WaitEndBuild_eNB
</class>
<desc>
Wait for end of Build RCC
</desc>
<desc>
Wait for end of Build RCC
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
</testCase>
</testCase>
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
<testCase
id=
"010102"
>
<testCase
id=
"010102"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build Master RRU
</desc>
<desc>
Build Master RRU
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<backgroundBuild>
True
</backgroundBuild>
<backgroundBuild>
True
</backgroundBuild>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<testCase
id=
"000102"
>
<testCase
id=
"000102"
>
<class>
WaitEndBuild_eNB
</class>
<class>
WaitEndBuild_eNB
</class>
<desc>
Wait for end of Build Master RRU
</desc>
<desc>
Wait for end of Build Master RRU
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
</testCase>
</testCase>
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
<testCase
id=
"010103"
>
<testCase
id=
"010103"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build Slave RRU
</desc>
<desc>
Build Slave RRU
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
2
</eNB_instance>
<eNB_instance>
2
</eNB_instance>
<eNB_serverId>
2
</eNB_serverId>
<eNB_serverId>
2
</eNB_serverId>
<backgroundBuild>
True
</backgroundBuild>
<backgroundBuild>
True
</backgroundBuild>
...
@@ -76,7 +76,7 @@
...
@@ -76,7 +76,7 @@
<testCase
id=
"000103"
>
<testCase
id=
"000103"
>
<class>
WaitEndBuild_eNB
</class>
<class>
WaitEndBuild_eNB
</class>
<desc>
Wait for end of Build Slave RRU
</desc>
<desc>
Wait for end of Build Slave RRU
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
<eNB_instance>
2
</eNB_instance>
<eNB_instance>
2
</eNB_instance>
<eNB_serverId>
2
</eNB_serverId>
<eNB_serverId>
2
</eNB_serverId>
</testCase>
</testCase>
...
...
ci-scripts/xml_files/multi_rru_band38_test_10mhz_tm1.xml
View file @
90c8dfd7
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<htmlTabRef>
test-multi-rru-10
</htmlTabRef>
<htmlTabRef>
test-multi-rru-10
</htmlTabRef>
<htmlTabName>
Test-Multi-RRU-10MHz
</htmlTabName>
<htmlTabName>
Test-Multi-RRU-10MHz
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<htmlTabIcon>
tasks
</htmlTabIcon>
<repeatCount>
4
</repeatCount>
<repeatCount>
2
</repeatCount>
<TestCaseRequestedList>
<TestCaseRequestedList>
030211 030212 030213
030211 030212 030213
030111 030112 030113
030111 030112 030113
...
...
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