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
OpenXG
OpenXG UE
Commits
db3052c2
Commit
db3052c2
authored
Apr 21, 2020
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: cleanup
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
d0429681
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
24 additions
and
65 deletions
+24
-65
ci-scripts/constants.py
ci-scripts/constants.py
+1
-1
ci-scripts/epc.py
ci-scripts/epc.py
+2
-5
ci-scripts/helpreadme.py
ci-scripts/helpreadme.py
+1
-1
ci-scripts/html.py
ci-scripts/html.py
+15
-35
ci-scripts/main.py
ci-scripts/main.py
+1
-6
ci-scripts/ran.py
ci-scripts/ran.py
+2
-14
ci-scripts/sshconnection.py
ci-scripts/sshconnection.py
+2
-3
No files found.
ci-scripts/constants.py
View file @
db3052c2
#/*
# * 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.
...
...
ci-scripts/epc.py
View file @
db3052c2
#/*
# * 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.
...
...
@@ -27,7 +28,6 @@
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
...
...
@@ -124,7 +124,7 @@ class EPCManagement():
mySSH
.
command
(
'if [ -d '
+
self
.
SourceCodePath
+
'/scripts ]; then echo '
+
self
.
Password
+
' | sudo -S rm -Rf '
+
self
.
SourceCodePath
+
'/scripts ; fi'
,
'\$'
,
5
)
mySSH
.
command
(
'mkdir -p '
+
self
.
SourceCodePath
+
'/scripts'
,
'\$'
,
5
)
mySSH
.
command
(
'cd /opt/hss_sim0609'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
Password
+
' | sudo -S rm -f hss.log
daemon.log
'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
Password
+
' | sudo -S rm -f hss.log'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
Password
+
' | sudo -S echo "Starting sudo session" && sudo su -c "screen -dm -S simulated_hss ./starthss"'
,
'\$'
,
5
)
else
:
logging
.
error
(
'This option should not occur!'
)
...
...
@@ -198,7 +198,6 @@ class EPCManagement():
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
CreateHtmlTestRow
(
self
.
Type
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
def
CheckHSSProcess
(
self
,
status_queue
):
try
:
mySSH
=
SSH
.
SSHConnection
()
...
...
@@ -267,7 +266,6 @@ class EPCManagement():
except
:
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
def
TerminateHSS
(
self
):
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
self
.
IPAddress
,
self
.
UserName
,
self
.
Password
)
...
...
@@ -349,7 +347,6 @@ class EPCManagement():
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
CreateHtmlTestRow
(
'N/A'
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
def
LogCollectHSS
(
self
):
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
self
.
IPAddress
,
self
.
UserName
,
self
.
Password
)
...
...
ci-scripts/helpreadme.py
View file @
db3052c2
#/*
# * 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.
...
...
@@ -27,7 +28,6 @@
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Functions Declaration
#-----------------------------------------------------------
...
...
ci-scripts/html.py
View file @
db3052c2
#/*
# * 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.
...
...
@@ -27,7 +28,6 @@
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
...
...
@@ -39,6 +39,8 @@ import time
import
subprocess
from
multiprocessing
import
Process
,
Lock
,
SimpleQueue
import
constants
as
CONST
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
...
...
@@ -87,11 +89,6 @@ class HTMLManagement():
def
SetHmleNBFailureMsg
(
self
,
msg
):
self
.
htmleNBFailureMsg
=
msg
def
SetreseNB
(
self
,
rsenb
):
self
.
reseNB
=
rsenb
def
SetresUE
(
self
,
rsue
):
self
.
resUE
=
rsue
def
Setdesc
(
self
,
dsc
):
self
.
desc
=
dsc
...
...
@@ -105,35 +102,19 @@ class HTMLManagement():
def
SetranRepository
(
self
,
repository
):
self
.
ranRepository
=
repository
def
GetranRepository
(
self
):
return
self
.
ranRepository
def
SetranAllowMerge
(
self
,
merge
):
self
.
ranAllowMerge
=
merge
def
GetranAllowMerge
(
self
):
return
self
.
ranAllowMerge
def
SetranBranch
(
self
,
branch
):
self
.
ranBranch
=
branch
def
GetranBranch
(
self
):
return
self
.
ranBranch
def
SetranCommitID
(
self
,
commitid
):
self
.
ranCommitID
=
commitid
def
GetranCommitID
(
self
):
return
self
.
ranCommitID
def
SetranTargetBranch
(
self
,
tbranch
):
self
.
ranTargetBranch
=
tbranch
def
GetranTargetBranch
(
self
):
return
self
.
ranTargetBranch
def
SethtmlUEConnected
(
self
,
nbUEs
):
self
.
htmlUEConnected
=
nbUEs
def
SethtmlNb_Smartphones
(
self
,
nbUEs
):
self
.
htmlNb_Smartphones
=
nbUEs
def
SethtmlNb_CATM_Modules
(
self
,
nbUEs
):
self
.
htmlNb_CATM_Modules
=
nbUEs
...
...
@@ -400,29 +381,29 @@ class HTMLManagement():
elif
(
str
(
status
)
==
'KO'
):
if
(
processesStatus
==
0
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >'
+
str
(
status
)
+
'</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_FAILED
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - eNB process not found</td>
\n
'
)
elif
(
processesStatus
==
OAI_UE_PROCESS_FAILED
):
elif
(
processesStatus
==
CONST
.
OAI_UE_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - OAI UE process not found</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_SEG_FAULT
)
or
(
processesStatus
==
OAI_UE_PROCESS_SEG_FAULT
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_SEG_FAULT
)
or
(
processesStatus
==
CONST
.
OAI_UE_PROCESS_SEG_FAULT
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Segmentation Fault</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_ASSERTION
)
or
(
processesStatus
==
OAI_UE_PROCESS_ASSERTION
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_ASSERTION
)
or
(
processesStatus
==
CONST
.
OAI_UE_PROCESS_ASSERTION
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' process ended in Assertion</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_REALTIME_ISSUE
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_REALTIME_ISSUE
):
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
==
OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_NOLOGFILE_TO_ANALYZE
)
or
(
processesStatus
==
CONST
.
OAI_UE_PROCESS_NOLOGFILE_TO_ANALYZE
):
self
.
htmlFile
.
write
(
' <td bgcolor = "orange" >OK?</td>
\n
'
)
elif
(
processesStatus
==
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
):
elif
(
processesStatus
==
CONST
.
ENB_PROCESS_SLAVE_RRU_NOT_SYNCED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - '
+
machine
+
' Slave RRU could not synch</td>
\n
'
)
elif
(
processesStatus
==
OAI_UE_PROCESS_COULD_NOT_SYNC
):
elif
(
processesStatus
==
CONST
.
OAI_UE_PROCESS_COULD_NOT_SYNC
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - UE could not sync</td>
\n
'
)
elif
(
processesStatus
==
HSS_PROCESS_FAILED
):
elif
(
processesStatus
==
CONST
.
HSS_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - HSS process not found</td>
\n
'
)
elif
(
processesStatus
==
MME_PROCESS_FAILED
):
elif
(
processesStatus
==
CONST
.
MME_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - MME process not found</td>
\n
'
)
elif
(
processesStatus
==
SPGW_PROCESS_FAILED
):
elif
(
processesStatus
==
CONST
.
SPGW_PROCESS_FAILED
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - SPGW process not found</td>
\n
'
)
elif
(
processesStatus
==
UE_IP_ADDRESS_ISSUE
):
elif
(
processesStatus
==
CONST
.
UE_IP_ADDRESS_ISSUE
):
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >KO - Could not retrieve UE IP address</td>
\n
'
)
else
:
self
.
htmlFile
.
write
(
' <td bgcolor = "lightcoral" >'
+
str
(
status
)
+
'</td>
\n
'
)
...
...
@@ -491,4 +472,3 @@ class HTMLManagement():
self
.
htmlFile
.
write
(
' </tr>
\n
'
)
self
.
htmlFile
.
close
()
ci-scripts/main.py
View file @
db3052c2
...
...
@@ -104,8 +104,6 @@ class OaiCiTest():
self
.
Initialize_OAI_UE_args
=
''
self
.
clean_repository
=
True
self
.
expectedNbOfConnectedUEs
=
0
self
.
startTime
=
0
def
BuildOAIUE
(
self
):
if
self
.
UEIPAddress
==
''
or
RAN
.
GetranRepository
()
==
''
or
RAN
.
GetranBranch
()
==
''
or
self
.
UEUserName
==
''
or
self
.
UEPassword
==
''
or
self
.
UESourceCodePath
==
''
:
...
...
@@ -1901,7 +1899,6 @@ class OaiCiTest():
def
Iperf_common
(
self
,
lock
,
UE_IPAddress
,
device_id
,
idx
,
ue_num
,
statusQueue
):
try
:
logging
.
debug
(
'entring Iperf_common'
)
# Single-UE profile -- iperf only on one UE
if
self
.
iperf_profile
==
'single-ue'
and
idx
!=
0
:
return
...
...
@@ -2239,7 +2236,6 @@ class OaiCiTest():
ue_num
=
len
(
self
.
UEIPAddresses
)
lock
=
Lock
()
status_queue
=
SimpleQueue
()
logging
.
debug
(
'ue_num = '
+
str
(
ue_num
))
for
UE_IPAddress
in
self
.
UEIPAddresses
:
device_id
=
self
.
UEDevices
[
i
]
p
=
Process
(
target
=
self
.
Iperf_common
,
args
=
(
lock
,
UE_IPAddress
,
device_id
,
i
,
ue_num
,
status_queue
,))
...
...
@@ -3559,8 +3555,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
CiTestObj
.
FailReportCnt
=
0
RAN
.
SetprematureExit
(
True
)
CiTestObj
.
startTime
=
int
(
round
(
time
.
time
()
*
1000
))
HTML
.
SetstartTime
(
CiTestObj
.
startTime
)
HTML
.
SetstartTime
(
int
(
round
(
time
.
time
()
*
1000
))
while
CiTestObj
.
FailReportCnt
<
CiTestObj
.
repeatCounts
[
0
]
and
RAN
.
GetprematureExit
():
RAN
.
SetprematureExit
(
False
)
# At every iteratin of the retry loop, a separator will be added
...
...
ci-scripts/ran.py
View file @
db3052c2
#/*
# * 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.
...
...
@@ -28,7 +28,6 @@
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
...
...
@@ -233,8 +232,6 @@ class RANManagement():
# RAN management functions
#-----------------------------------------------------------
def
BuildeNB
(
self
):
if
self
.
ranRepository
==
''
or
self
.
ranBranch
==
''
or
self
.
ranCommitID
==
''
:
GenericHelp
(
Version
)
...
...
@@ -347,8 +344,6 @@ class RANManagement():
mySSH
.
close
()
self
.
checkBuildeNB
(
lIpAddr
,
lUserName
,
lPassWord
,
lSourcePath
,
self
.
testCase_id
)
def
WaitBuildeNBisFinished
(
self
):
if
self
.
eNB_serverId
==
'0'
:
lIpAddr
=
self
.
eNBIPAddress
...
...
@@ -444,7 +439,6 @@ class RANManagement():
self
.
htmlObj
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
def
InitializeeNB
(
self
):
if
self
.
eNB_serverId
==
'0'
:
lIpAddr
=
self
.
eNBIPAddress
...
...
@@ -638,8 +632,6 @@ class RANManagement():
self
.
htmlObj
.
CreateHtmlTestRow
(
'-O '
+
config_file
+
extra_options
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
logging
.
debug
(
'
\u001B
[1m Initialize eNB Completed
\u001B
[0m'
)
def
CheckeNBProcess
(
self
,
status_queue
):
try
:
# At least the instance 0 SHALL be on!
...
...
@@ -672,8 +664,6 @@ class RANManagement():
except
:
os
.
kill
(
os
.
getppid
(),
signal
.
SIGUSR1
)
def
TerminateeNB
(
self
):
if
self
.
eNB_serverId
==
'0'
:
lIpAddr
=
self
.
eNBIPAddress
...
...
@@ -780,7 +770,6 @@ class RANManagement():
self
.
eNBmbmsEnables
[
int
(
self
.
eNB_instance
)]
=
False
self
.
eNBstatuses
[
int
(
self
.
eNB_instance
)]
=
-
1
def
LogCollecteNB
(
self
):
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
...
...
@@ -791,7 +780,6 @@ class RANManagement():
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt'
,
'\$'
,
5
)
mySSH
.
close
()
def
AnalyzeLogFile_eNB
(
self
,
eNBlogFile
):
if
(
not
os
.
path
.
isfile
(
'./'
+
eNBlogFile
)):
return
-
1
...
...
@@ -1043,7 +1031,7 @@ class RANManagement():
if
foundRealTimeIssue
:
logging
.
debug
(
'
\u001B
[1;37;41m '
+
nodeB_prefix
+
'NB faced real time issues!
\u001B
[0m'
)
htmleNBFailureMsg
+=
nodeB_prefix
+
'NB faced real time issues!
\n
'
#return ENB_PROCESS_REALTIME_ISSUE
#return
CONST.
ENB_PROCESS_REALTIME_ISSUE
if
rlcDiscardBuffer
>
0
:
rlcMsg
=
nodeB_prefix
+
'NB RLC discarded '
+
str
(
rlcDiscardBuffer
)
+
' buffer(s)'
logging
.
debug
(
'
\u001B
[1;37;41m '
+
rlcMsg
+
'
\u001B
[0m'
)
...
...
ci-scripts/sshconnection.py
View file @
db3052c2
#/*
# * 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.
...
...
@@ -28,7 +28,6 @@
# pexpect
#---------------------------------------------------------------------
#-----------------------------------------------------------
# Import
#-----------------------------------------------------------
...
...
@@ -36,6 +35,7 @@ import pexpect # pexpect
import
logging
import
time
# sleep
import
re
#-----------------------------------------------------------
# Class Declaration
#-----------------------------------------------------------
...
...
@@ -89,7 +89,6 @@ class SSHConnection():
else
:
sys
.
exit
(
'SSH Connection Failed'
)
def
command
(
self
,
commandline
,
expectedline
,
timeout
):
logging
.
debug
(
commandline
)
self
.
ssh
.
timeout
=
timeout
...
...
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