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
2bf4571d
Commit
2bf4571d
authored
Jun 11, 2021
by
hardy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_nsa_traces' into integration_2021_wk23
parents
530b74dd
328664b4
Changes
15
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
153 additions
and
76 deletions
+153
-76
ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
+2
-6
ci-scripts/Jenkinsfile-trig-nsa
ci-scripts/Jenkinsfile-trig-nsa
+9
-9
ci-scripts/ci_ueinfra.yaml
ci-scripts/ci_ueinfra.yaml
+1
-1
ci-scripts/cls_module_ue.py
ci-scripts/cls_module_ue.py
+32
-2
ci-scripts/cls_oaicitest.py
ci-scripts/cls_oaicitest.py
+53
-38
ci-scripts/main.py
ci-scripts/main.py
+8
-7
ci-scripts/ran.py
ci-scripts/ran.py
+36
-2
ci-scripts/xml_files/enb_ue_usrp210_band7_build.xml
ci-scripts/xml_files/enb_ue_usrp210_band7_build.xml
+1
-1
ci-scripts/xml_files/enb_usrp210_band13_build.xml
ci-scripts/xml_files/enb_usrp210_band13_build.xml
+1
-1
ci-scripts/xml_files/enb_usrp210_band40_build.xml
ci-scripts/xml_files/enb_usrp210_band40_build.xml
+1
-1
ci-scripts/xml_files/enb_usrp210_band7_build.xml
ci-scripts/xml_files/enb_usrp210_band7_build.xml
+1
-1
ci-scripts/xml_files/fr1_nsa_quectel.xml
ci-scripts/xml_files/fr1_nsa_quectel.xml
+5
-4
ci-scripts/xml_files/if4p5_usrp210_band40_build.xml
ci-scripts/xml_files/if4p5_usrp210_band40_build.xml
+1
-1
ci-scripts/xml_files/if4p5_usrp210_band7_build.xml
ci-scripts/xml_files/if4p5_usrp210_band7_build.xml
+1
-1
ci-scripts/xml_files/x2ho_enb_usrp210_band13_build.xml
ci-scripts/xml_files/x2ho_enb_usrp210_band13_build.xml
+1
-1
No files found.
ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
View file @
2bf4571d
...
@@ -33,10 +33,9 @@ def buildStageStatus = true
...
@@ -33,10 +33,9 @@ def buildStageStatus = true
// Name of the test stage
// Name of the test stage
def
testStageName
=
params
.
pipelineTestStageName
def
testStageName
=
params
.
pipelineTestStageName
// Name of the phone resource
// Name of the phone
/server
resource
def
ciSmartPhonesResource1
=
params
.
SmartPhonesResource1
def
ciSmartPhonesResource1
=
params
.
SmartPhonesResource1
def
ciSmartPhonesResource2
=
params
.
SmartPhonesResource2
def
ciSmartPhonesResource2
=
params
.
SmartPhonesResource2
def
ciSmartPhonesResource3
=
params
.
SmartPhonesResource3
// Global Parameters. Normally they should be populated when the master job
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
// triggers the slave job with parameters
...
@@ -53,7 +52,7 @@ pipeline {
...
@@ -53,7 +52,7 @@ pipeline {
options
{
options
{
disableConcurrentBuilds
()
disableConcurrentBuilds
()
ansiColor
(
'xterm'
)
ansiColor
(
'xterm'
)
lock
(
extra:
[[
resource:
ciSmartPhonesResource2
]
,[
resource:
ciSmartPhonesResource3
]
],
resource:
ciSmartPhonesResource1
)
lock
(
extra:
[[
resource:
ciSmartPhonesResource2
]],
resource:
ciSmartPhonesResource1
)
}
}
stages
{
stages
{
stage
(
"Build Init"
)
{
stage
(
"Build Init"
)
{
...
@@ -85,9 +84,6 @@ pipeline {
...
@@ -85,9 +84,6 @@ pipeline {
if
(
params
.
SmartPhonesResource2
==
null
)
{
if
(
params
.
SmartPhonesResource2
==
null
)
{
allParametersPresent
=
false
allParametersPresent
=
false
}
}
if
(
params
.
SmartPhonesResource3
==
null
)
{
allParametersPresent
=
false
}
// 1st eNB parameters
// 1st eNB parameters
if
(
params
.
eNB_IPAddress
==
null
)
{
if
(
params
.
eNB_IPAddress
==
null
)
{
allParametersPresent
=
false
allParametersPresent
=
false
...
...
ci-scripts/Jenkinsfile-trig-nsa
View file @
2bf4571d
...
@@ -36,7 +36,7 @@ pipeline {
...
@@ -36,7 +36,7 @@ pipeline {
stage
(
"Launcher"
)
{
stage
(
"Launcher"
)
{
steps
{
steps
{
script
{
script
{
//retrieve MR that are opened nd with tag
READY_TO_BE_MERGED
//retrieve MR that are opened nd with tag
NSA
MR_LIST
=
sh
returnStdout:
true
,
script:
'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq ".[].iid" || true '
MR_LIST
=
sh
returnStdout:
true
,
script:
'curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests?state=opened&per_page=100&labels=NSA" | jq ".[].iid" || true '
echo
"List of selected MR:\n${MR_LIST}"
echo
"List of selected MR:\n${MR_LIST}"
def
MR_ARRAY
=
MR_LIST
.
split
(
'\n'
)
def
MR_ARRAY
=
MR_LIST
.
split
(
'\n'
)
...
@@ -48,7 +48,7 @@ pipeline {
...
@@ -48,7 +48,7 @@ pipeline {
COMMIT_ID
=
COMMIT_ID
.
trim
()
COMMIT_ID
=
COMMIT_ID
.
trim
()
echo
"Testing NSA on : ${MR} ${SRC_BRANCH} ${COMMIT_ID}"
echo
"Testing NSA on : ${MR} ${SRC_BRANCH} ${COMMIT_ID}"
//calling NSA sub job
//calling NSA sub job
build
job:
"RAN-
CI-NSA-B210-N310-ModuleUE
"
,
wait
:
false
,
propagate
:
false
,
parameters:
[
build
job:
"RAN-
NSA-Mini-Module
"
,
wait
:
false
,
propagate
:
false
,
parameters:
[
string
(
name:
'eNB_MR'
,
value:
String
.
valueOf
(
MR
)),
string
(
name:
'eNB_MR'
,
value:
String
.
valueOf
(
MR
)),
string
(
name:
'eNB_Branch'
,
value:
String
.
valueOf
(
SRC_BRANCH
)),
string
(
name:
'eNB_Branch'
,
value:
String
.
valueOf
(
SRC_BRANCH
)),
string
(
name:
'eNB_CommitID'
,
value:
String
.
valueOf
(
COMMIT_ID
)),
string
(
name:
'eNB_CommitID'
,
value:
String
.
valueOf
(
COMMIT_ID
)),
...
@@ -56,13 +56,13 @@ pipeline {
...
@@ -56,13 +56,13 @@ pipeline {
booleanParam
(
name:
'eNB_AllowMergeRequestProcess'
,
value:
Boolean
.
valueOf
(
ALLOW_MERGE
))
booleanParam
(
name:
'eNB_AllowMergeRequestProcess'
,
value:
Boolean
.
valueOf
(
ALLOW_MERGE
))
]
]
//calling Benetel sub job
//calling Benetel sub job
build
job:
"RAN-CI-BENETEL"
,
wait
:
false
,
propagate
:
false
,
parameters:
[
//
build job: "RAN-CI-BENETEL", wait : false, propagate : false, parameters: [
string
(
name:
'eNB_MR'
,
value:
String
.
valueOf
(
MR
)),
//
string(name: 'eNB_MR', value: String.valueOf(MR)),
string
(
name:
'eNB_Branch'
,
value:
String
.
valueOf
(
SRC_BRANCH
)),
//
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string
(
name:
'eNB_CommitID'
,
value:
String
.
valueOf
(
COMMIT_ID
)),
//
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string
(
name:
'eNB_TargetBranch'
,
value:
String
.
valueOf
(
TARGET_BRANCH
)),
//
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam
(
name:
'eNB_AllowMergeRequestProcess'
,
value:
Boolean
.
valueOf
(
ALLOW_MERGE
))
//
booleanParam(name: 'eNB_AllowMergeRequestProcess', value: Boolean.valueOf(ALLOW_MERGE))
]
//
]
}
}
}
}
}
}
...
...
ci-scripts/ci_ueinfra.yaml
View file @
2bf4571d
...
@@ -8,7 +8,7 @@ idefix:
...
@@ -8,7 +8,7 @@ idefix:
WakeupScript
:
ci_ctl_qtel.py /dev/ttyUSB2 wup
WakeupScript
:
ci_ctl_qtel.py /dev/ttyUSB2 wup
DetachScript
:
ci_ctl_qtel.py /dev/ttyUSB2 detach
DetachScript
:
ci_ctl_qtel.py /dev/ttyUSB2 detach
PLMN
:
22201
PLMN
:
22201
UENetwork
:
enxb22a941dbf0
0
UENetwork
:
wwan
0
HostIPAddress
:
192.168.18.188
HostIPAddress
:
192.168.18.188
HostUsername
:
oaicicd
HostUsername
:
oaicicd
HostPassword
:
oaicicd
HostPassword
:
oaicicd
...
...
ci-scripts/cls_module_ue.py
View file @
2bf4571d
...
@@ -37,7 +37,7 @@ import time
...
@@ -37,7 +37,7 @@ import time
import
re
import
re
import
subprocess
import
subprocess
from
datetime
import
datetime
class
Module_UE
:
class
Module_UE
:
...
@@ -101,7 +101,7 @@ class Module_UE:
...
@@ -101,7 +101,7 @@ class Module_UE:
def
GetModuleIPAddress
(
self
):
def
GetModuleIPAddress
(
self
):
HOST
=
self
.
HostIPAddress
HOST
=
self
.
HostIPAddress
response
=
[]
response
=
[]
tentative
=
10
tentative
=
3
while
(
len
(
response
)
==
0
)
and
(
tentative
>
0
):
while
(
len
(
response
)
==
0
)
and
(
tentative
>
0
):
COMMAND
=
"ip a show dev "
+
self
.
UENetwork
+
" | grep inet | grep "
+
self
.
UENetwork
COMMAND
=
"ip a show dev "
+
self
.
UENetwork
+
" | grep inet | grep "
+
self
.
UENetwork
logging
.
debug
(
COMMAND
)
logging
.
debug
(
COMMAND
)
...
@@ -126,7 +126,37 @@ class Module_UE:
...
@@ -126,7 +126,37 @@ class Module_UE:
logging
.
debug
(
'
\u001B
[1;37;41m Module IP Address Not Found!
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;37;41m Module IP Address Not Found!
\u001B
[0m'
)
return
-
1
return
-
1
def
EnableTrace
(
self
):
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
HostIPAddress
,
self
.
HostUsername
,
self
.
HostPassword
)
#delete old artifacts
mySSH
.
command
(
'echo '
+
self
.
HostPassword
+
' | sudo -S rm -rf ci_qlog'
,
'\$'
,
5
)
#start Trace
mySSH
.
command
(
'echo $USER; nohup sudo -E QLog/QLog -s ci_qlog -f NR5G.cfg &'
,
'\$'
,
5
)
mySSH
.
close
()
def
DisableTrace
(
self
):
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
HostIPAddress
,
self
.
HostUsername
,
self
.
HostPassword
)
mySSH
.
command
(
'echo '
+
self
.
HostPassword
+
' | sudo -S killall --signal=SIGINT *QLog*'
,
'\$'
,
5
)
mySSH
.
close
()
def
DisableCM
(
self
):
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
HostIPAddress
,
self
.
HostUsername
,
self
.
HostPassword
)
mySSH
.
command
(
'echo '
+
self
.
HostPassword
+
' | sudo -S killall --signal SIGKILL *'
+
self
.
Process
[
'Name'
]
+
'*'
,
'\$'
,
5
)
mySSH
.
close
()
def
LogCollect
(
self
):
mySSH
=
sshconnection
.
SSHConnection
()
mySSH
.
open
(
self
.
HostIPAddress
,
self
.
HostUsername
,
self
.
HostPassword
)
#archive qlog to /opt/ci_qlogs with datetime suffix
now
=
datetime
.
now
()
now_string
=
now
.
strftime
(
"%Y%m%d-%H%M"
)
source
=
'ci_qlog'
destination
=
'/opt/ci_qlogs/ci_qlog_'
+
now_string
+
'.zip'
mySSH
.
command
(
'echo $USER; echo '
+
self
.
HostPassword
+
' | nohup sudo -S zip -r '
+
destination
+
' '
+
source
+
' &'
,
'\$'
,
10
)
mySSH
.
close
()
return
destination
ci-scripts/cls_oaicitest.py
View file @
2bf4571d
This diff is collapsed.
Click to expand it.
ci-scripts/main.py
View file @
2bf4571d
...
@@ -152,6 +152,7 @@ def GetParametersFromXML(action):
...
@@ -152,6 +152,7 @@ def GetParametersFromXML(action):
RAN
.
eNB_serverId
[
RAN
.
eNB_instance
]
=
eNB_serverId
RAN
.
eNB_serverId
[
RAN
.
eNB_instance
]
=
eNB_serverId
elif
action
==
'Initialize_eNB'
:
elif
action
==
'Initialize_eNB'
:
RAN
.
eNB_Trace
=
test
.
findtext
(
'eNB_Trace'
)
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'
)
if
(
eNB_instance
is
None
):
if
(
eNB_instance
is
None
):
...
@@ -474,7 +475,7 @@ elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE):
...
@@ -474,7 +475,7 @@ elif re.match('^TerminateOAIUE$', mode, re.IGNORECASE):
HELP
.
GenericHelp
(
CONST
.
Version
)
HELP
.
GenericHelp
(
CONST
.
Version
)
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
signal
.
signal
(
signal
.
SIGUSR1
,
receive_signal
)
signal
.
signal
(
signal
.
SIGUSR1
,
receive_signal
)
CiTestObj
.
TerminateOAIUE
(
HTML
,
RAN
,
COTS_UE
,
EPC
)
CiTestObj
.
TerminateOAIUE
(
HTML
,
RAN
,
COTS_UE
,
EPC
,
InfraUE
)
elif
re
.
match
(
'^TerminateHSS$'
,
mode
,
re
.
IGNORECASE
):
elif
re
.
match
(
'^TerminateHSS$'
,
mode
,
re
.
IGNORECASE
):
if
EPC
.
IPAddress
==
''
or
EPC
.
UserName
==
''
or
EPC
.
Password
==
''
or
EPC
.
Type
==
''
or
EPC
.
SourceCodePath
==
''
:
if
EPC
.
IPAddress
==
''
or
EPC
.
UserName
==
''
or
EPC
.
Password
==
''
or
EPC
.
Type
==
''
or
EPC
.
SourceCodePath
==
''
:
HELP
.
GenericHelp
(
CONST
.
Version
)
HELP
.
GenericHelp
(
CONST
.
Version
)
...
@@ -717,7 +718,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
...
@@ -717,7 +718,7 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
elif
action
==
'Terminate_UE'
:
elif
action
==
'Terminate_UE'
:
CiTestObj
.
TerminateUE
(
HTML
,
COTS_UE
)
CiTestObj
.
TerminateUE
(
HTML
,
COTS_UE
)
elif
action
==
'Attach_UE'
:
elif
action
==
'Attach_UE'
:
CiTestObj
.
AttachUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
)
CiTestObj
.
AttachUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
elif
action
==
'Detach_UE'
:
elif
action
==
'Detach_UE'
:
CiTestObj
.
DetachUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
CiTestObj
.
DetachUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
elif
action
==
'DataDisable_UE'
:
elif
action
==
'DataDisable_UE'
:
...
@@ -725,23 +726,23 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
...
@@ -725,23 +726,23 @@ elif re.match('^TesteNB$', mode, re.IGNORECASE) or re.match('^TestUE$', mode, re
elif
action
==
'DataEnable_UE'
:
elif
action
==
'DataEnable_UE'
:
CiTestObj
.
DataEnableUE
(
HTML
)
CiTestObj
.
DataEnableUE
(
HTML
)
elif
action
==
'CheckStatusUE'
:
elif
action
==
'CheckStatusUE'
:
CiTestObj
.
CheckStatusUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
)
CiTestObj
.
CheckStatusUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
elif
action
==
'Build_OAI_UE'
:
elif
action
==
'Build_OAI_UE'
:
CiTestObj
.
BuildOAIUE
(
HTML
)
CiTestObj
.
BuildOAIUE
(
HTML
)
elif
action
==
'Initialize_OAI_UE'
:
elif
action
==
'Initialize_OAI_UE'
:
CiTestObj
.
InitializeOAIUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
)
CiTestObj
.
InitializeOAIUE
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
elif
action
==
'Terminate_OAI_UE'
:
elif
action
==
'Terminate_OAI_UE'
:
CiTestObj
.
TerminateOAIUE
(
HTML
,
RAN
,
COTS_UE
,
EPC
)
CiTestObj
.
TerminateOAIUE
(
HTML
,
RAN
,
COTS_UE
,
EPC
,
InfraUE
)
elif
action
==
'Initialize_CatM_module'
:
elif
action
==
'Initialize_CatM_module'
:
CiTestObj
.
InitializeCatM
(
HTML
)
CiTestObj
.
InitializeCatM
(
HTML
)
elif
action
==
'Terminate_CatM_module'
:
elif
action
==
'Terminate_CatM_module'
:
CiTestObj
.
TerminateCatM
(
HTML
)
CiTestObj
.
TerminateCatM
(
HTML
)
elif
action
==
'Attach_CatM_module'
:
elif
action
==
'Attach_CatM_module'
:
CiTestObj
.
AttachCatM
(
HTML
,
RAN
,
COTS_UE
,
EPC
)
CiTestObj
.
AttachCatM
(
HTML
,
RAN
,
COTS_UE
,
EPC
,
InfraUE
)
elif
action
==
'Detach_CatM_module'
:
elif
action
==
'Detach_CatM_module'
:
CiTestObj
.
TerminateCatM
(
HTML
)
CiTestObj
.
TerminateCatM
(
HTML
)
elif
action
==
'Ping_CatM_module'
:
elif
action
==
'Ping_CatM_module'
:
CiTestObj
.
PingCatM
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
EPC
)
CiTestObj
.
PingCatM
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
EPC
,
InfraUE
)
elif
action
==
'Ping'
:
elif
action
==
'Ping'
:
CiTestObj
.
Ping
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
CiTestObj
.
Ping
(
HTML
,
RAN
,
EPC
,
COTS_UE
,
InfraUE
)
elif
action
==
'Iperf'
:
elif
action
==
'Iperf'
:
...
...
ci-scripts/ran.py
View file @
2bf4571d
...
@@ -93,6 +93,7 @@ class RANManagement():
...
@@ -93,6 +93,7 @@ class RANManagement():
self
.
epcPcapFile
=
''
self
.
epcPcapFile
=
''
self
.
runtime_stats
=
''
self
.
runtime_stats
=
''
self
.
datalog_rt_stats
=
{}
self
.
datalog_rt_stats
=
{}
self
.
eNB_Trace
=
''
#if 'yes', Tshark will be launched at initialization
...
@@ -344,6 +345,22 @@ class RANManagement():
...
@@ -344,6 +345,22 @@ class RANManagement():
HTML
.
CreateHtmlTestRow
(
self
.
air_interface
[
self
.
eNB_instance
]
+
' '
+
self
.
Initialize_eNB_args
,
'KO'
,
self
.
pStatus
)
HTML
.
CreateHtmlTestRow
(
self
.
air_interface
[
self
.
eNB_instance
]
+
' '
+
self
.
Initialize_eNB_args
,
'KO'
,
self
.
pStatus
)
HTML
.
CreateHtmlTabFooter
(
False
)
HTML
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
1
)
sys
.
exit
(
1
)
#Get pcap on S1 and X2 eNB interface, if enabled in the xml
#will not work for gNB at this stage
if
((
self
.
air_interface
[
self
.
eNB_instance
]
==
'lte-softmodem'
)
or
(
self
.
air_interface
[
self
.
eNB_instance
]
==
'ocp-enb'
))
and
self
.
eNB_Trace
==
'yes'
:
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
command
(
'ip addr show | awk -f /tmp/active_net_interfaces.awk | egrep -v "lo|tun"'
,
'\$'
,
5
)
result
=
re
.
search
(
'interfaceToUse=(?P<eth_interface>[a-zA-Z0-9\-\_]+)done'
,
mySSH
.
getBefore
())
if
result
is
not
None
:
eth_interface
=
result
.
group
(
'eth_interface'
)
logging
.
debug
(
'
\u001B
[1m Launching tshark on interface '
+
eth_interface
+
'
\u001B
[0m'
)
pcapfile
=
'enb_'
+
self
.
testCase_id
+
'_s1x2log.pcap'
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S rm -f /tmp/'
+
pcapfile
,
'\$'
,
5
)
mySSH
.
command
(
'echo $USER; nohup sudo -E tshark -i '
+
eth_interface
+
' -w /tmp/'
+
pcapfile
+
' 2>&1 &'
,
'\$'
,
5
)
mySSH
.
close
()
# 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
):
...
@@ -579,6 +596,10 @@ class RANManagement():
...
@@ -579,6 +596,10 @@ class RANManagement():
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGKILL -r .*-softmodem ocp-enb || true'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGKILL -r .*-softmodem ocp-enb || true'
,
'\$'
,
5
)
time
.
sleep
(
5
)
time
.
sleep
(
5
)
mySSH
.
command
(
'rm -f my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
mySSH
.
command
(
'rm -f my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
#stopping tshark (valid if eNB and enabled in xml, will not harm otherwise)
logging
.
debug
(
'
\u001B
[1m Stopping tshark
\u001B
[0m'
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGKILL tshark'
,
'\$'
,
5
)
time
.
sleep
(
1
)
mySSH
.
close
()
mySSH
.
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
))
...
@@ -597,6 +618,7 @@ class RANManagement():
...
@@ -597,6 +618,7 @@ class RANManagement():
mySSH
.
close
()
mySSH
.
close
()
logging
.
debug
(
'
\u001B
[1m Replaying RAW record file
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1m Replaying RAW record file
\u001B
[0m'
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
command
(
'killall --signal SIGKILL record'
,
'\$'
,
5
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/common/utils/T/tracer/'
,
'\$'
,
5
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/common/utils/T/tracer/'
,
'\$'
,
5
)
enbLogFile
=
self
.
eNBLogFiles
[
int
(
self
.
eNB_instance
)]
enbLogFile
=
self
.
eNBLogFiles
[
int
(
self
.
eNB_instance
)]
raw_record_file
=
enbLogFile
.
replace
(
'.log'
,
'_record.raw'
)
raw_record_file
=
enbLogFile
.
replace
(
'.log'
,
'_record.raw'
)
...
@@ -650,9 +672,10 @@ class RANManagement():
...
@@ -650,9 +672,10 @@ class RANManagement():
mySSH
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
mySSH
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
mySSH
.
command
(
'cd '
+
self
.
eNBSourceCodePath
,
'\$'
,
5
)
mySSH
.
command
(
'cd '
+
self
.
eNBSourceCodePath
,
'\$'
,
5
)
mySSH
.
command
(
'cd cmake_targets'
,
'\$'
,
5
)
mySSH
.
command
(
'cd cmake_targets'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S mv /tmp/enb_*_s1x2log.pcap .'
,
'\$'
,
20
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm -f enb.log.zip'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm -f enb.log.zip'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap enb_*txt physim_*.log'
,
'\$'
,
60
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap enb_*txt physim_*.log
*stats.log
'
,
'\$'
,
60
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt
physim_*.log *stats.log
'
,
'\$'
,
5
)
mySSH
.
close
()
mySSH
.
close
()
def
AnalyzeLogFile_eNB
(
self
,
eNBlogFile
,
HTML
):
def
AnalyzeLogFile_eNB
(
self
,
eNBlogFile
,
HTML
):
...
@@ -707,6 +730,8 @@ class RANManagement():
...
@@ -707,6 +730,8 @@ class RANManagement():
real_time_stats
=
{}
real_time_stats
=
{}
#count "problem receiving samples" msg
#count "problem receiving samples" msg
pb_receiving_samples_cnt
=
0
pb_receiving_samples_cnt
=
0
#count "removing UE" msg
removing_ue
=
0
#NSA specific log markers
#NSA specific log markers
nsa_markers
=
{
'SgNBReleaseRequestAcknowledge'
:
[],
'FAILURE'
:
[],
'scgFailureInformationNR-r15'
:
[],
'SgNBReleaseRequest'
:
[]}
nsa_markers
=
{
'SgNBReleaseRequestAcknowledge'
:
[],
'FAILURE'
:
[],
'scgFailureInformationNR-r15'
:
[],
'SgNBReleaseRequest'
:
[]}
...
@@ -903,6 +928,10 @@ class RANManagement():
...
@@ -903,6 +928,10 @@ class RANManagement():
result
=
re
.
search
(
'\[PHY\]\s+problem receiving samples'
,
str
(
line
))
result
=
re
.
search
(
'\[PHY\]\s+problem receiving samples'
,
str
(
line
))
if
result
is
not
None
:
if
result
is
not
None
:
pb_receiving_samples_cnt
+=
1
pb_receiving_samples_cnt
+=
1
#count "Removing UE" msg
result
=
re
.
search
(
'\[MAC\]\s+Removing UE'
,
str
(
line
))
if
result
is
not
None
:
removing_ue
+=
1
#nsa markers logging
#nsa markers logging
for
k
in
nsa_markers
:
for
k
in
nsa_markers
:
...
@@ -992,6 +1021,11 @@ class RANManagement():
...
@@ -992,6 +1021,11 @@ class RANManagement():
htmleNBFailureMsg
+=
statMsg
htmleNBFailureMsg
+=
statMsg
else
:
else
:
#Removing UE log
statMsg
=
'[MAC] Removing UE msg count = '
+
str
(
removing_ue
)
htmlMsg
=
statMsg
+
'
\n
'
logging
.
debug
(
statMsg
)
htmleNBFailureMsg
+=
htmlMsg
#nsa markers
#nsa markers
statMsg
=
'logfile line count = '
+
str
(
line_cnt
)
statMsg
=
'logfile line count = '
+
str
(
line_cnt
)
htmlMsg
=
statMsg
+
'
\n
'
htmlMsg
=
statMsg
+
'
\n
'
...
...
ci-scripts/xml_files/enb_ue_usrp210_band7_build.xml
View file @
2bf4571d
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP)
</desc>
<desc>
Build eNB (USRP)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/enb_usrp210_band13_build.xml
View file @
2bf4571d
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP)
</desc>
<desc>
Build eNB (USRP)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/enb_usrp210_band40_build.xml
View file @
2bf4571d
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP)
</desc>
<desc>
Build eNB (USRP)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/enb_usrp210_band7_build.xml
View file @
2bf4571d
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP)
</desc>
<desc>
Build eNB (USRP)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/fr1_nsa_quectel.xml
View file @
2bf4571d
...
@@ -24,21 +24,21 @@
...
@@ -24,21 +24,21 @@
<htmlTabRef>
TEST-NSA-FR1-TM1
</htmlTabRef>
<htmlTabRef>
TEST-NSA-FR1-TM1
</htmlTabRef>
<htmlTabName>
NSA Ping DL UL with QUECTEL
</htmlTabName>
<htmlTabName>
NSA Ping DL UL with QUECTEL
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<htmlTabIcon>
tasks
</htmlTabIcon>
<repeatCount>
3
</repeatCount>
<repeatCount>
1
</repeatCount>
<TestCaseRequestedList>
<TestCaseRequestedList>
030000
030000
040000
040000
000002
000002
010000
010000
000001
050000
050000
050001
050001
000001
000001
070000
070000
000001
000001
07000
0
07000
1
000001
000001
010002
010002
000001
080001
080001
080000
080000
</TestCaseRequestedList>
</TestCaseRequestedList>
...
@@ -65,13 +65,14 @@
...
@@ -65,13 +65,14 @@
<eNB_instance>
0
</eNB_instance>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
lte
</air_interface>
<air_interface>
lte
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
</testCase>
</testCase>
<testCase
id=
"040000"
>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrp
n310.conf
-q
</Initialize_eNB_args>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.tm1.fr1.106PRB.usrp
b210.conf -E
-q
</Initialize_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<air_interface>
nr
</air_interface>
...
...
ci-scripts/xml_files/if4p5_usrp210_band40_build.xml
View file @
2bf4571d
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP -- Ethernet Fronthaul)
</desc>
<desc>
Build eNB (USRP -- Ethernet Fronthaul)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/if4p5_usrp210_band7_build.xml
View file @
2bf4571d
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
<testCase
id=
"010101"
>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build eNB (USRP -- Ethernet Fronthaul)
</desc>
<desc>
Build eNB (USRP -- Ethernet Fronthaul)
</desc>
<Build_eNB_args>
-w USRP -c --eNB
</Build_eNB_args>
<Build_eNB_args>
-w USRP -c --eNB
--ninja
</Build_eNB_args>
</testCase>
</testCase>
</testCaseList>
</testCaseList>
ci-scripts/xml_files/x2ho_enb_usrp210_band13_build.xml
View file @
2bf4571d
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
<testCase
id=
"010102"
>
<testCase
id=
"010102"
>
<class>
Build_eNB
</class>
<class>
Build_eNB
</class>
<desc>
Build Slave eNB (USRP)
</desc>
<desc>
Build Slave eNB (USRP)
</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>
...
...
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