Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
6d533f07
Commit
6d533f07
authored
Apr 04, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: auto-termination, check on all processes
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
adc865b2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
178 additions
and
111 deletions
+178
-111
ci-scripts/main.py
ci-scripts/main.py
+168
-107
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
+9
-3
ci-scripts/xml_files/if4p5_usrp210_band40_test_10mhz.xml
ci-scripts/xml_files/if4p5_usrp210_band40_test_10mhz.xml
+1
-1
No files found.
ci-scripts/main.py
View file @
6d533f07
...
@@ -42,9 +42,6 @@ ENB_PROCESS_SEG_FAULT = -11
...
@@ -42,9 +42,6 @@ ENB_PROCESS_SEG_FAULT = -11
ENB_PROCESS_ASSERTION
=
-
12
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
UE_PROCESS_NOLOGFILE_TO_ANALYZE
=
-
20
UE_PROCESS_COULD_NOT_SYNC
=
-
21
UE_PROCESS_ASSERTION
=
-
22
HSS_PROCESS_FAILED
=
-
2
HSS_PROCESS_FAILED
=
-
2
HSS_PROCESS_OK
=
+
2
HSS_PROCESS_OK
=
+
2
MME_PROCESS_FAILED
=
-
3
MME_PROCESS_FAILED
=
-
3
...
@@ -52,6 +49,11 @@ MME_PROCESS_OK = +3
...
@@ -52,6 +49,11 @@ MME_PROCESS_OK = +3
SPGW_PROCESS_FAILED
=
-
4
SPGW_PROCESS_FAILED
=
-
4
SPGW_PROCESS_OK
=
+
4
SPGW_PROCESS_OK
=
+
4
UE_IP_ADDRESS_ISSUE
=
-
5
UE_IP_ADDRESS_ISSUE
=
-
5
OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE
=
-
20
OAI_UE_PROCESS_COULD_NOT_SYNC
=
-
21
OAI_UE_PROCESS_ASSERTION
=
-
22
OAI_UE_PROCESS_FAILED
=
-
6
OAI_UE_PROCESS_OK
=
+
6
#-----------------------------------------------------------
#-----------------------------------------------------------
# Import
# Import
...
@@ -438,14 +440,13 @@ class SSHConnection():
...
@@ -438,14 +440,13 @@ class SSHConnection():
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
or
self
.
eNBSourceCodePath
==
''
:
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
or
self
.
eNBSourceCodePath
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
result
=
re
.
search
(
'noS1'
,
str
(
self
.
Initialize_eNB_args
))
check_eNB
=
False
if
result
is
None
:
check_OAI_UE
=
False
initialize_eNB_flag
=
True
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
Initialize_eNB_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
self
.
Initialize_eNB_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
sys
.
exit
(
1
)
# If tracer options is on, running tshark on EPC side and capture traffic b/ EPC and eNB
# If tracer options is on, running tshark on EPC side and capture traffic b/ EPC and eNB
result
=
re
.
search
(
'T_stdout'
,
str
(
self
.
Initialize_eNB_args
))
result
=
re
.
search
(
'T_stdout'
,
str
(
self
.
Initialize_eNB_args
))
if
result
is
not
None
:
if
result
is
not
None
:
...
@@ -587,12 +588,15 @@ class SSHConnection():
...
@@ -587,12 +588,15 @@ class SSHConnection():
if
self
.
UEIPAddress
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
or
self
.
UESourceCodePath
==
''
:
if
self
.
UEIPAddress
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
or
self
.
UESourceCodePath
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
#initialize_OAI_UE_flag = True
result
=
re
.
search
(
'--no-L2-connect'
,
str
(
self
.
Initialize_OAI_UE_args
))
#pStatus = self.CheckOAIUEProcessExist(initialize_OAI_UE_flag)
if
result
is
None
:
#if (pStatus < 0):
check_eNB
=
True
# self.CreateHtmlTestRow(self.Initialize_OAI_UE_args, 'KO', pStatus)
check_OAI_UE
=
False
# self.CreateHtmlTabFooter(False)
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
# sys.exit(1)
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
Initialize_OAI_UE_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
# b2xx_fx3_utils reset procedure
# b2xx_fx3_utils reset procedure
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S uhd_find_devices'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S uhd_find_devices'
,
'\$'
,
5
)
...
@@ -782,8 +786,9 @@ class SSHConnection():
...
@@ -782,8 +786,9 @@ class SSHConnection():
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
:
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
False
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
ping_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
self
.
ping_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
...
@@ -921,8 +926,9 @@ class SSHConnection():
...
@@ -921,8 +926,9 @@ class SSHConnection():
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
False
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
AutoTerminateUEandeNB
()
self
.
AutoTerminateUEandeNB
()
...
@@ -986,8 +992,9 @@ class SSHConnection():
...
@@ -986,8 +992,9 @@ class SSHConnection():
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
True
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
AutoTerminateUEandeNB
()
self
.
AutoTerminateUEandeNB
()
...
@@ -1050,8 +1057,9 @@ class SSHConnection():
...
@@ -1050,8 +1057,9 @@ class SSHConnection():
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
if
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
True
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
pStatus
)
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
...
@@ -1199,6 +1207,14 @@ class SSHConnection():
...
@@ -1199,6 +1207,14 @@ class SSHConnection():
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
def
PingNoS1
(
self
):
def
PingNoS1
(
self
):
check_eNB
=
True
check_OAI_UE
=
True
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
ping_args
,
'KO'
,
pStatus
)
self
.
AutoTerminateUEandeNB
()
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
ping_from_eNB
=
re
.
search
(
'oaitun_enb1'
,
str
(
self
.
ping_args
))
ping_from_eNB
=
re
.
search
(
'oaitun_enb1'
,
str
(
self
.
ping_args
))
if
ping_from_eNB
is
not
None
:
if
ping_from_eNB
is
not
None
:
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
:
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
:
...
@@ -1280,8 +1296,9 @@ class SSHConnection():
...
@@ -1280,8 +1296,9 @@ class SSHConnection():
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
:
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
False
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
ping_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
self
.
ping_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
...
@@ -1754,13 +1771,19 @@ class SSHConnection():
...
@@ -1754,13 +1771,19 @@ class SSHConnection():
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
def
IperfNoS1
(
self
):
def
IperfNoS1
(
self
):
check_eNB
=
True
check_OAI_UE
=
True
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
iperf_args
,
'KO'
,
pStatus
)
self
.
AutoTerminateUEandeNB
()
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
or
self
.
UEIPAddress
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
:
if
self
.
eNBIPAddress
==
''
or
self
.
eNBUserName
==
''
or
self
.
eNBPassword
==
''
or
self
.
UEIPAddress
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
server_on_enb
=
re
.
search
(
'-R'
,
str
(
self
.
iperf_args
))
server_on_enb
=
re
.
search
(
'-R'
,
str
(
self
.
iperf_args
))
if
server_on_enb
is
not
None
:
if
server_on_enb
is
not
None
:
logging
.
debug
(
'iperf server on eNB'
)
logging
.
debug
(
'iperf client on UE'
)
iServerIPAddr
=
self
.
eNBIPAddress
iServerIPAddr
=
self
.
eNBIPAddress
iServerUser
=
self
.
eNBUserName
iServerUser
=
self
.
eNBUserName
iServerPasswd
=
self
.
eNBPassword
iServerPasswd
=
self
.
eNBPassword
...
@@ -1768,17 +1791,13 @@ class SSHConnection():
...
@@ -1768,17 +1791,13 @@ class SSHConnection():
iClientUser
=
self
.
UEUserName
iClientUser
=
self
.
UEUserName
iClientPasswd
=
self
.
UEPassword
iClientPasswd
=
self
.
UEPassword
else
:
else
:
logging
.
debug
(
'iperf server on UE'
)
logging
.
debug
(
'iperf client on eNB'
)
iServerIPAddr
=
self
.
UEIPAddress
iServerIPAddr
=
self
.
UEIPAddress
iServerUser
=
self
.
UEUserName
iServerUser
=
self
.
UEUserName
iServerPasswd
=
self
.
UEPassword
iServerPasswd
=
self
.
UEPassword
iClientIPAddr
=
self
.
eNBIPAddress
iClientIPAddr
=
self
.
eNBIPAddress
iClientUser
=
self
.
eNBUserName
iClientUser
=
self
.
eNBUserName
iClientPasswd
=
self
.
eNBPassword
iClientPasswd
=
self
.
eNBPassword
logging
.
debug
(
self
.
iperf_args
)
# Starting the iperf server
# Starting the iperf server
logging
.
debug
(
'iServer params: '
+
iServerIPAddr
+
' '
+
iServerUser
+
' '
+
iServerPasswd
)
self
.
open
(
iServerIPAddr
,
iServerUser
,
iServerPasswd
)
self
.
open
(
iServerIPAddr
,
iServerUser
,
iServerPasswd
)
self
.
command
(
'echo $USER; nohup iperf -u -s -i 1 > /tmp/tmp_iperf_server_'
+
self
.
testCase_id
+
'.log 2>&1 &'
,
iServerUser
,
5
)
self
.
command
(
'echo $USER; nohup iperf -u -s -i 1 > /tmp/tmp_iperf_server_'
+
self
.
testCase_id
+
'.log 2>&1 &'
,
iServerUser
,
5
)
time
.
sleep
(
0.5
)
time
.
sleep
(
0.5
)
...
@@ -1788,14 +1807,16 @@ class SSHConnection():
...
@@ -1788,14 +1807,16 @@ class SSHConnection():
modified_options
=
self
.
Iperf_ComputeModifiedBW
(
0
,
1
)
modified_options
=
self
.
Iperf_ComputeModifiedBW
(
0
,
1
)
modified_options
=
modified_options
.
replace
(
'-R'
,
''
)
modified_options
=
modified_options
.
replace
(
'-R'
,
''
)
iperf_time
=
self
.
Iperf_ComputeTime
()
iperf_time
=
self
.
Iperf_ComputeTime
()
logging
.
debug
(
'iClient params: '
+
iClientIPAddr
+
' '
+
iClientUser
+
' '
+
iClientPasswd
)
self
.
open
(
iClientIPAddr
,
iClientUser
,
iClientPasswd
)
self
.
open
(
iClientIPAddr
,
iClientUser
,
iClientPasswd
)
iperf_status
=
self
.
command
(
'stdbuf -o0 iperf '
+
modified_options
+
' 2>&1 | stdbuf -o0 tee -a /tmp/tmp_iperf_'
+
self
.
testCase_id
+
'.log'
,
'\$'
,
int
(
iperf_time
)
*
5.0
)
iperf_status
=
self
.
command
(
'stdbuf -o0 iperf '
+
modified_options
+
' 2>&1 | stdbuf -o0 tee -a /tmp/tmp_iperf_'
+
self
.
testCase_id
+
'.log'
,
'\$'
,
int
(
iperf_time
)
*
5.0
)
status_queue
=
SimpleQueue
()
lock
=
Lock
()
if
iperf_status
<
0
:
if
iperf_status
<
0
:
message
=
'iperf on OAI UE crashed due to TIMEOUT !'
message
=
'iperf on OAI UE crashed due to TIMEOUT !'
logging
.
debug
(
'
\u001B
[1;37;41m '
+
message
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m '
+
message
+
'
\u001B
[0m'
)
#else:
clientStatus
=
-
2
# clientStatus = self.Iperf_analyzeV2Output(lock, UE_IPAddress, device_id, statusQueue, modified_options)
else
:
clientStatus
=
self
.
Iperf_analyzeV2Output
(
lock
,
'10.0.1.2'
,
'OAI-UE'
,
status_queue
,
modified_options
)
self
.
close
()
self
.
close
()
# Stopping the iperf server
# Stopping the iperf server
...
@@ -1803,6 +1824,38 @@ class SSHConnection():
...
@@ -1803,6 +1824,38 @@ class SSHConnection():
self
.
command
(
'killall --signal SIGKILL iperf'
,
'\$'
,
5
)
self
.
command
(
'killall --signal SIGKILL iperf'
,
'\$'
,
5
)
time
.
sleep
(
0.5
)
time
.
sleep
(
0.5
)
self
.
close
()
self
.
close
()
if
(
clientStatus
==
-
1
):
if
(
os
.
path
.
isfile
(
'iperf_server_'
+
self
.
testCase_id
+
'.log'
)):
os
.
remove
(
'iperf_server_'
+
self
.
testCase_id
+
'.log'
)
self
.
copyin
(
iServerIPAddr
,
iServerUser
,
iServerPasswd
,
'/tmp/tmp_iperf_server_'
+
self
.
testCase_id
+
'.log'
,
'iperf_server_'
+
self
.
testCase_id
+
'_OAI-UE.log'
)
self
.
Iperf_analyzeV2Server
(
lock
,
'10.0.1.2'
,
'OAI-UE'
,
status_queue
,
modified_options
)
iperf_noperf
=
False
if
status_queue
.
empty
():
iperf_status
=
False
else
:
iperf_status
=
True
html_queue
=
SimpleQueue
()
while
(
not
status_queue
.
empty
()):
count
=
status_queue
.
get
()
if
(
count
<
0
):
iperf_status
=
False
if
(
count
>
0
):
iperf_noperf
=
True
device_id
=
status_queue
.
get
()
ip_addr
=
status_queue
.
get
()
message
=
status_queue
.
get
()
html_cell
=
'<pre style="background-color:white">UE ('
+
device_id
+
')
\n
IP Address : '
+
ip_addr
+
'
\n
'
+
message
+
'</pre>'
html_queue
.
put
(
html_cell
)
if
(
iperf_noperf
and
iperf_status
):
self
.
CreateHtmlTestRowQueue
(
self
.
iperf_args
,
'PERF NOT MET'
,
len
(
self
.
UEDevices
),
html_queue
)
elif
(
iperf_status
):
self
.
CreateHtmlTestRowQueue
(
self
.
iperf_args
,
'OK'
,
len
(
self
.
UEDevices
),
html_queue
)
else
:
self
.
CreateHtmlTestRowQueue
(
self
.
iperf_args
,
'KO'
,
len
(
self
.
UEDevices
),
html_queue
)
self
.
AutoTerminateUEandeNB
()
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
def
Iperf
(
self
):
def
Iperf
(
self
):
result
=
re
.
search
(
'noS1'
,
str
(
self
.
Initialize_eNB_args
))
result
=
re
.
search
(
'noS1'
,
str
(
self
.
Initialize_eNB_args
))
...
@@ -1812,8 +1865,9 @@ class SSHConnection():
...
@@ -1812,8 +1865,9 @@ class SSHConnection():
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
or
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
if
self
.
EPCIPAddress
==
''
or
self
.
EPCUserName
==
''
or
self
.
EPCPassword
==
''
or
self
.
EPCSourceCodePath
==
''
or
self
.
ADBIPAddress
==
''
or
self
.
ADBUserName
==
''
or
self
.
ADBPassword
==
''
:
Usage
()
Usage
()
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
initialize_eNB_flag
=
False
check_eNB
=
True
pStatus
=
self
.
CheckProcessExist
(
initialize_eNB_flag
)
check_OAI_UE
=
False
pStatus
=
self
.
CheckProcessExist
(
check_eNB
,
check_OAI_UE
)
if
(
pStatus
<
0
):
if
(
pStatus
<
0
):
self
.
CreateHtmlTestRow
(
self
.
iperf_args
,
'KO'
,
pStatus
)
self
.
CreateHtmlTestRow
(
self
.
iperf_args
,
'KO'
,
pStatus
)
self
.
AutoTerminateUEandeNB
()
self
.
AutoTerminateUEandeNB
()
...
@@ -1870,26 +1924,37 @@ class SSHConnection():
...
@@ -1870,26 +1924,37 @@ class SSHConnection():
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
sys
.
exit
(
1
)
def
CheckProcessExist
(
self
,
initialize_eNB_flag
):
def
CheckProcessExist
(
self
,
check_eNB
,
check_OAI_UE
):
multi_jobs
=
[]
multi_jobs
=
[]
status_queue
=
SimpleQueue
()
status_queue
=
SimpleQueue
()
p
=
Process
(
target
=
SSH
.
CheckHSSProcess
,
args
=
(
status_queue
,))
# in noS1 config, no need to check status from EPC
p
.
daemon
=
True
result
=
re
.
search
(
'noS1'
,
str
(
self
.
Initialize_eNB_args
))
p
.
start
()
if
result
is
None
:
multi_jobs
.
append
(
p
)
p
=
Process
(
target
=
SSH
.
CheckHSSProcess
,
args
=
(
status_queue
,))
p
=
Process
(
target
=
SSH
.
CheckMMEProcess
,
args
=
(
status_queue
,))
p
.
daemon
=
True
p
.
daemon
=
True
p
.
start
()
p
.
start
()
multi_jobs
.
append
(
p
)
multi_jobs
.
append
(
p
)
p
=
Process
(
target
=
SSH
.
CheckMMEProcess
,
args
=
(
status_queue
,))
p
=
Process
(
target
=
SSH
.
CheckSPGWProcess
,
args
=
(
status_queue
,))
p
.
daemon
=
True
p
.
daemon
=
True
p
.
start
()
p
.
start
()
multi_jobs
.
append
(
p
)
multi_jobs
.
append
(
p
)
p
=
Process
(
target
=
SSH
.
CheckSPGWProcess
,
args
=
(
status_queue
,))
if
initialize_eNB_flag
==
False
:
p
.
daemon
=
True
p
.
start
()
multi_jobs
.
append
(
p
)
else
:
if
(
check_eNB
==
False
)
and
(
check_OAI_UE
==
False
):
return
0
if
check_eNB
:
p
=
Process
(
target
=
SSH
.
CheckeNBProcess
,
args
=
(
status_queue
,))
p
=
Process
(
target
=
SSH
.
CheckeNBProcess
,
args
=
(
status_queue
,))
p
.
daemon
=
True
p
.
daemon
=
True
p
.
start
()
p
.
start
()
multi_jobs
.
append
(
p
)
multi_jobs
.
append
(
p
)
if
check_OAI_UE
:
p
=
Process
(
target
=
SSH
.
CheckOAIUEProcess
,
args
=
(
status_queue
,))
p
.
daemon
=
True
p
.
start
()
multi_jobs
.
append
(
p
)
for
job
in
multi_jobs
:
for
job
in
multi_jobs
:
job
.
join
()
job
.
join
()
...
@@ -1908,29 +1973,8 @@ class SSHConnection():
...
@@ -1908,29 +1973,8 @@ class SSHConnection():
logStatus
=
self
.
AnalyzeLogFile_eNB
(
self
.
eNBLogFile
)
logStatus
=
self
.
AnalyzeLogFile_eNB
(
self
.
eNBLogFile
)
if
logStatus
<
0
:
if
logStatus
<
0
:
result
=
logStatus
result
=
logStatus
return
result
def
CheckOAIUEProcessExist
(
self
,
initialize_OAI_UE_flag
):
multi_jobs
=
[]
status_queue
=
SimpleQueue
()
if
initialize_OAI_UE_flag
==
False
:
p
=
Process
(
target
=
SSH
.
CheckOAIUEProcess
,
args
=
(
status_queue
,))
p
.
daemon
=
True
p
.
start
()
multi_jobs
.
append
(
p
)
for
job
in
multi_jobs
:
job
.
join
()
if
(
status_queue
.
empty
()):
return
-
15
else
:
result
=
0
while
(
not
status_queue
.
empty
()):
status
=
status_queue
.
get
()
if
(
status
<
0
):
result
=
status
if
result
==
OAI_UE_PROCESS_FAILED
:
if
result
==
OAI_UE_PROCESS_FAILED
:
fileCheck
=
re
.
search
(
'
enb
_'
,
str
(
self
.
UELogFile
))
fileCheck
=
re
.
search
(
'
ue
_'
,
str
(
self
.
UELogFile
))
if
fileCheck
is
not
None
:
if
fileCheck
is
not
None
:
self
.
copyin
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
,
self
.
UESourceCodePath
+
'/cmake_targets/'
+
self
.
UELogFile
,
'.'
)
self
.
copyin
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
,
self
.
UESourceCodePath
+
'/cmake_targets/'
+
self
.
UELogFile
,
'.'
)
logStatus
=
self
.
AnalyzeLogFile_UE
(
self
.
UELogFile
)
logStatus
=
self
.
AnalyzeLogFile_UE
(
self
.
UELogFile
)
...
@@ -1940,8 +1984,8 @@ class SSHConnection():
...
@@ -1940,8 +1984,8 @@ class SSHConnection():
def
CheckOAIUEProcess
(
self
,
status_queue
):
def
CheckOAIUEProcess
(
self
,
status_queue
):
try
:
try
:
self
.
open
(
self
.
OAIUEIPAddress
,
self
.
OAIUEUserName
,
self
.
OAI
UEPassword
)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -
v grep | grep --color=never lte-uesoftmodem
'
,
'\$'
,
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -
-color=never softmodem | grep -v grep
'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-uesoftmodem'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'lte-uesoftmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
if
result
is
None
:
logging
.
debug
(
'
\u001B
[1;37;41m OAI UE Process Not Found!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m OAI UE Process Not Found!
\u001B
[0m'
)
...
@@ -1955,7 +1999,7 @@ class SSHConnection():
...
@@ -1955,7 +1999,7 @@ class SSHConnection():
def
CheckeNBProcess
(
self
,
status_queue
):
def
CheckeNBProcess
(
self
,
status_queue
):
try
:
try
:
self
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
self
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -
v grep | grep --color=never lte-softmodem
'
,
'\$'
,
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -
-color=never softmodem | grep -v grep
'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
None
:
if
result
is
None
:
logging
.
debug
(
'
\u001B
[1;37;41m eNB Process Not Found!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m eNB Process Not Found!
\u001B
[0m'
)
...
@@ -2196,7 +2240,7 @@ class SSHConnection():
...
@@ -2196,7 +2240,7 @@ class SSHConnection():
result
=
re
.
search
(
'Exiting OAI softmodem'
,
str
(
line
))
result
=
re
.
search
(
'Exiting OAI softmodem'
,
str
(
line
))
if
result
is
not
None
:
if
result
is
not
None
:
exitSignalReceived
=
True
exitSignalReceived
=
True
result
=
re
.
search
(
'[Ss]egmentation [Ff]ault'
,
str
(
line
))
result
=
re
.
search
(
'[Ss]egmentation [Ff]ault
|======= Backtrace: =========|======= Memory map: ========
'
,
str
(
line
))
if
result
is
not
None
and
not
exitSignalReceived
:
if
result
is
not
None
and
not
exitSignalReceived
:
foundSegFault
=
True
foundSegFault
=
True
result
=
re
.
search
(
'[Cc]ore [dD]ump'
,
str
(
line
))
result
=
re
.
search
(
'[Cc]ore [dD]ump'
,
str
(
line
))
...
@@ -2327,7 +2371,7 @@ class SSHConnection():
...
@@ -2327,7 +2371,7 @@ class SSHConnection():
logging
.
debug
(
'
\u001B
[1;30;43m UE showed an assertion!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;30;43m UE showed an assertion!
\u001B
[0m'
)
self
.
htmlUEFailureMsg
+=
'UE showed an assertion!
\n
'
self
.
htmlUEFailureMsg
+=
'UE showed an assertion!
\n
'
if
not
mib_found
or
not
frequency_found
:
if
not
mib_found
or
not
frequency_found
:
return
UE_PROCESS_ASSERTION
return
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'
)
self
.
htmlUEFailureMsg
+=
'UE faced real time issues!
\n
'
self
.
htmlUEFailureMsg
+=
'UE faced real time issues!
\n
'
...
@@ -2335,21 +2379,24 @@ class SSHConnection():
...
@@ -2335,21 +2379,24 @@ class SSHConnection():
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'
)
self
.
htmlUEFailureMsg
+=
'UE could not synchronize!
\n
'
self
.
htmlUEFailureMsg
+=
'UE could not synchronize!
\n
'
return
UE_PROCESS_COULD_NOT_SYNC
return
OAI_
UE_PROCESS_COULD_NOT_SYNC
return
0
return
0
def
TerminateeNB
(
self
):
def
TerminateeNB
(
self
):
self
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
self
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
self
.
command
(
'cd '
+
self
.
eNBSourceCodePath
+
'/cmake_targets'
,
'\$'
,
5
)
self
.
command
(
'cd '
+
self
.
eNBSourceCodePath
+
'/cmake_targets'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S daemon --name=enb'
+
str
(
self
.
eNB_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep --color=never softmodem | grep -v grep'
,
'\$'
,
5
)
self
.
command
(
'rm -f my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S killall --signal SIGINT lte-softmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -v grep | grep lte-softmodem'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S killall --signal SIGKILL lte-softmodem || true'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S daemon --name=enb'
+
str
(
self
.
eNB_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S killall --signal SIGINT lte-softmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
5
)
time
.
sleep
(
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep --color=never softmodem | grep -v grep'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-softmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
self
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S killall --signal SIGKILL lte-softmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
2
)
self
.
command
(
'rm -f my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
self
.
close
()
self
.
close
()
# If tracer options is on, stopping tshark on EPC side
# If tracer options is on, stopping tshark on EPC side
result
=
re
.
search
(
'T_stdout'
,
str
(
self
.
Initialize_eNB_args
))
result
=
re
.
search
(
'T_stdout'
,
str
(
self
.
Initialize_eNB_args
))
...
@@ -2481,15 +2528,18 @@ class SSHConnection():
...
@@ -2481,15 +2528,18 @@ class SSHConnection():
def
TerminateOAIUE
(
self
):
def
TerminateOAIUE
(
self
):
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
self
.
open
(
self
.
UEIPAddress
,
self
.
UEUserName
,
self
.
UEPassword
)
self
.
command
(
'cd '
+
self
.
UESourceCodePath
+
'/cmake_targets'
,
'\$'
,
5
)
self
.
command
(
'cd '
+
self
.
UESourceCodePath
+
'/cmake_targets'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S daemon --name=ue'
+
str
(
self
.
UE_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
self
.
command
(
'ps -aux | grep --color=never softmodem | grep -v grep'
,
'\$'
,
5
)
self
.
command
(
'rm -f my-lte-uesoftmodem-run'
+
str
(
self
.
UE_instance
)
+
'.sh'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S killall --signal SIGINT lte-uesoftmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
5
)
self
.
command
(
'stdbuf -o0 ps -aux | grep -v grep | grep lte-uesoftmodem'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-uesoftmodem'
,
str
(
self
.
ssh
.
before
))
result
=
re
.
search
(
'lte-uesoftmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
if
result
is
not
None
:
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S killall --signal SIGKILL lte-uesoftmodem || true'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S daemon --name=ue'
+
str
(
self
.
UE_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S killall --signal SIGINT lte-uesoftmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
5
)
time
.
sleep
(
5
)
self
.
command
(
'ps -aux | grep --color=never softmodem | grep -v grep'
,
'\$'
,
5
)
result
=
re
.
search
(
'lte-uesoftmodem'
,
str
(
self
.
ssh
.
before
))
if
result
is
not
None
:
self
.
command
(
'echo '
+
self
.
UEPassword
+
' | sudo -S killall --signal SIGKILL lte-uesoftmodem || true'
,
'\$'
,
5
)
time
.
sleep
(
2
)
self
.
command
(
'rm -f my-lte-uesoftmodem-run'
+
str
(
self
.
UE_instance
)
+
'.sh'
,
'\$'
,
5
)
self
.
close
()
self
.
close
()
result
=
re
.
search
(
'ue_'
,
str
(
self
.
UELogFile
))
result
=
re
.
search
(
'ue_'
,
str
(
self
.
UELogFile
))
if
result
is
not
None
:
if
result
is
not
None
:
...
@@ -2497,7 +2547,7 @@ class SSHConnection():
...
@@ -2497,7 +2547,7 @@ class SSHConnection():
if
(
copyin_res
==
-
1
):
if
(
copyin_res
==
-
1
):
logging
.
debug
(
'
\u001B
[1;37;41m Could not copy UE logfile to analyze it!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m Could not copy UE logfile to analyze it!
\u001B
[0m'
)
self
.
htmlUEFailureMsg
=
'Could not copy UE logfile to analyze it!'
self
.
htmlUEFailureMsg
=
'Could not copy UE logfile to analyze it!'
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
UE_PROCESS_NOLOGFILE_TO_ANALYZE
,
'UE'
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
OAI_
UE_PROCESS_NOLOGFILE_TO_ANALYZE
,
'UE'
)
self
.
UELogFile
=
''
self
.
UELogFile
=
''
return
return
logging
.
debug
(
'
\u001B
[1m Analyzing UE logfile
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m Analyzing UE logfile
\u001B
[0m'
)
...
@@ -2513,7 +2563,9 @@ class SSHConnection():
...
@@ -2513,7 +2563,9 @@ class SSHConnection():
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
logStatus
,
'UE'
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
logStatus
,
'UE'
)
# In case of sniffing on commercial eNBs we have random results
# In case of sniffing on commercial eNBs we have random results
# Not an error then
# Not an error then
if
(
logStatus
!=
UE_PROCESS_COULD_NOT_SYNC
)
or
(
ueAction
!=
'Sniffing'
):
if
(
logStatus
!=
OAI_UE_PROCESS_COULD_NOT_SYNC
)
or
(
ueAction
!=
'Sniffing'
):
self
.
Initialize_OAI_UE_args
=
''
self
.
AutoTerminateUEandeNB
()
self
.
CreateHtmlTabFooter
(
False
)
self
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
sys
.
exit
(
1
)
else
:
else
:
...
@@ -2526,15 +2578,22 @@ class SSHConnection():
...
@@ -2526,15 +2578,22 @@ class SSHConnection():
self
.
CreateHtmlTestRow
(
'N/A'
,
'OK'
,
ALL_PROCESSES_OK
)
self
.
CreateHtmlTestRow
(
'N/A'
,
'OK'
,
ALL_PROCESSES_OK
)
def
AutoTerminateUEandeNB
(
self
):
def
AutoTerminateUEandeNB
(
self
):
self
.
testCase_id
=
'AUTO-KILL-UE'
if
(
self
.
ADBIPAddress
!=
'none'
):
self
.
desc
=
'Automatic Termination of UE'
self
.
testCase_id
=
'AUTO-KILL-UE'
self
.
ShowTestID
()
self
.
desc
=
'Automatic Termination of UE'
self
.
TerminateUE
()
self
.
ShowTestID
()
self
.
testCase_id
=
'AUTO-KILL-eNB'
self
.
TerminateUE
()
self
.
desc
=
'Automatic Termination of eNB'
if
(
self
.
Initialize_OAI_UE_args
!=
''
):
self
.
ShowTestID
()
self
.
testCase_id
=
'AUTO-KILL-UE'
self
.
eNB_instance
=
'0'
self
.
desc
=
'Automatic Termination of UE'
self
.
TerminateeNB
()
self
.
ShowTestID
()
self
.
TerminateOAIUE
()
if
(
self
.
Initialize_eNB_args
!=
''
):
self
.
testCase_id
=
'AUTO-KILL-eNB'
self
.
desc
=
'Automatic Termination of eNB'
self
.
ShowTestID
()
self
.
eNB_instance
=
'0'
self
.
TerminateeNB
()
def
IdleSleep
(
self
):
def
IdleSleep
(
self
):
time
.
sleep
(
self
.
idle_sleep_time
)
time
.
sleep
(
self
.
idle_sleep_time
)
...
@@ -2916,16 +2975,18 @@ class SSHConnection():
...
@@ -2916,16 +2975,18 @@ class SSHConnection():
if
(
processesStatus
==
0
):
if
(
processesStatus
==
0
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >'
+
str
(
status
)
+
'</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >'
+
str
(
status
)
+
'</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_FAILED
):
elif
(
processesStatus
==
ENB_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process not found</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - eNB process not found</td>
\n
'
)
elif
(
processesStatus
==
OAI_UE_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_SEG_FAULT
):
elif
(
processesStatus
==
ENB_PROCESS_SEG_FAULT
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Segmentation Fault</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Segmentation Fault</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_ASSERTION
)
or
(
processesStatus
==
UE_PROCESS_ASSERTION
):
elif
(
processesStatus
==
ENB_PROCESS_ASSERTION
)
or
(
processesStatus
==
OAI_
UE_PROCESS_ASSERTION
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Assertion</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Assertion</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_REALTIME_ISSUE
):
elif
(
processesStatus
==
ENB_PROCESS_REALTIME_ISSUE
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process faced Real Time issue(s)</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process faced Real Time issue(s)</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_NOLOGFILE_TO_ANALYZE
)
or
(
processesStatus
==
UE_PROCESS_NOLOGFILE_TO_ANALYZE
):
elif
(
processesStatus
==
ENB_PROCESS_NOLOGFILE_TO_ANALYZE
)
or
(
processesStatus
==
OAI_
UE_PROCESS_NOLOGFILE_TO_ANALYZE
):
self
.
htmlFile
.
write
(
' <td bgcolor = "orange" >OK?</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "orange" >OK?</td>
\n
'
)
elif
(
processesStatus
==
UE_PROCESS_COULD_NOT_SYNC
):
elif
(
processesStatus
==
OAI_
UE_PROCESS_COULD_NOT_SYNC
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - UE could not sync</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - UE could not sync</td>
\n
'
)
elif
(
processesStatus
==
HSS_PROCESS_FAILED
):
elif
(
processesStatus
==
HSS_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - HSS process not found</td>
\n
'
)
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - HSS process not found</td>
\n
'
)
...
...
ci-scripts/xml_files/enb_ue_usrp210_band7_test_05mhz_tm1.xml
View file @
6d533f07
...
@@ -41,6 +41,12 @@
...
@@ -41,6 +41,12 @@
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
</testCase>
</testCase>
<testCase
id=
"000003"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
60
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"030101"
>
<testCase
id=
"030101"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize eNB (FDD/Band7/5MHz)
</desc>
<desc>
Initialize eNB (FDD/Band7/5MHz)
</desc>
...
@@ -79,8 +85,8 @@
...
@@ -79,8 +85,8 @@
<testCase
id=
"040601"
>
<testCase
id=
"040601"
>
<class>
Iperf
</class>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/1
5
Mbps/UDP)(30 sec)
</desc>
<desc>
iperf (5MHz - DL/1Mbps/UDP)(30 sec)
</desc>
<iperf_args>
-u -b
2
M -t 30 -i 1 -c 10.0.1.2
</iperf_args>
<iperf_args>
-u -b
1
M -t 30 -i 1 -c 10.0.1.2
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
</testCase>
</testCase>
...
@@ -102,7 +108,7 @@
...
@@ -102,7 +108,7 @@
<testCase
id=
"040641"
>
<testCase
id=
"040641"
>
<class>
Iperf
</class>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/
9
Mbps/UDP)(30 sec)
</desc>
<desc>
iperf (5MHz - UL/
1
Mbps/UDP)(30 sec)
</desc>
<iperf_args>
-u -b 1M -t 30 -i 1 -R -c 10.0.1.1
</iperf_args>
<iperf_args>
-u -b 1M -t 30 -i 1 -R -c 10.0.1.1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
<iperf_profile>
balanced
</iperf_profile>
...
...
ci-scripts/xml_files/if4p5_usrp210_band40_test_10mhz.xml
View file @
6d533f07
...
@@ -96,7 +96,7 @@
...
@@ -96,7 +96,7 @@
<class>
Iperf
</class>
<class>
Iperf
</class>
<desc>
iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)
</desc>
<desc>
iperf (10MHz - UL/2Mbps/UDP)(30 sec)(single-ue)
</desc>
<iperf_args>
-u -b 2M -t 30 -i 1 -R
</iperf_args>
<iperf_args>
-u -b 2M -t 30 -i 1 -R
</iperf_args>
<iperf_packetloss_threshold>
5
0
</iperf_packetloss_threshold>
<iperf_packetloss_threshold>
6
0
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
<iperf_profile>
single-ue
</iperf_profile>
</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