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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
71d0e95f
Commit
71d0e95f
authored
Aug 18, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci-test-4g-l2sim' into integration_2022_wk33
parents
70627a99
a08d78d7
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
715 additions
and
1 deletion
+715
-1
ci-scripts/Jenkinsfile-GitLab-Container
ci-scripts/Jenkinsfile-GitLab-Container
+20
-0
ci-scripts/cls_containerize.py
ci-scripts/cls_containerize.py
+19
-0
ci-scripts/xml_files/container_4g_l2sim_proxy.xml
ci-scripts/xml_files/container_4g_l2sim_proxy.xml
+1
-1
ci-scripts/xml_files/container_4g_l2sim_tdd.xml
ci-scripts/xml_files/container_4g_l2sim_tdd.xml
+135
-0
ci-scripts/xml_files/container_4g_l2sim_tdd_down.xml
ci-scripts/xml_files/container_4g_l2sim_tdd_down.xml
+38
-0
ci-scripts/xml_files/container_l2sim_proxy.xml
ci-scripts/xml_files/container_l2sim_proxy.xml
+42
-0
ci-scripts/yaml_files/4g_l2sim_fdd/docker-compose.yml
ci-scripts/yaml_files/4g_l2sim_fdd/docker-compose.yml
+305
-0
doc/TESTBenches.md
doc/TESTBenches.md
+3
-0
docker/scripts/enb_entrypoint.sh
docker/scripts/enb_entrypoint.sh
+1
-0
docker/scripts/enb_parameters.yaml
docker/scripts/enb_parameters.yaml
+42
-0
docker/scripts/generateTemplate.py
docker/scripts/generateTemplate.py
+1
-0
openair3/NAS/TOOLS/ue_sim_ci.conf
openair3/NAS/TOOLS/ue_sim_ci.conf
+108
-0
No files found.
ci-scripts/Jenkinsfile-GitLab-Container
View file @
71d0e95f
...
...
@@ -238,6 +238,26 @@ pipeline {
}
}
}
stage
(
"4G L2 Simulators"
)
{
when
{
expression
{
doMandatoryTests
}
}
steps
{
script
{
triggerSlaveJob
(
'RAN-L2-Sim-Test-4G'
,
'Test-L2-Sim-Container-4G'
)
}
}
post
{
always
{
script
{
finalizeSlaveJob
(
'RAN-L2-Sim-Test-4G'
)
}
}
failure
{
script
{
currentBuild
.
result
=
'FAILURE'
}
}
}
}
stage
(
"5G L2 Simulators"
)
{
when
{
expression
{
doMandatoryTests
}
}
steps
{
...
...
ci-scripts/cls_containerize.py
View file @
71d0e95f
...
...
@@ -532,6 +532,25 @@ class Containerize():
# don't delete such that we might recover the zips
#mySSH.command('rm -f build_log_' + self.testCase_id + '.zip','\$', 5)
# we do not analyze the logs (we assume the proxy builds fine at this stage),
# but need to have the following information to correctly display the HTML
files
=
{}
errorandwarnings
=
{}
errorandwarnings
[
'errors'
]
=
0
errorandwarnings
[
'warnings'
]
=
0
errorandwarnings
[
'status'
]
=
True
files
[
'Target Image Creation'
]
=
errorandwarnings
self
.
collectInfo
[
'proxy'
]
=
files
mySSH
.
command
(
'docker image inspect --format=
\'
Size = {{.Size}} bytes
\'
proxy:'
+
tag
,
'\$'
,
5
)
result
=
re
.
search
(
'Size *= *(?P<size>[0-9\-]+) *bytes'
,
mySSH
.
getBefore
())
if
result
is
not
None
:
imageSize
=
float
(
result
.
group
(
'size'
))
/
1000000
logging
.
debug
(
'
\u001B
[1m proxy size is '
+
(
'%.0f'
%
imageSize
)
+
' Mbytes
\u001B
[0m'
)
self
.
allImagesSize
[
'proxy'
]
=
str
(
round
(
imageSize
,
1
))
+
' Mbytes'
else
:
logging
.
debug
(
'proxy size is unknown'
)
self
.
allImagesSize
[
'proxy'
]
=
'unknown'
# Cleaning any created tmp volume
mySSH
.
command
(
self
.
cli
+
' volume prune --force || true'
,
'\$'
,
15
)
mySSH
.
close
()
...
...
ci-scripts/xml_files/container_
5
g_l2sim_proxy.xml
→
ci-scripts/xml_files/container_
4
g_l2sim_proxy.xml
View file @
71d0e95f
...
...
@@ -21,7 +21,7 @@
-->
<testCaseList>
<htmlTabRef>
l2sim-
5gnr
-proxy-build
</htmlTabRef>
<htmlTabRef>
l2sim-
4glte
-proxy-build
</htmlTabRef>
<htmlTabName>
Build L2sim proxy image
</htmlTabName>
<htmlTabIcon>
wrench
</htmlTabIcon>
<repeatCount>
1
</repeatCount>
...
...
ci-scripts/xml_files/container_4g_l2sim_tdd.xml
0 → 100644
View file @
71d0e95f
<!--
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>
l2sim-4glte-tdd
</htmlTabRef>
<htmlTabName>
Testing 4G LTE L2 sim - FDD eNB
</htmlTabName>
<htmlTabIcon>
wrench
</htmlTabIcon>
<repeatCount>
2
</repeatCount>
<TestCaseRequestedList>
100001
000000
000001
000002
000003
000011
200000
020001
020002
030011
030012
200001
100001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"000000"
>
<class>
DeployGenObject
</class>
<desc>
Deploy Cassandra Database
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
<services>
cassandra db_init
</services>
<nb_healthy>
1
</nb_healthy>
</testCase>
<testCase
id=
"000001"
>
<class>
DeployGenObject
</class>
<desc>
Deploy OAI 4G CoreNetwork
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
<services>
oai_hss redis magma_mme oai_spgwc oai_spgwu trf_gen
</services>
<nb_healthy>
7
</nb_healthy>
</testCase>
<testCase
id=
"000002"
>
<class>
DeployGenObject
</class>
<desc>
Deploy OAI 4G eNB L2 sim
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
<services>
oai_enb
</services>
<nb_healthy>
8
</nb_healthy>
</testCase>
<testCase
id=
"000003"
>
<class>
DeployGenObject
</class>
<desc>
Deploy OAI L2 sim 4G LTE-UE 1 and Proxy
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
<services>
proxy oai_ue1
</services>
<nb_healthy>
10
</nb_healthy>
</testCase>
<testCase
id=
"000011"
>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
10
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"020001"
>
<class>
PingFromContainer
</class>
<desc>
Ping trf-gen from LTE-UE 1
</desc>
<container_name>
l2sim4g-oai-lte-ue1
</container_name>
<options>
-I oaitun_ue1 -c 20 192.168.61.11
</options>
<loss_threshold>
0
</loss_threshold>
</testCase>
<testCase
id=
"020002"
>
<class>
PingFromContainer
</class>
<desc>
Ping LTE-UE 1 from trf-gen
</desc>
<container_name>
l2sim4g-trf-gen
</container_name>
<options>
-c 20 12.0.0.2
</options>
<loss_threshold>
0
</loss_threshold>
</testCase>
<testCase
id=
"030011"
>
<class>
IperfFromContainer
</class>
<desc>
Iperf UDP Downlink
</desc>
<server_container_name>
l2sim4g-oai-lte-ue1
</server_container_name>
<client_container_name>
l2sim4g-trf-gen
</client_container_name>
<server_options>
-B 12.0.0.2 -u -i 1 -s
</server_options>
<client_options>
-c 12.0.0.2 -u -i 1 -t 30 -b 1M
</client_options>
</testCase>
<testCase
id=
"030012"
>
<class>
IperfFromContainer
</class>
<desc>
Iperf UDP Uplink
</desc>
<server_container_name>
l2sim4g-trf-gen
</server_container_name>
<client_container_name>
l2sim4g-oai-lte-ue1
</client_container_name>
<server_options>
-u -i 1 -s
</server_options>
<client_options>
-B 12.0.0.2 -c 192.168.61.11 -u -i 1 -t 30 -b 3M
</client_options>
</testCase>
<testCase
id=
"100001"
>
<class>
UndeployGenObject
</class>
<desc>
Undeploy all OAI 4G stack
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
</testCase>
<testCase
id=
"200000"
>
<class>
StatsFromGenObject
</class>
<desc>
Statistics before Traffic Test
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
</testCase>
<testCase
id=
"200001"
>
<class>
StatsFromGenObject
</class>
<desc>
Statistics after Traffic Test
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
</testCase>
</testCaseList>
ci-scripts/xml_files/container_4g_l2sim_tdd_down.xml
0 → 100644
View file @
71d0e95f
<!--
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>
l2sim-4glte-down
</htmlTabRef>
<htmlTabName>
CleanUp 4G L2 sim - FDD eNB
</htmlTabName>
<htmlTabIcon>
trash
</htmlTabIcon>
<TestCaseRequestedList>
100002
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"100002"
>
<class>
UndeployGenObject
</class>
<desc>
Undeploy all OAI 4G stack
</desc>
<yaml_path>
yaml_files/4g_l2sim_fdd
</yaml_path>
</testCase>
</testCaseList>
ci-scripts/xml_files/container_l2sim_proxy.xml
0 → 100644
View file @
71d0e95f
<!--
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>
l2sim-4glte-5gnr-proxy-build
</htmlTabRef>
<htmlTabName>
Build L2sim proxy image
</htmlTabName>
<htmlTabIcon>
wrench
</htmlTabIcon>
<repeatCount>
1
</repeatCount>
<TestCaseRequestedList>
000001
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
<testCase
id=
"000001"
>
<class>
Build_Proxy
</class>
<desc>
Build L2sim Proxy Image
</desc>
<eNB_instance>
1
</eNB_instance>
<eNB_serverId>
1
</eNB_serverId>
<forced_workspace_cleanup>
True
</forced_workspace_cleanup>
<proxy_commit>
56cfdc0
</proxy_commit>
</testCase>
</testCaseList>
ci-scripts/yaml_files/4g_l2sim_fdd/docker-compose.yml
0 → 100644
View file @
71d0e95f
This diff is collapsed.
Click to expand it.
doc/TESTBenches.md
View file @
71d0e95f
...
...
@@ -83,6 +83,9 @@ Webhook
-
caracal + N310
-
pure performance test through phy-test scheduler, see command line for more
details
-
[
RAN-L2-Sim-Test-5G
](
https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-4G/
)
-
obelix (eNB, 1x UE, OAI EPC)
-
L2simulator: skips physical layer and uses proxy between eNB and UE
-
[
RAN-L2-Sim-Test-5G
](
https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-5G/
)
-
obelix (gNB, 1x UE, OAI 5GC)
-
L2simulator: skips physical layer and uses proxy between gNB and UE,
...
...
docker/scripts/enb_entrypoint.sh
View file @
71d0e95f
...
...
@@ -18,6 +18,7 @@ if [[ -v USE_FDD_IF4P5_RCC ]]; then cp $PREFIX/etc/rcc.if4p5.fdd.conf $PREFIX/et
if
[[
-v
USE_TDD_IF4P5_RCC
]]
;
then
cp
$PREFIX
/etc/rcc.if4p5.tdd.conf
$PREFIX
/etc/enb.conf
;
fi
if
[[
-v
USE_FDD_RRU
]]
;
then
cp
$PREFIX
/etc/rru.fdd.conf
$PREFIX
/etc/enb.conf
;
fi
if
[[
-v
USE_TDD_RRU
]]
;
then
cp
$PREFIX
/etc/rru.tdd.conf
$PREFIX
/etc/enb.conf
;
fi
if
[[
-v
USE_NFAPI_VNF
]]
;
then
cp
$PREFIX
/etc/enb.nfapi.vnf.conf
$PREFIX
/etc/enb.conf
;
fi
# Sometimes, the templates are not enough. We mount a conf file on $PREFIX/etc. It can be a template itself.
if
[[
-v
USE_VOLUMED_CONF
]]
;
then
cp
$PREFIX
/etc/mounted.conf
$PREFIX
/etc/enb.conf
;
fi
...
...
docker/scripts/enb_parameters.yaml
View file @
71d0e95f
...
...
@@ -354,3 +354,45 @@
-
key
:
parallel_config
env
:
"
@THREAD_PARALLEL_CONFIG@"
-
filePrefix
:
"
proxy_rcc.band7.tm1.nfapi.conf"
outputfilename
:
"
enb.nfapi.vnf.conf"
config
:
-
key
:
Active_eNBs
env
:
"
@ENB_NAME@"
-
key
:
eNB_name
env
:
"
@ENB_NAME@"
-
key
:
plmn_list
env
:
mcc
:
"
@MCC@"
mnc
:
"
@MNC@"
mnc_length
:
"
@MNC_LENGTH@"
-
key
:
tracking_area_code
env
:
"
@TAC@"
-
key
:
eutra_band
env
:
"
@UTRA_BAND_ID@"
-
key
:
downlink_frequency
env
:
"
@DL_FREQUENCY_IN_MHZ@000000"
-
key
:
uplink_frequency_offset
env
:
"
@UL_FREQUENCY_OFFSET_IN_MHZ@000000"
-
key
:
Nid_cell
env
:
"
@NID_CELL@"
-
key
:
N_RB_DL
env
:
"
@NB_PRB@"
-
key
:
ipv4
env
:
"
@MME_S1C_IP_ADDRESS@"
-
key
:
ENB_INTERFACE_NAME_FOR_S1_MME
env
:
"
@ENB_INTERFACE_NAME_FOR_S1_MME@"
-
key
:
ENB_IPV4_ADDRESS_FOR_S1_MME
env
:
"
@ENB_IPV4_ADDRESS_FOR_S1_MME@"
-
key
:
ENB_INTERFACE_NAME_FOR_S1U
env
:
"
@ENB_INTERFACE_NAME_FOR_S1U@"
-
key
:
ENB_IPV4_ADDRESS_FOR_S1U
env
:
"
@ENB_IPV4_ADDRESS_FOR_S1U@"
-
key
:
ENB_IPV4_ADDRESS_FOR_X2C
env
:
"
@ENB_IPV4_ADDRESS_FOR_X2C@"
-
key
:
LOCAL_S_IF_NAME
env
:
"
@LOCAL_S_IF_NAME@"
-
key
:
REMOTE_S_ADDRESS
env
:
"
@REMOTE_S_ADDRESS@"
-
key
:
LOCAL_S_ADDRESS
env
:
"
@LOCAL_S_ADDRESS@"
docker/scripts/generateTemplate.py
View file @
71d0e95f
...
...
@@ -65,6 +65,7 @@ def main():
"gNB_SA_CU.conf"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"gNB_SA_DU.conf"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"proxy_rcc.band7.tm1.nfapi.conf"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"proxy_nr-ue.nfapi.conf"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"ue.nfapi"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
,
"ue_sim_ci"
:
f'
{
data
[
0
][
"paths"
][
"dest_dir"
]
}
/
{
outputfilename
}
'
...
...
openair3/NAS/TOOLS/ue_sim_ci.conf
View file @
71d0e95f
...
...
@@ -43,3 +43,111 @@ UE0:
EHPLMN_LIST
= ();
};
UE1
:
{
USER
: {
IMEI
=
"356113022094149"
;
MANUFACTURER
=
"OAI"
;
MODEL
=
"LTE SoftModem"
;
PIN
=
"0000"
;
};
SIM
: {
MSIN
=
"0100001111"
;
USIM_API_K
=
"8baf473f2f8fd09487cccbd7097c6862"
;
OPC
=
"e734f8734007d6c5ce7a0508809e7e9c"
;
MSISDN
=
"33611123456"
;
};
# Home PLMN Selector with Access Technology
HPLMN
=
"20896"
;
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST
= ();
# Operator PLMN List
OPLMN_LIST
= (
"20896"
);
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST
= ();
# Forbidden plmns
FPLMN_LIST
= ();
# Equivalent home plmns
EHPLMN_LIST
= ();
};
UE2
:
{
USER
: {
IMEI
=
"356113022094149"
;
MANUFACTURER
=
"OAI"
;
MODEL
=
"LTE SoftModem"
;
PIN
=
"0000"
;
};
SIM
: {
MSIN
=
"0100001111"
;
USIM_API_K
=
"8baf473f2f8fd09487cccbd7097c6862"
;
OPC
=
"e734f8734007d6c5ce7a0508809e7e9c"
;
MSISDN
=
"33611123456"
;
};
# Home PLMN Selector with Access Technology
HPLMN
=
"20896"
;
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST
= ();
# Operator PLMN List
OPLMN_LIST
= (
"20896"
);
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST
= ();
# Forbidden plmns
FPLMN_LIST
= ();
# Equivalent home plmns
EHPLMN_LIST
= ();
};
UE3
:
{
USER
: {
IMEI
=
"356113022094149"
;
MANUFACTURER
=
"OAI"
;
MODEL
=
"LTE SoftModem"
;
PIN
=
"0000"
;
};
SIM
: {
MSIN
=
"0100001111"
;
USIM_API_K
=
"8baf473f2f8fd09487cccbd7097c6862"
;
OPC
=
"e734f8734007d6c5ce7a0508809e7e9c"
;
MSISDN
=
"33611123456"
;
};
# Home PLMN Selector with Access Technology
HPLMN
=
"20896"
;
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST
= ();
# Operator PLMN List
OPLMN_LIST
= (
"20896"
);
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST
= ();
# Forbidden plmns
FPLMN_LIST
= ();
# Equivalent home plmns
EHPLMN_LIST
= ();
};
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