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
zzha zzha
OpenXG-RAN
Commits
8d75cb61
Commit
8d75cb61
authored
Jul 09, 2020
by
hardy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
to support OCP eNB build and test
parent
5df03269
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
265 additions
and
50 deletions
+265
-50
ci-scripts/main.py
ci-scripts/main.py
+28
-15
ci-scripts/ran.py
ci-scripts/ran.py
+40
-31
ci-scripts/xml_files/enb_ocp_usrp210_band7_test_05mhz_tm1.xml
...cripts/xml_files/enb_ocp_usrp210_band7_test_05mhz_tm1.xml
+146
-0
ci-scripts/xml_files/enb_ocp_usrp210_build.xml
ci-scripts/xml_files/enb_ocp_usrp210_build.xml
+38
-0
cmake_targets/build_oai
cmake_targets/build_oai
+13
-4
No files found.
ci-scripts/main.py
View file @
8d75cb61
...
@@ -3110,11 +3110,15 @@ def GetParametersFromXML(action):
...
@@ -3110,11 +3110,15 @@ def GetParametersFromXML(action):
RAN
.
SeteNB_serverId
(
test
.
findtext
(
'eNB_serverId'
))
RAN
.
SeteNB_serverId
(
test
.
findtext
(
'eNB_serverId'
))
if
(
RAN
.
GeteNB_serverId
()
is
None
):
if
(
RAN
.
GeteNB_serverId
()
is
None
):
RAN
.
SeteNB_serverId
(
'0'
)
RAN
.
SeteNB_serverId
(
'0'
)
CiTestObj
.
air_interface
=
test
.
findtext
(
'air_interface'
)
if
(
CiTestObj
.
air_interface
is
None
):
#local variable air_interface
CiTestObj
.
air_interface
=
'lte'
air_interface
=
test
.
findtext
(
'air_interface'
)
else
:
if
(
air_interface
is
None
)
or
(
air_interface
.
lower
()
not
in
[
'nr'
,
'lte'
,
'ocp'
]):
CiTestObj
.
air_interface
=
CiTestObj
.
air_interface
.
lower
()
CiTestObj
.
air_interface
=
'lte-softmodem'
elif
(
air_interface
.
lower
()
in
[
'nr'
,
'lte'
]):
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'-softmodem'
else
:
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'ocp-enb'
RAN
.
Setair_interface
(
CiTestObj
.
air_interface
)
RAN
.
Setair_interface
(
CiTestObj
.
air_interface
)
if
action
==
'Terminate_eNB'
:
if
action
==
'Terminate_eNB'
:
...
@@ -3124,11 +3128,15 @@ def GetParametersFromXML(action):
...
@@ -3124,11 +3128,15 @@ def GetParametersFromXML(action):
RAN
.
SeteNB_serverId
(
test
.
findtext
(
'eNB_serverId'
))
RAN
.
SeteNB_serverId
(
test
.
findtext
(
'eNB_serverId'
))
if
(
RAN
.
GeteNB_serverId
()
is
None
):
if
(
RAN
.
GeteNB_serverId
()
is
None
):
RAN
.
SeteNB_serverId
(
'0'
)
RAN
.
SeteNB_serverId
(
'0'
)
CiTestObj
.
air_interface
=
test
.
findtext
(
'air_interface'
)
if
(
CiTestObj
.
air_interface
is
None
):
#local variable air_interface
CiTestObj
.
air_interface
=
'lte'
air_interface
=
test
.
findtext
(
'air_interface'
)
else
:
if
(
air_interface
is
None
)
or
(
air_interface
.
lower
()
not
in
[
'nr'
,
'lte'
,
'ocp'
]):
CiTestObj
.
air_interface
=
CiTestObj
.
air_interface
.
lower
()
CiTestObj
.
air_interface
=
'lte-softmodem'
elif
(
air_interface
.
lower
()
in
[
'nr'
,
'lte'
]):
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'-softmodem'
else
:
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'ocp-enb'
RAN
.
Setair_interface
(
CiTestObj
.
air_interface
)
RAN
.
Setair_interface
(
CiTestObj
.
air_interface
)
if
action
==
'Attach_UE'
:
if
action
==
'Attach_UE'
:
...
@@ -3158,11 +3166,16 @@ def GetParametersFromXML(action):
...
@@ -3158,11 +3166,16 @@ def GetParametersFromXML(action):
CiTestObj
.
UE_instance
=
test
.
findtext
(
'UE_instance'
)
CiTestObj
.
UE_instance
=
test
.
findtext
(
'UE_instance'
)
if
(
CiTestObj
.
UE_instance
is
None
):
if
(
CiTestObj
.
UE_instance
is
None
):
CiTestObj
.
UE_instance
=
'0'
CiTestObj
.
UE_instance
=
'0'
CiTestObj
.
air_interface
=
test
.
findtext
(
'air_interface'
)
if
(
CiTestObj
.
air_interface
is
None
):
#local variable air_interface
CiTestObj
.
air_interface
=
'lte'
air_interface
=
test
.
findtext
(
'air_interface'
)
else
:
if
(
air_interface
is
None
)
or
(
air_interface
.
lower
()
not
in
[
'nr'
,
'lte'
,
'ocp'
]):
CiTestObj
.
air_interface
=
CiTestObj
.
air_interface
.
lower
()
CiTestObj
.
air_interface
=
'lte-softmodem'
elif
(
air_interface
.
lower
()
in
[
'nr'
,
'lte'
]):
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'-softmodem'
else
:
CiTestObj
.
air_interface
=
air_interface
.
lower
()
+
'ocp-enb'
RAN
.
Setair_interface
(
CiTestObj
.
air_interface
)
if
action
==
'Terminate_OAI_UE'
:
if
action
==
'Terminate_OAI_UE'
:
RAN
.
SeteNB_instance
(
test
.
findtext
(
'UE_instance'
))
RAN
.
SeteNB_instance
(
test
.
findtext
(
'UE_instance'
))
...
...
ci-scripts/ran.py
View file @
8d75cb61
...
@@ -77,7 +77,7 @@ class RANManagement():
...
@@ -77,7 +77,7 @@ class RANManagement():
self
.
backgroundBuildTestId
=
[
''
,
''
,
''
]
self
.
backgroundBuildTestId
=
[
''
,
''
,
''
]
self
.
Build_eNB_forced_workspace_cleanup
=
False
self
.
Build_eNB_forced_workspace_cleanup
=
False
self
.
Initialize_eNB_args
=
''
self
.
Initialize_eNB_args
=
''
self
.
air_interface
=
'
lte'
self
.
air_interface
=
'
'
#changed from 'lte' to '' may lead to side effects in main
self
.
eNB_instance
=
''
self
.
eNB_instance
=
''
self
.
eNB_serverId
=
''
self
.
eNB_serverId
=
''
self
.
eNBLogFiles
=
[
''
,
''
,
''
]
self
.
eNBLogFiles
=
[
''
,
''
,
''
]
...
@@ -91,6 +91,8 @@ class RANManagement():
...
@@ -91,6 +91,8 @@ class RANManagement():
self
.
htmlObj
=
None
self
.
htmlObj
=
None
self
.
epcObj
=
None
self
.
epcObj
=
None
#-----------------------------------------------------------
#-----------------------------------------------------------
# Setters and Getters on Public members
# Setters and Getters on Public members
#-----------------------------------------------------------
#-----------------------------------------------------------
...
@@ -254,12 +256,18 @@ class RANManagement():
...
@@ -254,12 +256,18 @@ class RANManagement():
sys
.
exit
(
'Insufficient Parameter'
)
sys
.
exit
(
'Insufficient Parameter'
)
mySSH
=
SSH
.
SSHConnection
()
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
# Check if we build an 5G-NR gNB or an LTE eNB
result
=
re
.
search
(
'--gNB'
,
self
.
Build_eNB_args
)
# Check if we build an 5G-NR gNB or an LTE eNB or an OCP eNB
result
=
re
.
search
(
'--eNBocp'
,
self
.
Build_eNB_args
)
if
result
is
not
None
:
if
result
is
not
None
:
self
.
air_interface
=
'nr'
self
.
air_interface
=
'ocp-enb'
else
:
else
:
self
.
air_interface
=
'lte'
result
=
re
.
search
(
'--gNB'
,
self
.
Build_eNB_args
)
if
result
is
not
None
:
self
.
air_interface
=
'nr-softmodem'
else
:
self
.
air_interface
=
'lte-softmodem'
# Worakround for some servers, we need to erase completely the workspace
# Worakround for some servers, we need to erase completely the workspace
if
self
.
Build_eNB_forced_workspace_cleanup
:
if
self
.
Build_eNB_forced_workspace_cleanup
:
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S rm -Rf '
+
lSourcePath
,
'\$'
,
15
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S rm -Rf '
+
lSourcePath
,
'\$'
,
15
)
...
@@ -379,20 +387,19 @@ class RANManagement():
...
@@ -379,20 +387,19 @@ class RANManagement():
def
checkBuildeNB
(
self
,
lIpAddr
,
lUserName
,
lPassWord
,
lSourcePath
,
testcaseId
):
def
checkBuildeNB
(
self
,
lIpAddr
,
lUserName
,
lPassWord
,
lSourcePath
,
testcaseId
):
if
self
.
htmlObj
is
not
None
:
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
SettestCase_id
(
testcaseId
)
self
.
htmlObj
.
SettestCase_id
(
testcaseId
)
mySSH
=
SSH
.
SSHConnection
()
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/cmake_targets'
,
'\$'
,
3
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/cmake_targets'
,
'\$'
,
3
)
mySSH
.
command
(
'ls ran_build/build'
,
'\$'
,
3
)
mySSH
.
command
(
'ls ran_build/build'
,
'\$'
,
3
)
mySSH
.
command
(
'ls ran_build/build'
,
'\$'
,
3
)
mySSH
.
command
(
'ls ran_build/build'
,
'\$'
,
3
)
if
self
.
air_interface
==
'nr'
:
nodeB_prefix
=
'g'
#check if we have the build corresponding to the air interface keywords (nr-softmode, lte-softmodem, ocp-enb)
else
:
result
=
re
.
search
(
self
.
air_interface
,
mySSH
.
getBefore
())
nodeB_prefix
=
'e'
buildStatus
=
True
result
=
re
.
search
(
self
.
air_interface
+
'-softmodem'
,
mySSH
.
getBefore
())
if
result
is
None
:
if
result
is
None
:
buildStatus
=
False
buildStatus
=
False
#if not, build failed
else
:
else
:
buildStatus
=
True
# Generating a BUILD INFO file
# Generating a BUILD INFO file
mySSH
.
command
(
'echo "SRC_BRANCH: '
+
self
.
ranBranch
+
'" > ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'echo "SRC_BRANCH: '
+
self
.
ranBranch
+
'" > ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'echo "SRC_COMMIT: '
+
self
.
ranCommitID
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'echo "SRC_COMMIT: '
+
self
.
ranCommitID
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
...
@@ -404,6 +411,8 @@ class RANManagement():
...
@@ -404,6 +411,8 @@ class RANManagement():
mySSH
.
command
(
'echo "TGT_BRANCH: '
+
self
.
ranTargetBranch
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'echo "TGT_BRANCH: '
+
self
.
ranTargetBranch
+
'" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
else
:
else
:
mySSH
.
command
(
'echo "MERGED_W_TGT_BRANCH: NO" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'echo "MERGED_W_TGT_BRANCH: NO" >> ../LAST_BUILD_INFO.txt'
,
'\$'
,
2
)
mySSH
.
command
(
'mkdir -p build_log_'
+
testcaseId
,
'\$'
,
5
)
mySSH
.
command
(
'mkdir -p build_log_'
+
testcaseId
,
'\$'
,
5
)
mySSH
.
command
(
'mv log/* '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
mySSH
.
command
(
'mv log/* '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
mySSH
.
command
(
'mv compile_oai_enb.log '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
mySSH
.
command
(
'mv compile_oai_enb.log '
+
'build_log_'
+
testcaseId
,
'\$'
,
5
)
...
@@ -426,12 +435,13 @@ class RANManagement():
...
@@ -426,12 +435,13 @@ class RANManagement():
else
:
else
:
mySSH
.
close
()
mySSH
.
close
()
#generate logging info depending on buildStatus and air interface
if
buildStatus
:
if
buildStatus
:
logging
.
info
(
'
\u001B
[1m Building OAI '
+
nodeB_prefix
+
'NB
Pass
\u001B
[0m'
)
logging
.
info
(
'
\u001B
[1m Building OAI '
+
self
.
air_interface
+
'
Pass
\u001B
[0m'
)
if
self
.
htmlObj
is
not
None
:
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
self
.
htmlObj
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
else
:
else
logging
.
error
(
'
\u001B
[1m Building OAI '
+
nodeB_prefix
+
'NB
Failed
\u001B
[0m'
)
logging
.
error
(
'
\u001B
[1m Building OAI '
+
self
.
air_interface
+
'
Failed
\u001B
[0m'
)
if
self
.
htmlObj
is
not
None
:
if
self
.
htmlObj
is
not
None
:
self
.
htmlObj
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'KO'
,
CONST
.
ALL_PROCESSES_OK
)
self
.
htmlObj
.
CreateHtmlTestRow
(
self
.
Build_eNB_args
,
'KO'
,
CONST
.
ALL_PROCESSES_OK
)
self
.
htmlObj
.
CreateHtmlTabFooter
(
False
)
self
.
htmlObj
.
CreateHtmlTabFooter
(
False
)
...
@@ -546,7 +556,7 @@ class RANManagement():
...
@@ -546,7 +556,7 @@ class RANManagement():
# Launch eNB with the modified config file
# Launch eNB with the modified config file
mySSH
.
command
(
'source oaienv'
,
'\$'
,
5
)
mySSH
.
command
(
'source oaienv'
,
'\$'
,
5
)
mySSH
.
command
(
'cd cmake_targets'
,
'\$'
,
5
)
mySSH
.
command
(
'cd cmake_targets'
,
'\$'
,
5
)
mySSH
.
command
(
'echo "ulimit -c unlimited && ./ran_build/build/'
+
self
.
air_interface
+
'
-softmodem
-O '
+
lSourcePath
+
'/'
+
ci_full_config_file
+
extra_options
+
'" > ./my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
mySSH
.
command
(
'echo "ulimit -c unlimited && ./ran_build/build/'
+
self
.
air_interface
+
' -O '
+
lSourcePath
+
'/'
+
ci_full_config_file
+
extra_options
+
'" > ./my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
mySSH
.
command
(
'chmod 775 ./my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
mySSH
.
command
(
'chmod 775 ./my-lte-softmodem-run'
+
str
(
self
.
eNB_instance
)
+
'.sh'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S rm -Rf enb_'
+
self
.
testCase_id
+
'.log'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S rm -Rf enb_'
+
self
.
testCase_id
+
'.log'
,
'\$'
,
5
)
mySSH
.
command
(
'hostnamectl'
,
'\$'
,
5
)
mySSH
.
command
(
'hostnamectl'
,
'\$'
,
5
)
...
@@ -655,8 +665,8 @@ class RANManagement():
...
@@ -655,8 +665,8 @@ class RANManagement():
lPassWord
=
self
.
eNBPassword
lPassWord
=
self
.
eNBPassword
mySSH
=
SSH
.
SSHConnection
()
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never '
+
self
.
air_interface
+
'
-softmodem
| grep -v grep'
,
'\$'
,
5
)
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never '
+
self
.
air_interface
+
' | grep -v grep'
,
'\$'
,
5
)
result
=
re
.
search
(
self
.
air_interface
+
'-softmodem'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
self
.
air_interface
,
mySSH
.
getBefore
())
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'
)
status_queue
.
put
(
CONST
.
ENB_PROCESS_FAILED
)
status_queue
.
put
(
CONST
.
ENB_PROCESS_FAILED
)
...
@@ -688,20 +698,20 @@ class RANManagement():
...
@@ -688,20 +698,20 @@ class RANManagement():
mySSH
=
SSH
.
SSHConnection
()
mySSH
=
SSH
.
SSHConnection
()
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/cmake_targets'
,
'\$'
,
5
)
mySSH
.
command
(
'cd '
+
lSourcePath
+
'/cmake_targets'
,
'\$'
,
5
)
if
self
.
air_interface
==
'lte'
:
if
(
self
.
air_interface
==
'lte-softmodem'
)
or
(
self
.
air_interface
==
'ocp-enb'
)
:
nodeB_prefix
=
'e'
nodeB_prefix
=
'e'
else
:
else
:
nodeB_prefix
=
'g'
nodeB_prefix
=
'g'
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never
softmodem
| grep -v grep'
,
'\$'
,
5
)
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never
-e softmodem -e ocp-enb
| grep -v grep'
,
'\$'
,
5
)
result
=
re
.
search
(
'
-softmodem
'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'
(-softmodem|ocp)
'
,
mySSH
.
getBefore
())
if
result
is
not
None
:
if
result
is
not
None
:
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S daemon --name=enb'
+
str
(
self
.
eNB_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S daemon --name=enb'
+
str
(
self
.
eNB_instance
)
+
'_daemon --stop'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGINT -r .*-softmodem || true'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGINT -r .*-softmodem
.ocp-enb
|| true'
,
'\$'
,
5
)
time
.
sleep
(
10
)
time
.
sleep
(
10
)
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never
softmodem
| grep -v grep'
,
'\$'
,
5
)
mySSH
.
command
(
'stdbuf -o0 ps -aux | grep --color=never
-e softmodem -e ocp-enb
| grep -v grep'
,
'\$'
,
5
)
result
=
re
.
search
(
'
-softmodem
'
,
mySSH
.
getBefore
())
result
=
re
.
search
(
'
(-softmodem|ocp)
'
,
mySSH
.
getBefore
())
if
result
is
not
None
:
if
result
is
not
None
:
mySSH
.
command
(
'echo '
+
lPassWord
+
' | sudo -S killall --signal SIGKILL -r .*-softmodem || 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
)
mySSH
.
close
()
mySSH
.
close
()
...
@@ -890,8 +900,7 @@ class RANManagement():
...
@@ -890,8 +900,7 @@ class RANManagement():
if
result
is
not
None
:
if
result
is
not
None
:
rrcSetupComplete
+=
1
rrcSetupComplete
+=
1
result
=
re
.
search
(
'Generate LTE_RRCConnectionRelease|Generate RRCConnectionRelease'
,
str
(
line
))
result
=
re
.
search
(
'Generate LTE_RRCConnectionRelease|Generate RRCConnectionRelease'
,
str
(
line
))
if
result
is
not
None
:
if
result
is
not
None
:
rrcReleaseRequest
+=
1
rrcReleaseRequest
+=
1
result
=
re
.
search
(
'Generate LTE_RRCConnectionReconfiguration'
,
str
(
line
))
result
=
re
.
search
(
'Generate LTE_RRCConnectionReconfiguration'
,
str
(
line
))
if
result
is
not
None
:
if
result
is
not
None
:
rrcReconfigRequest
+=
1
rrcReconfigRequest
+=
1
...
@@ -940,11 +949,11 @@ class RANManagement():
...
@@ -940,11 +949,11 @@ class RANManagement():
mbmsRequestMsg
+=
1
mbmsRequestMsg
+=
1
enb_log_file
.
close
()
enb_log_file
.
close
()
logging
.
debug
(
' File analysis completed'
)
logging
.
debug
(
' File analysis completed'
)
if
self
.
air_interface
==
'lte'
:
if
(
self
.
air_interface
==
'lte-softmodem'
)
or
(
self
.
air_interface
==
'ocp-enb'
)
:
nodeB_prefix
=
'e'
nodeB_prefix
=
'e'
else
:
else
:
nodeB_prefix
=
'g'
nodeB_prefix
=
'g'
if
self
.
air_interface
==
'nr'
:
if
self
.
air_interface
==
'nr
-softmodem
'
:
if
ulschReceiveOK
>
0
:
if
ulschReceiveOK
>
0
:
statMsg
=
nodeB_prefix
+
'NB showed '
+
str
(
ulschReceiveOK
)
+
' "ULSCH received ok" message(s)'
statMsg
=
nodeB_prefix
+
'NB showed '
+
str
(
ulschReceiveOK
)
+
' "ULSCH received ok" message(s)'
logging
.
debug
(
'
\u001B
[1;30;43m '
+
statMsg
+
'
\u001B
[0m'
)
logging
.
debug
(
'
\u001B
[1;30;43m '
+
statMsg
+
'
\u001B
[0m'
)
...
...
ci-scripts/xml_files/enb_ocp_usrp210_band7_test_05mhz_tm1.xml
0 → 100644
View file @
8d75cb61
<!--
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.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>
test-05-tm1
</htmlTabRef>
<htmlTabName>
Test-05MHz-TM1
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<TestCaseRequestedList>
030201
040101
030101 040301 040501 040603 040604 040605 040606 040607 040641 040642 040643 040644 040401 040201 030201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"030101"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize eNB (FDD/Band7/5MHz)
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
</Initialize_eNB_args>
<air_interface>
ocp
</air_interface>
</testCase>
<testCase
id=
"030201"
>
<class>
Terminate_eNB
</class>
<desc>
Terminate eNB
</desc>
<air_interface>
ocp
</air_interface>
</testCase>
<testCase
id=
"040101"
>
<class>
Initialize_UE
</class>
<desc>
Initialize UE
</desc>
</testCase>
<testCase
id=
"040201"
>
<class>
Terminate_UE
</class>
<desc>
Terminate UE
</desc>
</testCase>
<testCase
id=
"040301"
>
<class>
Attach_UE
</class>
<desc>
Attach UE
</desc>
</testCase>
<testCase
id=
"040401"
>
<class>
Detach_UE
</class>
<desc>
Detach UE
</desc>
</testCase>
<testCase
id=
"040501"
>
<class>
Ping
</class>
<desc>
ping (5MHz - 20 sec)
</desc>
<ping_args>
-c 20
</ping_args>
<ping_packetloss_threshold>
5
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"040603"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-u -b 15M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040604"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 15M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"040605"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/15Mbps/UDP)(30 sec)(unbalanced profile)
</desc>
<iperf_args>
-u -b 15M -t 30 -i 1
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
unbalanced
</iperf_profile>
</testCase>
<testCase
id=
"040606"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/TCP)(30 sec)(single-ue profile)
</desc>
<iperf_args>
-t 30 -i 1 -fm
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"040607"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - DL/TCP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-t 30 -i 1 -fm
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040641"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/9Mbps/UDP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-u -b 9M -t 30 -i 1 -R
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
<testCase
id=
"040642"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/9Mbps/UDP)(30 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 9M -t 30 -i 1 -R
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"040643"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/TCP)(30 sec)(single-ue profile)
</desc>
<iperf_args>
-t 30 -i 1 -fm -R
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"040644"
>
<class>
Iperf
</class>
<desc>
iperf (5MHz - UL/TCP)(30 sec)(balanced profile)
</desc>
<iperf_args>
-t 30 -i 1 -fm -R
</iperf_args>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
balanced
</iperf_profile>
</testCase>
</testCaseList>
ci-scripts/xml_files/enb_ocp_usrp210_build.xml
0 → 100644
View file @
8d75cb61
<!--
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.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>
build-tab
</htmlTabRef>
<htmlTabName>
Build
</htmlTabName>
<htmlTabIcon>
wrench
</htmlTabIcon>
<TestCaseRequestedList>
010101
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"010101"
>
<class>
Build_eNB
</class>
<desc>
Build eNB OCP (USRP)
</desc>
<Build_eNB_args>
-I -w USRP -c --eNBocp --ninja
</Build_eNB_args>
</testCase>
</testCaseList>
cmake_targets/build_oai
View file @
8d75cb61
...
@@ -96,7 +96,9 @@ Options
...
@@ -96,7 +96,9 @@ Options
enable cmake debugging messages
enable cmake debugging messages
--eNB
--eNB
Makes the LTE softmodem
Makes the LTE softmodem
--gNB
--eNBocp
Makes the OCP LTE softmodem
-gNB
Makes the NR softmodem
Makes the NR softmodem
--nrUE
--nrUE
Makes the NR UE softmodem
Makes the NR UE softmodem
...
@@ -237,7 +239,11 @@ function main() {
...
@@ -237,7 +239,11 @@ function main() {
eNB
=
1
eNB
=
1
echo_info
"Will compile eNB"
echo_info
"Will compile eNB"
shift
;;
shift
;;
--gNB
)
--eNBocp
)
eNBocp
=
1
echo_info
"Will compile OCP eNB"
shift
;;
--gNB
)
gNB
=
1
gNB
=
1
NR
=
"True"
NR
=
"True"
echo_info
"Will compile gNB"
echo_info
"Will compile gNB"
...
@@ -443,7 +449,7 @@ function main() {
...
@@ -443,7 +449,7 @@ function main() {
########################################################
########################################################
# to be discussed
# to be discussed
if
[
"
$eNB
"
=
"1"
-o
"
$gNB
"
=
"1"
]
;
then
if
[
"
$eNB
"
=
"1"
-o
"
$
eNBocp
"
=
"1"
-o
"
$
gNB
"
=
"1"
]
;
then
if
[
"
$HW
"
=
"None"
-a
"
$TP
"
=
"None"
]
;
then
if
[
"
$HW
"
=
"None"
-a
"
$TP
"
=
"None"
]
;
then
echo_info
"No local radio head and no transport protocol selected"
echo_info
"No local radio head and no transport protocol selected"
fi
fi
...
@@ -574,7 +580,7 @@ function main() {
...
@@ -574,7 +580,7 @@ function main() {
config_libconfig_shlib
=
params_libconfig
config_libconfig_shlib
=
params_libconfig
# first generate the CMakefile in the right directory
# first generate the CMakefile in the right directory
if
[
"
$eNB
"
=
"1"
-o
"
$UE
"
=
"1"
-o
"
$gNB
"
=
"1"
-o
"
$nrUE
"
=
"1"
-o
"
$HW
"
=
"EXMIMO"
]
;
then
if
[
"
$eNB
"
=
"1"
-o
"
$
eNBocp
"
=
"1"
-o
"
$
UE
"
=
"1"
-o
"
$gNB
"
=
"1"
-o
"
$nrUE
"
=
"1"
-o
"
$HW
"
=
"EXMIMO"
]
;
then
# softmodem compilation
# softmodem compilation
...
@@ -606,6 +612,9 @@ function main() {
...
@@ -606,6 +612,9 @@ function main() {
if
[
"
$eNB
"
=
"1"
]
;
then
if
[
"
$eNB
"
=
"1"
]
;
then
execlist
=
"
$execlist
lte-softmodem"
execlist
=
"
$execlist
lte-softmodem"
fi
fi
if
[
"
$eNBocp
"
=
"1"
]
;
then
execlist
=
"
$execlist
ocp-enb"
fi
if
[
"
$gNB
"
=
"1"
]
;
then
if
[
"
$gNB
"
=
"1"
]
;
then
execlist
=
"
$execlist
nr-softmodem"
execlist
=
"
$execlist
nr-softmodem"
fi
fi
...
...
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