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
spbro
OpenXG-RAN
Commits
1cd990c0
Commit
1cd990c0
authored
Apr 29, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci-multi-fixes' into integration_2024_w17
parents
132c0738
da57e236
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
119 additions
and
413 deletions
+119
-413
ci-scripts/as_ue/aw2s-multi-00102-2x2.cfg
ci-scripts/as_ue/aw2s-multi-00102-2x2.cfg
+18
-18
ci-scripts/as_ue/aw2s-multi-20897.cfg
ci-scripts/as_ue/aw2s-multi-20897.cfg
+0
-280
ci-scripts/ci_infra.yaml
ci-scripts/ci_infra.yaml
+1
-1
ci-scripts/cls_cluster.py
ci-scripts/cls_cluster.py
+48
-0
ci-scripts/cls_oaicitest.py
ci-scripts/cls_oaicitest.py
+4
-4
ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf
...cripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf
+4
-4
ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf
...ts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf
+4
-4
ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf
ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf
+1
-8
ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf
ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf
+1
-10
ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
+1
-1
ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
+3
-3
ci-scripts/epc.py
ci-scripts/epc.py
+12
-58
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
+12
-12
ci-scripts/xml_files/container_sa_aw2s_asue.xml
ci-scripts/xml_files/container_sa_aw2s_asue.xml
+1
-1
ci-scripts/xml_files/container_sa_b200_quectel.xml
ci-scripts/xml_files/container_sa_b200_quectel.xml
+2
-2
ci-scripts/xml_files/container_sa_e1_b200_quectel.xml
ci-scripts/xml_files/container_sa_e1_b200_quectel.xml
+2
-2
ci-scripts/xml_files/container_sa_f1_b200_quectel.xml
ci-scripts/xml_files/container_sa_f1_b200_quectel.xml
+2
-2
ci-scripts/xml_files/container_sa_sc_b200_quectel.xml
ci-scripts/xml_files/container_sa_sc_b200_quectel.xml
+2
-2
ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml
ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml
+1
-1
No files found.
ci-scripts/as_ue/aw2s-multi-
20897
-2x2.cfg
→
ci-scripts/as_ue/aw2s-multi-
00102
-2x2.cfg
View file @
1cd990c0
...
...
@@ -25,8 +25,8 @@ allow dynamic UE creation from remote API */
rf_port: 0,
bandwidth: 20,
band: 78,
dl_nr_arfcn:6
27360
,
ssb_nr_arfcn:6
27360
,
dl_nr_arfcn:6
30048
,
ssb_nr_arfcn:6
30048
,
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL,
...
...
@@ -39,7 +39,7 @@ allow dynamic UE creation from remote API */
ue_list: [
{
"ue_id" : 1,
"imsi": "
20897000000011
1",
"imsi": "
00102000000000
1",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -54,7 +54,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 2,
"imsi": "
20897000000011
2",
"imsi": "
00102000000000
2",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -69,7 +69,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 3,
"imsi": "
20897000000011
3",
"imsi": "
00102000000000
3",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -84,7 +84,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 4,
"imsi": "
20897000000011
4",
"imsi": "
00102000000000
4",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -99,7 +99,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 5,
"imsi": "
20897000000011
5",
"imsi": "
00102000000000
5",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -114,7 +114,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 6,
"imsi": "
20897000000011
6",
"imsi": "
00102000000000
6",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -129,7 +129,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 7,
"imsi": "
208970000000100
",
"imsi": "
001020000000007
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -144,7 +144,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 8,
"imsi": "
208970000000102
",
"imsi": "
001020000000008
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -159,7 +159,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 9,
"imsi": "
208970000000103
",
"imsi": "
001020000000009
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -174,7 +174,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 10,
"imsi": "
208970000000104
",
"imsi": "
001020000000010
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -189,7 +189,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 11,
"imsi": "
208970000000110
",
"imsi": "
001020000000011
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -204,7 +204,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 12,
"imsi": "
208970000000105
",
"imsi": "
001020000000012
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -219,7 +219,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 13,
"imsi": "
208970000000106
",
"imsi": "
001020000000013
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -234,7 +234,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 14,
"imsi": "
208970000000107
",
"imsi": "
001020000000014
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -249,7 +249,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 15,
"imsi": "
208970000000108
",
"imsi": "
001020000000015
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
@@ -264,7 +264,7 @@ allow dynamic UE creation from remote API */
},
{
"ue_id" : 16,
"imsi": "
208970000000109
",
"imsi": "
001020000000016
",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
...
...
ci-scripts/as_ue/aw2s-multi-20897.cfg
deleted
100644 → 0
View file @
132c0738
/* UE simulator configuration file version 2021-06-17
* LTE / 5G Non StandAlone
* Copyright (C) 2019-2021 Amarisoft
*/
{
#define N_ANTENNA_DL 2
#define TDD 1
log_options: "all.level=warn,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/ue.log",
/* Enable remote API and Web interface */
com_addr: "0.0.0.0:9002",
include "rf_driver/1chan.cfg",
/* If true, allow the simulation of several UEs at the same time and
allow dynamic UE creation from remote API */
cell_groups: [{
group_type: "nr",
multi_ue: true,
cells: [{
rf_port: 0,
bandwidth: 20,
band: 78,
dl_nr_arfcn:627360,
ssb_nr_arfcn:627360,
subcarrier_spacing: 30,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1,
rx_to_tx_latency:2,
}],
}],
/* UE capabilities */
/* USIM data */
ue_list: [
{
"ue_id" : 1,
"imsi": "208970000000111",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 2,
"imsi": "208970000000112",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 3,
"imsi": "208970000000113",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 4,
"imsi": "208970000000114",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 5,
"imsi": "208970000000115",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 6,
"imsi": "208970000000116",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 7,
"imsi": "208970000000117",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 8,
"imsi": "208970000000118",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 9,
"imsi": "208970000000119",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 10,
"imsi": "208970000000120",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 11,
"imsi": "208970000000121",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 12,
"imsi": "208970000000122",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 13,
"imsi": "208970000000123",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 14,
"imsi": "208970000000124",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 15,
"imsi": "208970000000125",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
{
"ue_id" : 16,
"imsi": "208970000000126",
"K": "fec86ba6eb707ed08905757b1bb44b8f",
"sim_algo":"milenage",
"op": "1006020f0a478bf6b699f15c062e42b3",
as_release: 15,
ue_category: "nr",
apn:"oai",
attach_pdn_type:"ipv4",
default_nssai: [ { sst: 1, }, ],
default_pdu_session_snssai: { sst: 1, },
tun_setup_script: "ue-ifup",
},
],
}
ci-scripts/ci_infra.yaml
View file @
1cd990c0
...
...
@@ -97,7 +97,7 @@ ltebox-nepes:
amarisoft_ue
:
Host
:
amariue
InitScript
:
/root/lteue-linux-2023-10-27/ue/lteue /root/oaicicd/ran_sa_aw2s_asue_2x2/aw2s-multi-
20897
-2x2.cfg &
InitScript
:
/root/lteue-linux-2023-10-27/ue/lteue /root/oaicicd/ran_sa_aw2s_asue_2x2/aw2s-multi-
00102
-2x2.cfg &
TermScript
:
/root/2023-10-27/libs/ws.js -t 10 127.0.0.1:9002 '{"message":"quit"}' || killall -KILL lteue-avx2
amarisoft_ue_1
:
Host
:
amariue
...
...
ci-scripts/cls_cluster.py
View file @
1cd990c0
...
...
@@ -44,6 +44,9 @@ OCUrl = "https://api.oai.cs.eurecom.fr:6443"
OCRegistry
=
"default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/"
CI_OC_RAN_NAMESPACE
=
"oaicicd-ran"
CI_OC_CORE_NAMESPACE
=
"oaicicd-core-for-ci-ran"
CN_IMAGES
=
[
"mysql"
,
"oai-nrf"
,
"oai-amf"
,
"oai-smf"
,
"oai-upf"
,
"oai-ausf"
,
"oai-udm"
,
"oai-udr"
,
"oai-traffic-server"
]
CN_CONTAINERS
=
[
""
,
"-c nrf"
,
"-c amf"
,
"-c smf"
,
"-c upf"
,
"-c ausf"
,
"-c udm"
,
"-c udr"
,
""
]
def
OC_login
(
cmd
,
ocUserName
,
ocPassword
,
ocProjectName
):
if
ocUserName
==
''
or
ocPassword
==
''
or
ocProjectName
==
''
:
...
...
@@ -65,6 +68,51 @@ def OC_login(cmd, ocUserName, ocPassword, ocProjectName):
def
OC_logout
(
cmd
):
cmd
.
run
(
f'oc logout'
)
def
OC_deploy_CN
(
cmd
,
ocUserName
,
ocPassword
):
logging
.
debug
(
'OC OAI CN5G: Deploying OAI CN5G on Openshift Cluster'
)
path
=
"/opt/oai-cn5g-fed-develop-2024-april-00102"
succeeded
=
OC_login
(
cmd
,
ocUserName
,
ocPassword
,
CI_OC_CORE_NAMESPACE
)
if
not
succeeded
:
return
False
,
CONST
.
OC_LOGIN_FAIL
cmd
.
run
(
'helm uninstall oai5gcn --wait --timeout 60s'
)
ret
=
cmd
.
run
(
f'helm install --wait --timeout 60s oai5gcn
{
path
}
/ci-scripts/charts/oai-5g-basic/.'
)
if
ret
.
returncode
!=
0
:
logging
.
error
(
'OC OAI CN5G: Deployment failed'
)
OC_logout
(
cmd
)
return
False
,
CONST
.
OC_PROJECT_FAIL
report
=
cmd
.
run
(
'oc get pods'
)
OC_logout
(
cmd
)
return
True
,
report
def
OC_undeploy_CN
(
cmd
,
ocUserName
,
ocPassword
):
logging
.
debug
(
'OC OAI CN5G: Terminating CN on Openshift Cluster'
)
path
=
"/opt/oai-cn5g-fed-develop-2024-april-00102"
succeeded
=
OC_login
(
cmd
,
ocUserName
,
ocPassword
,
CI_OC_CORE_NAMESPACE
)
if
not
succeeded
:
return
False
,
CONST
.
OC_LOGIN_FAIL
cmd
.
run
(
f'rm -Rf
{
path
}
/logs'
)
cmd
.
run
(
f'mkdir -p
{
path
}
/logs'
)
logging
.
debug
(
'OC OAI CN5G: Collecting log files to workspace'
)
cmd
.
run
(
f'oc describe pod &>
{
path
}
/logs/describe-pods-post-test.log'
)
cmd
.
run
(
f'oc get pods.metrics.k8s &>
{
path
}
/logs/nf-resource-consumption.log'
)
for
ii
,
ci
in
zip
(
CN_IMAGES
,
CN_CONTAINERS
):
podName
=
cmd
.
run
(
f"oc get pods | grep
{
ii
}
| awk
\'
{{print $1}}
\'
"
).
stdout
.
strip
()
if
not
podName
:
logging
.
debug
(
f'
{
ii
}
pod not found!'
)
else
:
cmd
.
run
(
f'oc logs -f
{
podName
}
{
ci
}
&>
{
path
}
/logs/
{
ii
}
.log &'
)
cmd
.
run
(
f'cd
{
path
}
/logs && zip -r -qq test_logs_CN.zip *.log'
)
cmd
.
copyin
(
f'
{
path
}
/logs/test_logs_CN.zip'
,
'test_logs_CN.zip'
)
ret
=
cmd
.
run
(
'helm uninstall --wait --timeout 60s oai5gcn'
)
if
ret
.
returncode
!=
0
:
logging
.
error
(
'OC OAI CN5G: Undeployment failed'
)
cmd
.
run
(
'helm uninstall --wait --timeout 60s oai5gcn'
)
OC_logout
(
cmd
)
return
False
,
CONST
.
OC_PROJECT_FAIL
report
=
cmd
.
run
(
'oc get pods'
)
OC_logout
(
cmd
)
return
True
,
report
class
Cluster
:
def
__init__
(
self
):
self
.
eNBIPAddress
=
""
...
...
ci-scripts/cls_oaicitest.py
View file @
1cd990c0
...
...
@@ -129,10 +129,10 @@ def Iperf_analyzeV3BIDIRJson(filename):
with
open
(
filename
)
as
file
:
filename
=
json
.
load
(
file
)
try
:
sender_bitrate_
d
l
=
round
(
filename
[
'end'
][
'streams'
][
0
][
'sender'
][
'bits_per_second'
]
/
1000000
,
2
)
receiver_bitrate_
d
l
=
round
(
filename
[
'end'
][
'streams'
][
0
][
'receiver'
][
'bits_per_second'
]
/
1000000
,
2
)
sender_bitrate_
u
l
=
round
(
filename
[
'end'
][
'streams'
][
1
][
'sender'
][
'bits_per_second'
]
/
1000000
,
2
)
receiver_bitrate_
u
l
=
round
(
filename
[
'end'
][
'streams'
][
1
][
'receiver'
][
'bits_per_second'
]
/
1000000
,
2
)
sender_bitrate_
u
l
=
round
(
filename
[
'end'
][
'streams'
][
0
][
'sender'
][
'bits_per_second'
]
/
1000000
,
2
)
receiver_bitrate_
u
l
=
round
(
filename
[
'end'
][
'streams'
][
0
][
'receiver'
][
'bits_per_second'
]
/
1000000
,
2
)
sender_bitrate_
d
l
=
round
(
filename
[
'end'
][
'streams'
][
1
][
'sender'
][
'bits_per_second'
]
/
1000000
,
2
)
receiver_bitrate_
d
l
=
round
(
filename
[
'end'
][
'streams'
][
1
][
'receiver'
][
'bits_per_second'
]
/
1000000
,
2
)
except
Exception
as
e
:
return
(
False
,
'Could not compute BIDIR bitrate!'
)
...
...
ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf
View file @
1cd990c0
...
...
@@ -204,8 +204,8 @@ MACRLCs = (
bler_target_upper
=
20
.
0
;
bler_target_lower
=
10
.
0
;
max_ul_rb_index
=
27
;
puSch10xSnr
=
19
0
;
puCch10xSnr
=
16
0
;
puSch10xSnr
=
25
0
;
puCch10xSnr
=
23
0
;
}
);
...
...
@@ -224,8 +224,8 @@ RUs = (
local_rf
=
"yes"
nb_tx
=
2
nb_rx
=
2
att_tx
=
1
0
att_rx
=
5
;
att_tx
=
1
2
att_rx
=
0
;
bands
= [
38
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
...
...
ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf
View file @
1cd990c0
...
...
@@ -204,8 +204,8 @@ MACRLCs = (
bler_target_upper
=
20
.
0
;
bler_target_lower
=
10
.
0
;
max_ul_rb_index
=
27
;
puSch10xSnr
=
19
0
;
puCch10xSnr
=
16
0
;
puSch10xSnr
=
28
0
;
puCch10xSnr
=
25
0
;
}
);
...
...
@@ -224,8 +224,8 @@ RUs = (
local_rf
=
"yes"
nb_tx
=
2
nb_rx
=
2
att_tx
=
1
0
att_rx
=
5
;
att_tx
=
1
8
att_rx
=
0
;
bands
= [
38
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
...
...
ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf
View file @
1cd990c0
...
...
@@ -167,19 +167,12 @@ gNBs =
//////////
AMF
parameters
:
amf_ip_address
= ( {
ipv4
=
"192.168.61.132"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
amf_ip_address
= ({
ipv4
=
"192.168.61.132"
; });
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.61.129/26"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.61.129/26"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf
View file @
1cd990c0
...
...
@@ -164,20 +164,11 @@ gNBs = (
//////////
AMF
parameters
:
amf_ip_address
= (
{
ipv4
=
"192.168.61.132"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
amf_ip_address
= ({
ipv4
=
"192.168.61.132"
; });
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_NG_AMF
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.61.129/24"
;
GNB_INTERFACE_NAME_FOR_NGU
=
"demo-oai"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.61.129/24"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
}
...
...
ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
View file @
1cd990c0
...
...
@@ -13,7 +13,7 @@ gNBs =
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
208
;
mnc
=
97
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
;}); });
plmn_list
= ({
mcc
=
001
;
mnc
=
02
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
;}); });
nr_cellid
=
12345678
L
...
...
ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
View file @
1cd990c0
...
...
@@ -16,7 +16,7 @@ gNBs =
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
0
x1
;
plmn_list
= ({
mcc
=
208
;
mnc
=
97
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
0
x1
; }) });
plmn_list
= ({
mcc
=
001
;
mnc
=
02
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
0
x1
; }) });
nr_cellid
=
12345678
L
...
...
@@ -35,10 +35,10 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3410.4 MHz => 301 REs from PointA 25 PRBs + 1 RE
absoluteFrequencySSB
=
6
27360
;
absoluteFrequencySSB
=
6
30048
;
dl_frequencyBand
=
78
;
# this is 3410.4 - (51*12*30e-3/2) = 3401.22 MHz
dl_absoluteFrequencyPointA
=
62
6748
;
dl_absoluteFrequencyPointA
=
62
9436
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
...
...
ci-scripts/epc.py
View file @
1cd990c0
...
...
@@ -298,39 +298,18 @@ class EPCManagement():
html_cell
+=
'('
+
res4
.
group
(
'date'
)
+
')'
html_cell
+=
'
\n
'
elif
re
.
match
(
'OC-OAI-CN5G'
,
self
.
Type
,
re
.
IGNORECASE
):
self
.
testCase_id
=
HTML
.
testCase_id
imageNames
=
[
"oai-nrf"
,
"oai-amf"
,
"oai-smf"
,
"oai-spgwu-tiny"
,
"oai-ausf"
,
"oai-udm"
,
"oai-udr"
,
"mysql"
,
"oai-traffic-server"
]
logging
.
debug
(
'Deploying OAI CN5G on Openshift Cluster'
)
lIpAddr
=
self
.
IPAddress
lSourcePath
=
"/opt/oai-cn5g-fed-develop-2023-04-28-20897"
succeeded
=
OC
.
OC_login
(
mySSH
,
self
.
OCUserName
,
self
.
OCPassword
,
OC
.
CI_OC_CORE_NAMESPACE
)
succeeded
,
report
=
OC
.
OC_deploy_CN
(
mySSH
,
self
.
OCUserName
,
self
.
OCPassword
)
if
not
succeeded
:
logging
.
error
(
'
\u001B
[1m OC Cluster Login Failed
\u001B
[0m'
)
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
CONST
.
OC_LOGIN_FAIL
)
return
False
for
ii
in
imageNames
:
mySSH
.
run
(
f'helm uninstall
{
ii
}
'
,
reportNonZero
=
False
)
mySSH
.
run
(
f'helm spray
{
lSourcePath
}
/ci-scripts/charts/oai-5g-basic/.'
)
ret
=
mySSH
.
run
(
f'oc get pods'
,
silent
=
True
)
if
ret
.
stdout
.
count
(
'Running'
)
!=
9
:
logging
.
error
(
'
\u001B
[1m Deploying 5GCN Failed using helm chart on OC Cluster
\u001B
[0m'
)
for
ii
in
imageNames
:
mySSH
.
run
(
'helm uninstall '
+
ii
)
ret
=
mySSH
.
run
(
f'oc get pods'
)
if
re
.
search
(
'No resources found'
,
ret
.
stdout
):
logging
.
debug
(
'All pods uninstalled'
)
OC
.
OC_logout
(
mySSH
)
mySSH
.
close
()
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
CONST
.
OC_PROJECT_FAIL
)
return
False
ret
=
mySSH
.
run
(
f'oc get pods'
,
silent
=
True
)
for
line
in
ret
.
stdout
.
split
(
'
\n
'
)[
1
:]:
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
report
)
HTML
.
CreateHtmlTabFooter
(
False
)
mySSH
.
close
()
sys
.
exit
(
"OC OAI CN5G: CN deployment failed!"
)
for
line
in
report
.
stdout
.
split
(
'
\n
'
)[
1
:]:
columns
=
line
.
strip
().
split
()
name
=
columns
[
0
]
status
=
columns
[
2
]
html_cell
+=
status
+
' '
+
name
html_cell
+=
'
\n
'
OC
.
OC_logout
(
mySSH
)
else
:
logging
.
error
(
'This option should not occur!'
)
mySSH
.
close
()
...
...
@@ -562,8 +541,6 @@ class EPCManagement():
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'OK'
,
CONST
.
ALL_PROCESSES_OK
)
def
Terminate5GCN
(
self
,
HTML
):
imageNames
=
[
"mysql"
,
"oai-nrf"
,
"oai-amf"
,
"oai-smf"
,
"oai-spgwu-tiny"
,
"oai-ausf"
,
"oai-udm"
,
"oai-udr"
,
"oai-traffic-server"
]
containerInPods
=
[
""
,
"-c nrf"
,
"-c amf"
,
"-c smf"
,
"-c spgwu"
,
"-c ausf"
,
"-c udm"
,
"-c udr"
,
""
]
mySSH
=
cls_cmd
.
getConnection
(
self
.
IPAddress
)
message
=
''
if
re
.
match
(
'ltebox'
,
self
.
Type
,
re
.
IGNORECASE
):
...
...
@@ -598,36 +575,13 @@ class EPCManagement():
mySSH
.
copyin
(
f'
{
self
.
SourceCodePath
}
/logs/test_logs_CN.zip'
,
'test_logs_CN.zip'
)
logging
.
debug
(
message
)
elif
re
.
match
(
'OC-OAI-CN5G'
,
self
.
Type
,
re
.
IGNORECASE
):
logging
.
debug
(
'Terminating OAI CN5G on Openshift Cluster'
)
lIpAddr
=
self
.
IPAddress
lSourcePath
=
self
.
SourceCodePath
mySSH
.
run
(
f'rm -Rf
{
lSourcePath
}
/logs'
)
mySSH
.
run
(
f'mkdir -p
{
lSourcePath
}
/logs'
)
logging
.
debug
(
'OC OAI CN5G - Collecting Log files to workspace'
)
succeeded
=
OC
.
OC_login
(
mySSH
,
self
.
OCUserName
,
self
.
OCPassword
,
OC
.
CI_OC_CORE_NAMESPACE
)
succeeded
,
report
=
OC
.
OC_undeploy_CN
(
mySSH
,
self
.
OCUserName
,
self
.
OCPassword
)
if
not
succeeded
:
logging
.
error
(
'
\u001B
[1m OC Cluster Login Failed
\u001B
[0m'
)
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
CONST
.
OC_LOGIN_FAIL
)
return
False
mySSH
.
run
(
f'oc describe pod &>
{
lSourcePath
}
/logs/describe-pods-post-test.log'
)
mySSH
.
run
(
f'oc get pods.metrics.k8s &>
{
lSourcePath
}
/logs/nf-resource-consumption.log'
)
for
ii
,
ci
in
zip
(
imageNames
,
containerInPods
):
podName
=
mySSH
.
run
(
f"oc get pods | grep
{
ii
}
| awk
\'
{{print $1}}
\'
"
).
stdout
.
strip
()
if
not
podName
:
logging
.
debug
(
f'
{
ii
}
pod not found!'
)
HTML
.
CreateHtmlTestRow
(
self
.
Type
,
'KO'
,
CONST
.
INVALID_PARAMETER
)
HTML
.
CreateHtmlTabFooter
(
False
)
mySSH
.
run
(
f'oc logs -f
{
podName
}
{
ci
}
&>
{
lSourcePath
}
/logs/
{
ii
}
.log &'
)
mySSH
.
run
(
f'helm uninstall
{
ii
}
'
)
podName
=
''
mySSH
.
run
(
f'cd
{
lSourcePath
}
/logs && zip -r -qq test_logs_CN.zip *.log'
)
mySSH
.
copyin
(
f'
{
lSourcePath
}
/logs/test_logs_CN.zip'
,
'test_logs_CN.zip'
)
ret
=
mySSH
.
run
(
f'oc get pods'
,
silent
=
True
)
res
=
re
.
search
(
f'No resources found in
{
OC
.
CI_OC_CORE_NAMESPACE
}
namespace.'
,
ret
.
stdout
)
if
res
is
not
None
:
logging
.
debug
(
'OC OAI CN5G components uninstalled'
)
message
=
'OC OAI CN5G components uninstalled'
OC
.
OC_logout
(
mySSH
)
HTML
.
CreateHtmlTestRow
(
'N/A'
,
'KO'
,
report
)
HTML
.
CreateHtmlTabFooter
(
False
)
sys
.
exit
(
"OC OAI CN5G: CN undeployment failed!"
)
else
:
message
=
report
.
stdout
else
:
logging
.
error
(
'This should not happen!'
)
mySSH
.
close
()
...
...
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
View file @
1cd990c0
...
...
@@ -31,15 +31,15 @@
111111
100000
010010
03
0
101
03
1
101
010001
000001
05
0
000
05
0
001
07
0
000
07
0
001
05
1
000
05
1
001
07
1
000
07
1
001
010010
03
0
201
03
1
201
</TestCaseRequestedList>
<TestCaseExclusionList></TestCaseExclusionList>
...
...
@@ -65,7 +65,7 @@
<command>
sudo cpupower idle-set -E
</command>
</testCase>
<testCase
id=
"03
0
101"
>
<testCase
id=
"03
1
101"
>
<class>
Deploy_Object
</class>
<desc>
Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container
</desc>
<yaml_path>
ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2
</yaml_path>
...
...
@@ -85,7 +85,7 @@
<id>
up2
</id>
</testCase>
<testCase
id=
"05
0
000"
>
<testCase
id=
"05
1
000"
>
<class>
Ping
</class>
<desc>
Ping: 20 pings
</desc>
<id>
up2
</id>
...
...
@@ -94,7 +94,7 @@
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
</testCase>
<testCase
id=
"05
0
001"
>
<testCase
id=
"05
1
001"
>
<class>
Ping
</class>
<desc>
Ping: 100 pings, size 1024
</desc>
<id>
up2
</id>
...
...
@@ -103,7 +103,7 @@
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
</testCase>
<testCase
id=
"07
0
000"
>
<testCase
id=
"07
1
000"
>
<class>
Iperf
</class>
<desc>
iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 1M -t 60 -R
</iperf_args>
...
...
@@ -113,7 +113,7 @@
<iperf_bitrate_threshold>
95
</iperf_bitrate_threshold>
</testCase>
<testCase
id=
"07
0
001"
>
<testCase
id=
"07
1
001"
>
<class>
Iperf
</class>
<desc>
iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 7M -t 60
</iperf_args>
...
...
@@ -129,7 +129,7 @@
<id>
up2
</id>
</testCase>
<testCase
id=
"03
0
201"
>
<testCase
id=
"03
1
201"
>
<class>
Undeploy_Object
</class>
<desc>
Undeploy gNB
</desc>
<yaml_path>
ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2
</yaml_path>
...
...
ci-scripts/xml_files/container_sa_aw2s_asue.xml
View file @
1cd990c0
...
...
@@ -48,9 +48,9 @@
000100
000010
000020
002016
000030
000040
002016
000200
003000
004000
...
...
ci-scripts/xml_files/container_sa_b200_quectel.xml
View file @
1cd990c0
...
...
@@ -165,7 +165,7 @@
<testCase
id=
"070003"
>
<class>
Iperf
</class>
<desc>
iperf (DL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (DL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30 -R
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
@@ -174,7 +174,7 @@
<testCase
id=
"070004"
>
<class>
Iperf
</class>
<desc>
iperf (UL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (UL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
ci-scripts/xml_files/container_sa_e1_b200_quectel.xml
View file @
1cd990c0
...
...
@@ -157,7 +157,7 @@
<testCase
id=
"370003"
>
<class>
Iperf
</class>
<desc>
iperf (DL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (DL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30 -R
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
@@ -166,7 +166,7 @@
<testCase
id=
"370004"
>
<class>
Iperf
</class>
<desc>
iperf (UL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (UL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
ci-scripts/xml_files/container_sa_f1_b200_quectel.xml
View file @
1cd990c0
...
...
@@ -189,7 +189,7 @@
<testCase
id=
"170003"
>
<class>
Iperf
</class>
<desc>
iperf (DL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (DL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30 -R
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
@@ -198,7 +198,7 @@
<testCase
id=
"170004"
>
<class>
Iperf
</class>
<desc>
iperf (UL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (UL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
ci-scripts/xml_files/container_sa_sc_b200_quectel.xml
View file @
1cd990c0
...
...
@@ -159,7 +159,7 @@
<testCase
id=
"270003"
>
<class>
Iperf
</class>
<desc>
iperf (DL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (DL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30 -R
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
@@ -168,7 +168,7 @@
<testCase
id=
"270004"
>
<class>
Iperf
</class>
<desc>
iperf (UL/TCP)(30 sec)(
multi
-ue profile)
</desc>
<desc>
iperf (UL/TCP)(30 sec)(
single
-ue profile)
</desc>
<iperf_args>
-t 30
</iperf_args>
<id>
idefix
</id>
<svr_id>
sabox-nepes
</svr_id>
...
...
ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml
View file @
1cd990c0
...
...
@@ -10,7 +10,7 @@ services:
#entrypoint: /bin/bash -c "sleep infinity"
environment
:
TZ
:
Europe/Paris
USE_ADDITIONAL_OPTIONS
:
--usrp-args type=n3xx,name=ni-n3xx-31641B9,addr=192.168.10.2 -r 106 --numerology 1 --band 78 -C 3511200000 --sa --ue-fo-compensation --ue-rxgain 65 --tune-offset 20000000 -A 45 --log_config.global_log_options level,nocolor,time --uicc0.imsi
20897
0000000111 --uicc0.nssai_sd
16777215
USE_ADDITIONAL_OPTIONS
:
--usrp-args type=n3xx,name=ni-n3xx-31641B9,addr=192.168.10.2 -r 106 --numerology 1 --band 78 -C 3511200000 --sa --ue-fo-compensation --ue-rxgain 65 --tune-offset 20000000 -A 45 --log_config.global_log_options level,nocolor,time --uicc0.imsi
00102
0000000111 --uicc0.nssai_sd
16777215
volumes
:
-
../../conf_files/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
...
...
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