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
5adf940b
Commit
5adf940b
authored
Aug 02, 2021
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci_nsa_2x2_implem' into develop
parents
3cfb169b
58825cd9
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1238 additions
and
107 deletions
+1238
-107
ci-scripts/ci_ueinfra.yaml
ci-scripts/ci_ueinfra.yaml
+17
-0
ci-scripts/cls_log_mgt.py
ci-scripts/cls_log_mgt.py
+16
-12
ci-scripts/cls_module_ue.py
ci-scripts/cls_module_ue.py
+5
-5
ci-scripts/cls_oaicitest.py
ci-scripts/cls_oaicitest.py
+6
-1
ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf
...cripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf
+280
-0
ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf
...cripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf
+296
-0
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
+5
-4
ci-scripts/main.py
ci-scripts/main.py
+5
-0
ci-scripts/oai-ci-vm-tool
ci-scripts/oai-ci-vm-tool
+7
-7
ci-scripts/ran.py
ci-scripts/ran.py
+27
-9
ci-scripts/reportBuildLocally.sh
ci-scripts/reportBuildLocally.sh
+1
-9
ci-scripts/xml_files/fr1_gnb_build.xml
ci-scripts/xml_files/fr1_gnb_build.xml
+50
-0
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
+146
-0
ci-scripts/xml_files/fr1_sa_quectel.xml
ci-scripts/xml_files/fr1_sa_quectel.xml
+125
-0
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml
+48
-45
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml.orig
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml.orig
+203
-0
cmake_targets/build_oai
cmake_targets/build_oai
+0
-14
executables/softmodem-common.c
executables/softmodem-common.c
+1
-1
No files found.
ci-scripts/ci_ueinfra.yaml
View file @
5adf940b
...
...
@@ -7,12 +7,29 @@ idefix:
Cmd
:
/home/oaicicd/quectel-CM/quectel-CM -s oai.ipv4 -4
WakeupScript
:
ci_ctl_qtel.py /dev/ttyUSB2 wup
DetachScript
:
ci_ctl_qtel.py /dev/ttyUSB2 detach
LogStore
:
/media/usb-drive/ci_qlogs
PLMN
:
22201
UENetwork
:
wwan0
HostIPAddress
:
192.168.18.188
HostUsername
:
oaicicd
HostPassword
:
oaicicd
HostSourceCodePath
:
none
nrmodule2_quectel
:
ID
:
nrmodule2_quectel
State
:
enabled
Kind
:
quectel
Process
:
Name
:
quectel-CM
Cmd
:
/home/nrmodule2/quectel-CM/quectel-CM -s oai.ipv4 -4
WakeupScript
:
ci_ctl_qtel.py /dev/ttyUSB7 wup
DetachScript
:
ci_ctl_qtel.py /dev/ttyUSB7 detach
LogStore
:
/media/ci_qlogs
PLMN
:
20899
UENetwork
:
wwan1
HostIPAddress
:
192.168.18.189
HostUsername
:
nrmodule2
HostPassword
:
linux
HostSourceCodePath
:
none
dummy
:
ID
:
'
'
State
:
'
'
...
...
ci-scripts/cls_log_mgt.py
View file @
5adf940b
...
...
@@ -25,7 +25,7 @@
#---------------------------------------------------------------------
#USAGE:
# log=Log_Mgt(IPAddress,Password,Path)
# log=Log_Mgt(
Username,
IPAddress,Password,Path)
# log.LogRotation()
...
...
@@ -38,7 +38,8 @@ import math
class
Log_Mgt
:
def
__init__
(
self
,
IPAddress
,
Password
,
Path
):
def
__init__
(
self
,
Username
,
IPAddress
,
Password
,
Path
):
self
.
Username
=
Username
self
.
IPAddress
=
IPAddress
self
.
Password
=
Password
self
.
path
=
Path
...
...
@@ -49,7 +50,7 @@ class Log_Mgt:
def
__CheckAvailSpace
(
self
):
HOST
=
self
.
IPAddress
HOST
=
self
.
Username
+
'@'
+
self
.
IPAddress
COMMAND
=
"df "
+
self
.
path
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
result
=
ssh
.
stdout
.
readlines
()
...
...
@@ -58,7 +59,7 @@ class Log_Mgt:
return
tmp
[
3
]
#return avail space from the line
def
__GetOldestFile
(
self
):
HOST
=
self
.
IPAddress
HOST
=
self
.
Username
+
'@'
+
self
.
IPAddress
COMMAND
=
"ls -rtl "
+
self
.
path
#-rtl will bring oldest file on top
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
result
=
ssh
.
stdout
.
readlines
()
...
...
@@ -68,16 +69,19 @@ class Log_Mgt:
def
__AvgSize
(
self
):
HOST
=
self
.
IPAddress
HOST
=
self
.
Username
+
'@'
+
self
.
IPAddress
COMMAND
=
"ls -rtl "
+
self
.
path
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
result
=
ssh
.
stdout
.
readlines
()
total_size
=
0
for
i
in
range
(
1
,
len
(
result
)):
s
=
result
[
i
].
decode
(
'utf-8'
).
rstrip
()
tmp
=
s
.
split
()
total_size
+=
int
(
tmp
[
4
])
#get filesize
return
math
.
floor
(
total_size
/
(
len
(
result
)
-
1
))
#compute average file/artifact size
if
len
(
result
)
>
1
:
#at least 1 file present
total_size
=
0
for
i
in
range
(
1
,
len
(
result
)):
s
=
result
[
i
].
decode
(
'utf-8'
).
rstrip
()
tmp
=
s
.
split
()
total_size
+=
int
(
tmp
[
4
])
#get filesize
return
math
.
floor
(
total_size
/
(
len
(
result
)
-
1
))
#compute average file/artifact size
else
:
#empty,no files
return
0
#-----------------$
...
...
@@ -91,7 +95,7 @@ class Log_Mgt:
logging
.
debug
(
"Avail Space : "
+
str
(
avail_space
)
+
" / Artifact Avg Size : "
+
str
(
avg_size
))
if
avail_space
<
2
*
avg_size
:
#reserved space is 2x artifact file ; oldest file will be deleted
oldestfile
=
self
.
__GetOldestFile
()
HOST
=
self
.
IPAddress
HOST
=
self
.
Username
+
'@'
+
self
.
IPAddress
COMMAND
=
"echo "
+
self
.
Password
+
" | sudo -S rm "
+
self
.
path
+
"/"
+
oldestfile
logging
.
debug
(
COMMAND
)
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
...
...
ci-scripts/cls_module_ue.py
View file @
5adf940b
...
...
@@ -62,7 +62,7 @@ class Module_UE:
#this method checks if the specified Process is running on the server hosting the module
#if not it will be started
def
CheckCMProcess
(
self
):
HOST
=
self
.
HostIPAddress
HOST
=
self
.
Host
Username
+
'@'
+
self
.
Host
IPAddress
COMMAND
=
"ps aux | grep "
+
self
.
Process
[
'Name'
]
+
" | grep -v grep "
logging
.
debug
(
COMMAND
)
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
...
...
@@ -80,7 +80,7 @@ class Module_UE:
mySSH
.
close
()
#checking the process
time
.
sleep
(
5
)
HOST
=
self
.
HostIPAddress
HOST
=
self
.
Host
Username
+
'@'
+
self
.
Host
IPAddress
COMMAND
=
"ps aux | grep "
+
self
.
Process
[
'Name'
]
+
" | grep -v grep "
logging
.
debug
(
COMMAND
)
ssh
=
subprocess
.
Popen
([
"ssh"
,
"%s"
%
HOST
,
COMMAND
],
shell
=
False
,
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
PIPE
)
...
...
@@ -104,7 +104,7 @@ class Module_UE:
#this method retrieves the Module IP address (not the Host IP address)
def
GetModuleIPAddress
(
self
):
HOST
=
self
.
HostIPAddress
HOST
=
self
.
Host
Username
+
'@'
+
self
.
Host
IPAddress
response
=
[]
tentative
=
3
while
(
len
(
response
)
==
0
)
and
(
tentative
>
0
):
...
...
@@ -163,12 +163,12 @@ class Module_UE:
now
=
datetime
.
now
()
now_string
=
now
.
strftime
(
"%Y%m%d-%H%M"
)
source
=
'ci_qlog'
destination
=
'/media/usb-drive/ci_qlogs
/ci_qlog_'
+
now_string
+
'.zip'
destination
=
self
.
LogStore
+
'
/ci_qlog_'
+
now_string
+
'.zip'
#qlog artifact is zipped into the target folder
mySSH
.
command
(
'echo $USER; echo '
+
self
.
HostPassword
+
' | nohup sudo -S zip -r '
+
destination
+
' '
+
source
+
' &'
,
'\$'
,
10
)
mySSH
.
close
()
#post action : log cleaning to make sure enough space is reserved for the next run
Log_Mgt
=
cls_log_mgt
.
Log_Mgt
(
self
.
Host
IPAddress
,
self
.
HostPassword
,
"/media/usb-drive/ci_qlogs"
)
Log_Mgt
=
cls_log_mgt
.
Log_Mgt
(
self
.
Host
Username
,
self
.
HostIPAddress
,
self
.
HostPassword
,
self
.
LogStore
)
Log_Mgt
.
LogRotation
()
else
:
destination
=
""
...
...
ci-scripts/cls_oaicitest.py
View file @
5adf940b
...
...
@@ -1536,8 +1536,13 @@ class OaiCiTest():
SSH
.
command
(
'cat '
+
EPC
.
SourceCodePath
+
'/scripts/ping_'
+
self
.
testCase_id
+
'_'
+
device_id
+
'.log'
,
'\$'
,
5
)
else
:
#launch from Module
SSH
.
open
(
Module_UE
.
HostIPAddress
,
Module_UE
.
HostUsername
,
Module_UE
.
HostPassword
)
#target address is different depending on EPC type
if
re
.
match
(
'OAI-Rel14-Docker'
,
EPC
.
Type
,
re
.
IGNORECASE
):
Target
=
EPC
.
MmeIPAddress
else
:
Target
=
EPC
.
IPAddress
#ping from module NIC rather than IP address to make sure round trip is over the air
cmd
=
'ping -I '
+
Module_UE
.
UENetwork
+
' '
+
self
.
ping_args
+
' '
+
EPC
.
IPAddress
+
' 2>&1 > ping_'
+
self
.
testCase_id
+
'_'
+
self
.
ue_id
+
'.log'
cmd
=
'ping -I '
+
Module_UE
.
UENetwork
+
' '
+
self
.
ping_args
+
' '
+
Target
+
' 2>&1 > ping_'
+
self
.
testCase_id
+
'_'
+
self
.
ue_id
+
'.log'
SSH
.
command
(
cmd
,
'\$'
,
int
(
ping_time
[
0
])
*
1.5
)
#copy the ping log file to have it locally for analysis (ping stats)
SSH
.
copyin
(
Module_UE
.
HostIPAddress
,
Module_UE
.
HostUsername
,
Module_UE
.
HostPassword
,
'ping_'
+
self
.
testCase_id
+
'_'
+
self
.
ue_id
+
'.log'
,
'.'
)
...
...
ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf
0 → 100644
View file @
5adf940b
This diff is collapsed.
Click to expand it.
ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf
0 → 100644
View file @
5adf940b
This diff is collapsed.
Click to expand it.
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrp
b2
10.conf
→
ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrp
n3
10.conf
View file @
5adf940b
...
...
@@ -12,8 +12,8 @@ gNBs =
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
2
22
;
mnc
=
01
;
mcc
=
2
08
;
mnc
=
99
;
mnc_length
=
2
;
snssaiList
= (
{
...
...
@@ -252,11 +252,12 @@ RUs = (
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
81
;
eNB_instances
= [
0
];
#beamforming 1x4 matrix:
bf_weights
= [
0
x00007fff
,
0
x0000
,
0
x0000
,
0
x0000
];
clock_src
=
"internal"
;
#clock_src = "external";
sdr_addrs
=
"mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
...
...
ci-scripts/main.py
View file @
5adf940b
...
...
@@ -155,6 +155,11 @@ def GetParametersFromXML(action):
RAN
.
eNB_Trace
=
test
.
findtext
(
'eNB_Trace'
)
RAN
.
Initialize_eNB_args
=
test
.
findtext
(
'Initialize_eNB_args'
)
eNB_instance
=
test
.
findtext
(
'eNB_instance'
)
USRPIPAddress
=
test
.
findtext
(
'USRP_IPAddress'
)
if
USRPIPAddress
is
None
:
RAN
.
USRPIPAddress
=
''
else
:
RAN
.
USRPIPAddress
=
USRPIPAddress
if
(
eNB_instance
is
None
):
RAN
.
eNB_instance
=
0
else
:
...
...
ci-scripts/oai-ci-vm-tool
View file @
5adf940b
...
...
@@ -170,20 +170,20 @@ function setvar_usage {
# for compatibility reasons
function
variant__v1__enb_usrp
{
NB_PATTERN_FILES
=
9
NB_PATTERN_FILES
=
7
BUILD_OPTIONS
=
"--eNB -w USRP --mu"
VM_MEMORY
=
3072
}
function
variant__v2__basic_sim
{
NB_PATTERN_FILES
=
1
3
NB_PATTERN_FILES
=
1
1
BUILD_OPTIONS
=
"--eNB --UE"
VM_MEMORY
=
8192
RUN_OPTIONS
=
"complex"
}
function
variant__v3__phy_sim
{
NB_PATTERN_FILES
=
1
3
NB_PATTERN_FILES
=
1
1
BUILD_OPTIONS
=
"--phy_simulators"
VM_MEMORY
=
8192
VM_DISK
=
20
...
...
@@ -200,28 +200,28 @@ function variant__v4__cppcheck {
function
variant__v5__gnb_usrp
{
VM_MEMORY
=
10240
VM_CPU
=
8
NB_PATTERN_FILES
=
9
NB_PATTERN_FILES
=
7
BUILD_OPTIONS
=
"--gNB -w USRP"
}
function
variant__v6__nr_ue_usrp
{
VM_MEMORY
=
4096
VM_CPU
=
4
NB_PATTERN_FILES
=
9
NB_PATTERN_FILES
=
7
BUILD_OPTIONS
=
"--nrUE -w USRP"
}
function
variant__v7__enb_ethernet
{
VM_MEMORY
=
4096
ARCHIVES_LOC
=
enb_eth
NB_PATTERN_FILES
=
9
NB_PATTERN_FILES
=
7
BUILD_OPTIONS
=
"--eNB -w USRP"
}
function
variant__v8__ue_ethernet
{
VM_MEMORY
=
4096
ARCHIVES_LOC
=
ue_eth
NB_PATTERN_FILES
=
1
3
NB_PATTERN_FILES
=
1
1
BUILD_OPTIONS
=
"--UE -w USRP"
}
...
...
ci-scripts/ran.py
View file @
5adf940b
...
...
@@ -94,6 +94,7 @@ class RANManagement():
self
.
runtime_stats
=
''
self
.
datalog_rt_stats
=
{}
self
.
eNB_Trace
=
''
#if 'yes', Tshark will be launched at initialization
self
.
USRPIPAddress
=
''
...
...
@@ -341,20 +342,35 @@ class RANManagement():
self
.
testCase_id
=
HTML
.
testCase_id
mySSH
=
SSH
.
SSHConnection
()
#reboot USRP if requested in xml
if
self
.
USRPIPAddress
!=
''
:
logging
.
debug
(
'USRP '
+
self
.
USRPIPAddress
+
'reboot request'
)
mySSH
.
open
(
lIpAddr
,
lUserName
,
lPassWord
)
cmd2usrp
=
'ssh root@'
+
self
.
USRPIPAddress
+
' reboot'
mySSH
.
command2
(
cmd2usrp
,
1
)
mySSH
.
close
()
logging
.
debug
(
'Waiting for USRP to be ready'
)
time
.
sleep
(
120
)
if
(
self
.
pStatus
<
0
):
HTML
.
CreateHtmlTestRow
(
self
.
air_interface
[
self
.
eNB_instance
]
+
' '
+
self
.
Initialize_eNB_args
,
'KO'
,
self
.
pStatus
)
HTML
.
CreateHtmlTabFooter
(
False
)
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'
:
#Get pcap on enb and/or gnb if enabled in the xml
if
self
.
eNB_Trace
==
'yes'
:
if
((
self
.
air_interface
[
self
.
eNB_instance
]
==
'lte-softmodem'
)
or
(
self
.
air_interface
[
self
.
eNB_instance
]
==
'ocp-enb'
)):
pcapfile_prefix
=
"enb_"
else
:
pcapfile_prefix
=
"gnb_"
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
+
'_s1x2
log.pcap'
pcapfile
=
pcapfile_prefix
+
self
.
testCase_id
+
'_
log.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
()
...
...
@@ -672,10 +688,11 @@ class RANManagement():
mySSH
.
open
(
self
.
eNBIPAddress
,
self
.
eNBUserName
,
self
.
eNBPassword
)
mySSH
.
command
(
'cd '
+
self
.
eNBSourceCodePath
,
'\$'
,
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 mv /tmp/enb_*.pcap .'
,
'\$'
,
20
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S mv /tmp/gnb_*.pcap .'
,
'\$'
,
20
)
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 *stats.log'
,
'\$'
,
60
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap enb_*txt physim_*.log *stats.log'
,
'\$'
,
5
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap
gnb_*.pcap
enb_*txt physim_*.log *stats.log'
,
'\$'
,
60
)
mySSH
.
command
(
'echo '
+
self
.
eNBPassword
+
' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap
gnb_*.pcap
enb_*txt physim_*.log *stats.log'
,
'\$'
,
5
)
mySSH
.
close
()
def
AnalyzeLogFile_eNB
(
self
,
eNBlogFile
,
HTML
):
...
...
@@ -921,8 +938,9 @@ class RANManagement():
if
result
is
not
None
:
#remove 1- all useless char before relevant info 2- trailing char
line
=
line
.
replace
(
'[0m'
,
''
)
tmp
=
re
.
match
(
rf'^.*?(\b
{
k
}
\b.*)'
,
line
.
rstrip
())
#from python 3.6 we can use literal string interpolation for the variable k, using rf' in the regex
real_time_stats
[
k
]
=
tmp
.
group
(
1
)
tmp
=
re
.
match
(
rf'^.*?(\b
{
k
}
\b.*)'
,
line
.
rstrip
())
#from python 3.6 we can use literal string interpolation for the variable k, using rf' in the regex
if
tmp
!=
None
:
#with ULULULUULULULLLL at the head of the line, we skip it
real_time_stats
[
k
]
=
tmp
.
group
(
1
)
#count "problem receiving samples" msg
result
=
re
.
search
(
'\[PHY\]\s+problem receiving samples'
,
str
(
line
))
...
...
ci-scripts/reportBuildLocally.sh
View file @
5adf940b
...
...
@@ -576,8 +576,6 @@ function report_build {
summary_table_row
"RF Simulator - Release 15"
./archives/enb_eth/rfsimulator.Rel15.txt
"Built target rfsimulator"
./enb_eth_row5.html
summary_table_row
"TCP OAI Bridge - Release 15"
./archives/enb_eth/tcp_bridge_oai.Rel15.txt
"Built target tcp_bridge_oai"
./enb_eth_row6.html
summary_table_row
"OAI USRP device if - Release 15"
./archives/enb_eth/oai_usrpdevif.Rel15.txt
"Built target oai_usrpdevif"
./enb_eth_row7.html
summary_table_row
"NASMESH - Release 15"
./archives/enb_eth/nasmesh.Rel15.txt
"Built target nasmesh"
./enb_eth_row8.html
summary_table_row
"RB Tool - Release 15"
./archives/enb_eth/rb_tool.Rel15.txt
"Built target rb_tool"
./enb_eth_row9.html
summary_table_footer
summary_table_header
"OAI Build: 4G LTE UE -- USRP option"
./archives/ue_eth
...
...
@@ -600,9 +598,7 @@ function report_build {
summary_table_row
"Coding - Release 15"
./archives/basic_sim/coding.Rel15.txt
"Built target coding"
./basic_sim_row3.html
summary_table_row
"Conf 2 UE data - Release 15"
./archives/basic_sim/conf2uedata.Rel15.txt
"Built target conf2uedata"
./basic_sim_row4.html
summary_table_row
"OAI ETHERNET transport - Release 15"
./archives/basic_sim/oai_eth_transpro.Rel15.txt
"Built target oai_eth_transpro"
./basic_sim_row5.html
summary_table_row
"NASMESH - Release 15"
./archives/basic_sim/nasmesh.Rel15.txt
"Built target nasmesh"
./basic_sim_row6.html
summary_table_row
"Parameters Lib Config - Release 15"
./archives/basic_sim/params_libconfig.Rel15.txt
"Built target params_libconfig"
./basic_sim_row7.html
summary_table_row
"RB Tool - Release 15"
./archives/basic_sim/rb_tool.Rel15.txt
"Built target rb_tool"
./basic_sim_row8.html
summary_table_row
"RF Simulator - Release 15"
./archives/basic_sim/rfsimulator.Rel15.txt
"Built target rfsimulator"
./basic_sim_row9.html
summary_table_row
"TCP Bridge - Release 15"
./archives/basic_sim/tcp_bridge_oai.Rel15.txt
"Built target tcp_bridge_oai"
./basic_sim_row10.html
summary_table_row
"UE IP - Release 15"
./archives/basic_sim/ue_ip.Rel15.txt
"Built target ue_ip"
./basic_sim_row11.html
...
...
@@ -617,9 +613,7 @@ function report_build {
summary_table_row
"Coding - Release 15"
./archives/gnb_usrp/coding.Rel15.txt
"Built target coding"
./gnb_usrp_row2.html
summary_table_row
"OAI USRP device if - Release 15"
./archives/gnb_usrp/oai_usrpdevif.Rel15.txt
"Built target oai_usrpdevif"
./gnb_usrp_row3.html
summary_table_row
"OAI ETHERNET transport - Release 15"
./archives/gnb_usrp/oai_eth_transpro.Rel15.txt
"Built target oai_eth_transpro"
./gnb_usrp_row4.html
summary_table_row
"NASMESH - Release 15"
./archives/gnb_usrp/nasmesh.Rel15.txt
"Built target nasmesh"
./gnb_usrp_row5.html
summary_table_row
"Parameters Lib Config - Release 15"
./archives/gnb_usrp/params_libconfig.Rel15.txt
"Built target params_libconfig"
./gnb_usrp_row6.html
summary_table_row
"RB Tool - Release 15"
./archives/gnb_usrp/rb_tool.Rel15.txt
"Built target rb_tool"
./gnb_usrp_row7.html
summary_table_footer
fi
...
...
@@ -630,9 +624,7 @@ function report_build {
summary_table_row
"Coding - Release 15"
./archives/nr_ue_usrp/coding.Rel15.txt
"Built target coding"
./nr_ue_usrp_row2.html
summary_table_row
"OAI USRP device if - Release 15"
./archives/nr_ue_usrp/oai_usrpdevif.Rel15.txt
"Built target oai_usrpdevif"
./nr_ue_usrp_row3.html
summary_table_row
"OAI ETHERNET transport - Release 15"
./archives/nr_ue_usrp/oai_eth_transpro.Rel15.txt
"Built target oai_eth_transpro"
./nr_ue_usrp_row4.html
summary_table_row
"NASMESH - Release 15"
./archives/nr_ue_usrp/nasmesh.Rel15.txt
"Built target nasmesh"
./nr_ue_usrp_row5.html
summary_table_row
"Parameters Lib Config - Release 15"
./archives/nr_ue_usrp/params_libconfig.Rel15.txt
"Built target params_libconfig"
./nr_ue_usrp_row6.html
summary_table_row
"RB Tool - Release 15"
./archives/nr_ue_usrp/rb_tool.Rel15.txt
"Built target rb_tool"
./nr_ue_usrp_row7.html
summary_table_footer
fi
...
...
@@ -652,7 +644,7 @@ function report_build {
echo
" <button data-toggle=
\"
collapse
\"
data-target=
\"
#oai-compilation-details
\"
>Details for Compilation Errors and Warnings </button>"
>>
./build_results.html
echo
" <div id=
\"
oai-compilation-details
\"
class=
\"
collapse
\"
>"
>>
./build_results.html
if
[
-f
./enb_eth_row1.html
]
||
[
-f
./enb_eth_row2.html
]
||
[
-f
./enb_eth_row3.html
]
||
[
-f
./enb_eth_row4.html
]
||
[
-f
./enb_eth_row5.html
]
||
[
-f
./enb_eth_row6.html
]
||
[
-f
./enb_eth_row7.html
]
||
[
-f
./enb_eth_row8.html
]
||
[
-f
./enb_eth_row9.html
]
if
[
-f
./enb_eth_row1.html
]
||
[
-f
./enb_eth_row2.html
]
||
[
-f
./enb_eth_row3.html
]
||
[
-f
./enb_eth_row4.html
]
||
[
-f
./enb_eth_row5.html
]
||
[
-f
./enb_eth_row6.html
]
||
[
-f
./enb_eth_row7.html
]
then
for
DETAILS_TABLE
in
`
ls
./enb_eth_row
*
.html
`
do
...
...
ci-scripts/xml_files/fr1_gnb_build.xml
0 → 100644
View file @
5adf940b
<!--
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>
000001
000002
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"000001"
>
<class>
Build_eNB
</class>
<desc>
Build gNB
</desc>
<Build_eNB_args>
-w USRP -c --gNB --ninja
</Build_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<backgroundBuild>
True
</backgroundBuild>
<forced_workspace_cleanup>
True
</forced_workspace_cleanup>
</testCase>
<testCase
id=
"000002"
>
<class>
WaitEndBuild_eNB
</class>
<desc>
Wait for end of Build gNB
</desc>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
</testCase>
</testCaseList>
ci-scripts/xml_files/fr1_nsa_2x2_quectel.xml
0 → 100644
View file @
5adf940b
<!--
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-NSA-FR1-TM1
</htmlTabRef>
<htmlTabName>
NSA Ping DL UL with QUECTEL
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<repeatCount>
1
</repeatCount>
<TestCaseRequestedList>
030000
040000
000002
010000
000001
050000
000001
010002
080001
080000
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"010000"
>
<class>
Initialize_UE
</class>
<desc>
Initialize Quectel
</desc>
<id>
nrmodule2_quectel
</id>
<UE_Trace>
yes
</UE_Trace>
</testCase>
<testCase
id=
"010002"
>
<class>
Terminate_UE
</class>
<desc>
Terminate Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"030000"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize eNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf
</Initialize_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
lte
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<USRP_IPAddress>
192.168.18.241
</USRP_IPAddress>
</testCase>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q
</Initialize_eNB_args>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
<testCase
id=
"000001"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"000002"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
20
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"050000"
>
<class>
Ping
</class>
<desc>
Ping: 20pings in 20sec
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 20
</ping_args>
<ping_packetloss_threshold>
50
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"050001"
>
<class>
Ping
</class>
<desc>
Ping: 100pings in 20sec
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 100 -i 0.2
</ping_args>
<ping_packetloss_threshold>
50
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"070000"
>
<class>
Iperf
</class>
<desc>
iperf (DL/20Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 20M -t 60
</iperf_args>
<direction>
DL
</direction>
<id>
nrmodule2_quectel
</id>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"070001"
>
<class>
Iperf
</class>
<desc>
iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 3M -t 60
</iperf_args>
<direction>
UL
</direction>
<id>
nrmodule2_quectel
</id>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"080000"
>
<class>
Terminate_eNB
</class>
<desc>
Terminate eNB
</desc>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
lte
</air_interface>
</testCase>
<testCase
id=
"080001"
>
<class>
Terminate_eNB
</class>
<desc>
Terminate gNB
</desc>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<air_interface>
nr
</air_interface>
</testCase>
</testCaseList>
ci-scripts/xml_files/fr1_sa_quectel.xml
0 → 100644
View file @
5adf940b
<!--
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-SA-FR1-TM1
</htmlTabRef>
<htmlTabName>
SA Ping DL UL with QUECTEL
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<repeatCount>
1
</repeatCount>
<TestCaseRequestedList>
040000
000002
010000
000001
050000
000001
010002
080000
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"010000"
>
<class>
Initialize_UE
</class>
<desc>
Initialize Quectel
</desc>
<id>
nrmodule2_quectel
</id>
<UE_Trace>
yes
</UE_Trace>
</testCase>
<testCase
id=
"010002"
>
<class>
Terminate_UE
</class>
<desc>
Terminate Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"040000"
>
<class>
Initialize_eNB
</class>
<desc>
Initialize gNB
</desc>
<Initialize_eNB_args>
-O ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf --sa -q
</Initialize_eNB_args>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
nr
</air_interface>
<eNB_Trace>
yes
</eNB_Trace>
<USRP_IPAddress>
192.168.18.240
</USRP_IPAddress>
</testCase>
<testCase
id=
"000001"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"000002"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
20
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"050000"
>
<class>
Ping
</class>
<desc>
Ping: 20pings in 20sec
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 20
</ping_args>
<ping_packetloss_threshold>
50
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"050001"
>
<class>
Ping
</class>
<desc>
Ping: 100pings in 20sec
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 100 -i 0.2
</ping_args>
<ping_packetloss_threshold>
50
</ping_packetloss_threshold>
</testCase>
<testCase
id=
"070000"
>
<class>
Iperf
</class>
<desc>
iperf (DL/20Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 20M -t 60
</iperf_args>
<direction>
DL
</direction>
<id>
nrmodule2_quectel
</id>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"070001"
>
<class>
Iperf
</class>
<desc>
iperf (UL/3Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 3M -t 60
</iperf_args>
<direction>
UL
</direction>
<id>
nrmodule2_quectel
</id>
<iperf_packetloss_threshold>
50
</iperf_packetloss_threshold>
<iperf_profile>
single-ue
</iperf_profile>
</testCase>
<testCase
id=
"080000"
>
<class>
Terminate_eNB
</class>
<desc>
Terminate gNB
</desc>
<eNB_instance>
0
</eNB_instance>
<eNB_serverId>
0
</eNB_serverId>
<air_interface>
nr
</air_interface>
</testCase>
</testCaseList>
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml
View file @
5adf940b
...
...
@@ -40,18 +40,19 @@ services:
private_net
:
ipv4_address
:
192.168.68.3
public_net
:
ipv4_address
:
192.168.61.
2
ipv4_address
:
192.168.61.
194
environment
:
TZ
:
Europe/Paris
REALM
:
openairinterface.org
HSS_FQDN
:
hss.openairinterface.org
PREFIX
:
/openair-hss/etc
cassandra_Server_IP
:
192.168.68.2
OP_KEY
:
1006020f0a478bf6b699f15c062e42b3
LTE_K
:
fec86ba6eb707ed08905757b1bb44b8f
LTE_K
:
FEC86BA6EB707ED08905757B1BB44B8F
APN1
:
oai.ipv4
APN2
:
internet
FIRST_IMSI
:
2
22010100001120
NB_USERS
:
10
APN2
:
oai2.ipv4
FIRST_IMSI
:
2
08990100001127
NB_USERS
:
5
healthcheck
:
test
:
/bin/bash -c "pgrep oai_hss"
interval
:
10s
...
...
@@ -65,45 +66,46 @@ services:
depends_on
:
[
oai_hss
]
networks
:
public_net
:
ipv4_address
:
192.168.61.
3
ipv4_address
:
192.168.61.
195
environment
:
TZ
:
Europe/Paris
REALM
:
openairinterface.org
PREFIX
:
/openair-mme/etc
INSTANCE
:
1
PID_DIRECTORY
:
/var/run
HSS_IP_ADDR
:
192.168.61.
2
HSS_IP_ADDR
:
192.168.61.
194
HSS_HOSTNAME
:
hss
HSS_FQDN
:
hss.openairinterface.org
HSS_REALM
:
openairinterface.org
MCC
:
'
2
22
'
MNC
:
'
01
'
MCC
:
'
2
08
'
MNC
:
'
99
'
MME_GID
:
32768
MME_CODE
:
3
TAC_0
:
1
TAC_1
:
2
TAC_2
:
3
MME_FQDN
:
mme.openairinterface.org
MME_S6A_IP_ADDR
:
192.168.61.
3
MME_S6A_IP_ADDR
:
192.168.61.
195
MME_INTERFACE_NAME_FOR_S1_MME
:
eth0
MME_IPV4_ADDRESS_FOR_S1_MME
:
192.168.61.
3
MME_IPV4_ADDRESS_FOR_S1_MME
:
192.168.61.
195
MME_INTERFACE_NAME_FOR_S11
:
eth0
MME_IPV4_ADDRESS_FOR_S11
:
192.168.61.
3
MME_IPV4_ADDRESS_FOR_S11
:
192.168.61.
195
MME_INTERFACE_NAME_FOR_S10
:
lo
MME_IPV4_ADDRESS_FOR_S10
:
127.0.0.10
OUTPUT
:
CONSOLE
SGW_IPV4_ADDRESS_FOR_S11_0
:
192.168.61.
4
SGW_IPV4_ADDRESS_FOR_S11_0
:
192.168.61.
196
PEER_MME_IPV4_ADDRESS_FOR_S10_0
:
0.0.0.0
PEER_MME_IPV4_ADDRESS_FOR_S10_1
:
0.0.0.0
MCC_SGW_0
:
'
2
22
'
MNC3_SGW_0
:
'
0
01
'
MCC_SGW_0
:
'
2
08
'
MNC3_SGW_0
:
'
0
99
'
TAC_LB_SGW_0
:
'
01'
TAC_HB_SGW_0
:
'
00'
MCC_MME_0
:
'
2
22
'
MNC3_MME_0
:
'
0
01
'
MCC_MME_0
:
'
2
08
'
MNC3_MME_0
:
'
0
99
'
TAC_LB_MME_0
:
'
02'
TAC_HB_MME_0
:
'
00'
MCC_MME_1
:
'
2
22
'
MNC3_MME_1
:
'
0
01
'
MCC_MME_1
:
'
2
08
'
MNC3_MME_1
:
'
0
99
'
TAC_LB_MME_1
:
'
03'
TAC_HB_MME_1
:
'
00'
TAC_LB_SGW_TEST_0
:
'
03'
...
...
@@ -122,18 +124,25 @@ services:
container_name
:
prod-oai-spgwc
networks
:
public_net
:
ipv4_address
:
192.168.61.
4
ipv4_address
:
192.168.61.
196
environment
:
PID_DIRECTORY
:
/var/run
TZ
:
Europe/Paris
SGW_INTERFACE_NAME_FOR_S11
:
eth0
SGW_IP_FOR_S5_S8_CP
:
127.0.0.11/8
PGW_IP_FOR_S5_S8_CP
:
127.0.0.12/8
PGW_INTERFACE_NAME_FOR_SX
:
eth0
DEFAULT_APN
:
oai.ipv4
DEFAULT_DNS_IPV4_ADDRESS
:
192.168.18.129
DEFAULT_DNS_SEC_IPV4_ADDRESS
:
8.8.4.4
UE_IP_ADDRESS_POOL
:
'
12.1.1.2
-
12.1.1.254'
PUSH_PROTOCOL_OPTION
:
'
yes'
PUSH_PROTOCOL_OPTION
:
'
true'
APN_NI_1
:
oai.ipv4
APN_NI_2
:
oai2.ipv4
DEFAULT_APN_NI_1
:
oai.ipv4
UE_IP_ADDRESS_POOL_1
:
'
12.1.1.2
-
12.1.1.254'
UE_IP_ADDRESS_POOL_2
:
'
12.0.0.2
-
12.0.0.254'
MCC
:
'
208'
MNC
:
'
99'
MNC03
:
'
099'
TAC
:
1
GW_ID
:
1
REALM
:
openairinterface.org
healthcheck
:
test
:
/bin/bash -c "pgrep oai_spgwc"
interval
:
10s
...
...
@@ -147,45 +156,39 @@ services:
depends_on
:
[
oai_spgwc
]
networks
:
public_net
:
ipv4_address
:
192.168.61.
5
ipv4_address
:
192.168.61.
197
environment
:
TZ
:
Europe/Paris
PID_DIRECTORY
:
/var/run
INSTANCE
:
1
SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP
:
eth0
PGW_INTERFACE_NAME_FOR_SGI
:
eth0
SGW_INTERFACE_NAME_FOR_SX
:
eth0
SPGWC0_IP_ADDRESS
:
192.168.61.
4
SPGWC0_IP_ADDRESS
:
192.168.61.
196
NETWORK_UE_IP
:
'
12.1.1.0/24'
NETWORK_UE_NAT_OPTION
:
'
yes'
MCC
:
'
208'
MNC
:
'
99'
MNC03
:
'
099'
TAC
:
1
GW_ID
:
1
REALM
:
openairinterface.org
healthcheck
:
test
:
/bin/bash -c "pgrep oai_spgwu"
interval
:
10s
timeout
:
5s
retries
:
5
flexran_rtc
:
image
:
flexran-rtc:production
privileged
:
true
container_name
:
prod-flexran-rtc
networks
:
public_net
:
ipv4_address
:
192.168.61.10
healthcheck
:
test
:
/bin/bash -c "pgrep rt_controller"
interval
:
10s
timeout
:
5s
retries
:
5
trf_gen
:
image
:
trf-gen:production
privileged
:
true
container_name
:
prod-trf-gen
networks
:
public_net
:
ipv4_address
:
192.168.61.
11
entrypoint
:
/bin/bash -c "ip route add 12.1.1.0/24 via 192.168.61.
5
dev eth0; sleep infinity"
ipv4_address
:
192.168.61.
200
entrypoint
:
/bin/bash -c "ip route add 12.1.1.0/24 via 192.168.61.
197
dev eth0; sleep infinity"
healthcheck
:
test
:
/bin/bash -c "ping -c 2 192.168.61.
5
"
test
:
/bin/bash -c "ping -c 2 192.168.61.
197
"
interval
:
10s
timeout
:
5s
retries
:
5
...
...
@@ -200,4 +203,4 @@ networks:
name
:
prod-oai-public-net
ipam
:
config
:
-
subnet
:
192.168.61.
0
/26
-
subnet
:
192.168.61.
192
/26
ci-scripts/yaml_files/fr1_epc_tim/docker-compose.yml.orig
0 → 100644
View file @
5adf940b
version: '3.8'
services:
cassandra:
image: cassandra:2.1
container_name: prod-cassandra
networks:
private_net:
ipv4_address: 192.168.68.2
environment:
CASSANDRA_CLUSTER_NAME: "OAI HSS Cluster"
CASSANDRA_ENDPOINT_SNITCH: GossipingPropertyFileSnitch
healthcheck:
test: /bin/bash -c "nodetool status"
interval: 10s
timeout: 5s
retries: 5
db_init:
image: cassandra:2.1
container_name: prod-db-init
depends_on: [cassandra]
deploy:
restart_policy:
condition: on-failure
max_attempts: 10
networks:
private_net:
ipv4_address: 192.168.68.4
volumes:
- ./oai_db.cql:/home/oai_db.cql
entrypoint: /bin/bash -c "cqlsh --file /home/oai_db.cql 192.168.68.2 && echo 'OK'"
oai_hss:
image: oai-hss:production
container_name: prod-oai-hss
privileged: true
depends_on: [cassandra]
networks:
private_net:
ipv4_address: 192.168.68.3
public_net:
ipv4_address: 192.168.61.2
environment:
REALM: openairinterface.org
HSS_FQDN: hss.openairinterface.org
PREFIX: /openair-hss/etc
cassandra_Server_IP: 192.168.68.2
OP_KEY: 1006020f0a478bf6b699f15c062e42b3
LTE_K: fec86ba6eb707ed08905757b1bb44b8f
APN1: oai.ipv4
APN2: internet
FIRST_IMSI: 222010100001120
NB_USERS: 10
healthcheck:
test: /bin/bash -c "pgrep oai_hss"
interval: 10s
timeout: 5s
retries: 5
oai_mme:
image: oai-mme:production
container_name: prod-oai-mme
privileged: true
depends_on: [oai_hss]
networks:
public_net:
ipv4_address: 192.168.61.3
environment:
REALM: openairinterface.org
PREFIX: /openair-mme/etc
INSTANCE: 1
PID_DIRECTORY: /var/run
HSS_IP_ADDR: 192.168.61.2
HSS_HOSTNAME: hss
HSS_FQDN: hss.openairinterface.org
HSS_REALM: openairinterface.org
MCC: '222'
MNC: '01'
MME_GID: 32768
MME_CODE: 3
TAC_0: 1
TAC_1: 2
TAC_2: 3
MME_FQDN: mme.openairinterface.org
MME_S6A_IP_ADDR: 192.168.61.3
MME_INTERFACE_NAME_FOR_S1_MME: eth0
MME_IPV4_ADDRESS_FOR_S1_MME: 192.168.61.3
MME_INTERFACE_NAME_FOR_S11: eth0
MME_IPV4_ADDRESS_FOR_S11: 192.168.61.3
MME_INTERFACE_NAME_FOR_S10: lo
MME_IPV4_ADDRESS_FOR_S10: 127.0.0.10
OUTPUT: CONSOLE
SGW_IPV4_ADDRESS_FOR_S11_0: 192.168.61.4
PEER_MME_IPV4_ADDRESS_FOR_S10_0: 0.0.0.0
PEER_MME_IPV4_ADDRESS_FOR_S10_1: 0.0.0.0
MCC_SGW_0: '222'
MNC3_SGW_0: '001'
TAC_LB_SGW_0: '01'
TAC_HB_SGW_0: '00'
MCC_MME_0: '222'
MNC3_MME_0: '001'
TAC_LB_MME_0: '02'
TAC_HB_MME_0: '00'
MCC_MME_1: '222'
MNC3_MME_1: '001'
TAC_LB_MME_1: '03'
TAC_HB_MME_1: '00'
TAC_LB_SGW_TEST_0: '03'
TAC_HB_SGW_TEST_0: '00'
SGW_IPV4_ADDRESS_FOR_S11_TEST_0: 0.0.0.0
healthcheck:
test: /bin/bash -c "pgrep oai_mme"
interval: 10s
timeout: 5s
retries: 5
oai_spgwc:
image: oai-spgwc:production
privileged: true
depends_on: [oai_mme]
container_name: prod-oai-spgwc
networks:
public_net:
ipv4_address: 192.168.61.4
environment:
PID_DIRECTORY: /var/run
SGW_INTERFACE_NAME_FOR_S11: eth0
SGW_IP_FOR_S5_S8_CP: 127.0.0.11/8
PGW_IP_FOR_S5_S8_CP: 127.0.0.12/8
PGW_INTERFACE_NAME_FOR_SX: eth0
DEFAULT_APN: oai.ipv4
DEFAULT_DNS_IPV4_ADDRESS: 192.168.18.129
DEFAULT_DNS_SEC_IPV4_ADDRESS: 8.8.4.4
UE_IP_ADDRESS_POOL: '12.1.1.2 - 12.1.1.254'
PUSH_PROTOCOL_OPTION: 'yes'
healthcheck:
test: /bin/bash -c "pgrep oai_spgwc"
interval: 10s
timeout: 5s
retries: 5
oai_spgwu:
image: oai-spgwu-tiny:production
privileged: true
container_name: prod-oai-spgwu-tiny
depends_on: [oai_spgwc]
networks:
public_net:
ipv4_address: 192.168.61.5
environment:
PID_DIRECTORY: /var/run
INSTANCE: 1
SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP: eth0
PGW_INTERFACE_NAME_FOR_SGI: eth0
SGW_INTERFACE_NAME_FOR_SX: eth0
SPGWC0_IP_ADDRESS: 192.168.61.4
NETWORK_UE_IP: '12.1.1.0/24'
NETWORK_UE_NAT_OPTION: 'yes'
healthcheck:
test: /bin/bash -c "pgrep oai_spgwu"
interval: 10s
timeout: 5s
retries: 5
flexran_rtc:
image: flexran-rtc:production
privileged: true
container_name: prod-flexran-rtc
networks:
public_net:
ipv4_address: 192.168.61.10
healthcheck:
test: /bin/bash -c "pgrep rt_controller"
interval: 10s
timeout: 5s
retries: 5
trf_gen:
image: trf-gen:production
privileged: true
container_name: prod-trf-gen
networks:
public_net:
ipv4_address: 192.168.61.11
entrypoint: /bin/bash -c "ip route add 12.1.1.0/24 via 192.168.61.5 dev eth0; sleep infinity"
healthcheck:
test: /bin/bash -c "ping -c 2 192.168.61.5"
interval: 10s
timeout: 5s
retries: 5
networks:
private_net:
name: prod-oai-private-net
ipam:
config:
- subnet: 192.168.68.0/26
public_net:
name: prod-oai-public-net
ipam:
config:
- subnet: 192.168.61.0/26
cmake_targets/build_oai
View file @
5adf940b
...
...
@@ -683,21 +683,7 @@ function main() {
$build_dir
coding
\
libcoding.so
$dbin
/libcoding.so
#check if we run inside a container or not
#IS_CONTAINER variable is defined in build_helper file
#compile nasmesh and rb_tool only if NOT running in a container
if
[
$IS_CONTAINER
-eq
0
]
then
compilations
\
$build_dir
nasmesh
\
CMakeFiles/nasmesh/nasmesh.ko
$dbin
/nasmesh.ko
compilations
\
$build_dir
rb_tool
\
rb_tool
$dbin
/rb_tool
cp
$OPENAIR_DIR
/cmake_targets/tools/init_nas_nos1
$dbin
fi
#IS_CONTAINER
fi
fi
fi
...
...
executables/softmodem-common.c
View file @
5adf940b
...
...
@@ -89,7 +89,7 @@ void get_common_options(uint32_t execmask) {
uint32_t
online_log_messages
=
0
;
uint32_t
glog_level
=
0
;
uint32_t
start_telnetsrv
=
0
,
start_telnetclt
=
0
;
uint32_t
noS1
=
0
,
nokrnmod
=
0
,
nonbiot
=
0
;
uint32_t
noS1
=
0
,
nokrnmod
=
1
,
nonbiot
=
0
;
uint32_t
rfsim
=
0
,
basicsim
=
0
,
do_forms
=
0
;
char
*
logmem_filename
=
NULL
;
paramdef_t
cmdline_params
[]
=
CMDLINE_PARAMS_DESC
;
...
...
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