From 6bbcc1d275d08dad60812eab8ecf76d26e4f500b Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Mon, 1 Apr 2024 18:24:53 +0200 Subject: [PATCH 1/8] Improve LTE-2x2 radio behavior and log collection - change testcase IDs to get all logs --- .../enb.band38.lte_2x2.100prb.usrpn310.conf | 8 +++---- ...nb.band38.lte_2x2_tm2.100prb.usrpn310.conf | 8 +++---- .../container_lte_n3xx_tdd_2x2_tm2.xml | 24 +++++++++---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf b/ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf index 183b91407c..cd3842ed5b 100644 --- a/ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf +++ b/ci-scripts/conf_files/enb.band38.lte_2x2.100prb.usrpn310.conf @@ -204,8 +204,8 @@ MACRLCs = ( bler_target_upper = 20.0; bler_target_lower = 10.0; max_ul_rb_index = 27; - puSch10xSnr = 190; - puCch10xSnr = 160; + puSch10xSnr = 250; + puCch10xSnr = 230; } ); @@ -224,8 +224,8 @@ RUs = ( local_rf = "yes" nb_tx = 2 nb_rx = 2 - att_tx = 10 - att_rx = 5; + att_tx = 12 + att_rx = 0; bands = [38]; max_pdschReferenceSignalPower = -27; max_rxgain = 75; diff --git a/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf b/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf index 21fc241994..a2dfde11c3 100644 --- a/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf +++ b/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100prb.usrpn310.conf @@ -204,8 +204,8 @@ MACRLCs = ( bler_target_upper = 20.0; bler_target_lower = 10.0; max_ul_rb_index = 27; - puSch10xSnr = 190; - puCch10xSnr = 160; + puSch10xSnr = 280; + puCch10xSnr = 250; } ); @@ -224,8 +224,8 @@ RUs = ( local_rf = "yes" nb_tx = 2 nb_rx = 2 - att_tx = 10 - att_rx = 5; + att_tx = 18 + att_rx = 0; bands = [38]; max_pdschReferenceSignalPower = -27; max_rxgain = 75; diff --git a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml index bee8c9eba5..b518f98bdb 100644 --- a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml +++ b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml @@ -31,15 +31,15 @@ 111111 100000 010010 -030101 +031101 010001 000001 -050000 -050001 -070000 -070001 +051000 +051001 +071000 +071001 010010 -030201 +031201 @@ -65,7 +65,7 @@ sudo cpupower idle-set -E - + Deploy_Object Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2 @@ -85,7 +85,7 @@ up2 - + Ping Ping: 20 pings up2 @@ -94,7 +94,7 @@ 60 - + Ping Ping: 100 pings, size 1024 up2 @@ -103,7 +103,7 @@ 60 - + Iperf iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile) -u -b 1M -t 60 -R @@ -113,7 +113,7 @@ 95 - + Iperf iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile) -u -b 7M -t 60 @@ -129,7 +129,7 @@ up2 - + Undeploy_Object Undeploy gNB ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2 From d9b87d1cb7ba3b8bc1941a097d02fed9f431ef1f Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Fri, 12 Apr 2024 09:42:11 +0200 Subject: [PATCH 2/8] Fix of iperf3 BIDIR reporting --- ci-scripts/cls_oaicitest.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index 0facb2f51a..928e6bbfbd 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -129,10 +129,10 @@ def Iperf_analyzeV3BIDIRJson(filename): with open(filename) as file: filename = json.load(file) try: - sender_bitrate_dl = round(filename['end']['streams'][0]['sender']['bits_per_second']/1000000,2) - receiver_bitrate_dl = round(filename['end']['streams'][0]['receiver']['bits_per_second']/1000000,2) - sender_bitrate_ul = round(filename['end']['streams'][1]['sender']['bits_per_second']/1000000,2) - receiver_bitrate_ul = round(filename['end']['streams'][1]['receiver']['bits_per_second']/1000000,2) + sender_bitrate_ul = round(filename['end']['streams'][0]['sender']['bits_per_second']/1000000,2) + receiver_bitrate_ul = round(filename['end']['streams'][0]['receiver']['bits_per_second']/1000000,2) + sender_bitrate_dl = round(filename['end']['streams'][1]['sender']['bits_per_second']/1000000,2) + receiver_bitrate_dl = round(filename['end']['streams'][1]['receiver']['bits_per_second']/1000000,2) except Exception as e: return (False, 'Could not compute BIDIR bitrate!') From 09bd7b5b399a9578688bfdfc190c1e769fc7f83d Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Fri, 12 Apr 2024 15:34:19 +0200 Subject: [PATCH 3/8] Change PLMN and frequency in AW2S pipeline - Remove unused AmariUE config file, replace by new one - for PLMN 00102 - Change frequency of AW2S pipeline - Move center frequency by 40 MHz to avoid interferency with other setups in the lab. Set center frequency to ~ 3450 MHz. --- ...20897-2x2.cfg => aw2s-multi-00102-2x2.cfg} | 36 +-- ci-scripts/as_ue/aw2s-multi-20897.cfg | 280 ------------------ ci-scripts/ci_infra.yaml | 2 +- .../gnb.sa.band78.51prb.aw2s.ddsuu.conf | 6 +- 4 files changed, 22 insertions(+), 302 deletions(-) rename ci-scripts/as_ue/{aw2s-multi-20897-2x2.cfg => aw2s-multi-00102-2x2.cfg} (92%) delete mode 100644 ci-scripts/as_ue/aw2s-multi-20897.cfg diff --git a/ci-scripts/as_ue/aw2s-multi-20897-2x2.cfg b/ci-scripts/as_ue/aw2s-multi-00102-2x2.cfg similarity index 92% rename from ci-scripts/as_ue/aw2s-multi-20897-2x2.cfg rename to ci-scripts/as_ue/aw2s-multi-00102-2x2.cfg index b9707b801e..04d2bb9ffd 100644 --- a/ci-scripts/as_ue/aw2s-multi-20897-2x2.cfg +++ b/ci-scripts/as_ue/aw2s-multi-00102-2x2.cfg @@ -25,8 +25,8 @@ allow dynamic UE creation from remote API */ rf_port: 0, bandwidth: 20, band: 78, - dl_nr_arfcn:627360, - ssb_nr_arfcn:627360, + dl_nr_arfcn:630048, + ssb_nr_arfcn:630048, 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": "208970000000111", + "imsi": "001020000000001", "K": "fec86ba6eb707ed08905757b1bb44b8f", "sim_algo":"milenage", "op": "1006020f0a478bf6b699f15c062e42b3", @@ -54,7 +54,7 @@ allow dynamic UE creation from remote API */ }, { "ue_id" : 2, - "imsi": "208970000000112", + "imsi": "001020000000002", "K": "fec86ba6eb707ed08905757b1bb44b8f", "sim_algo":"milenage", "op": "1006020f0a478bf6b699f15c062e42b3", @@ -69,7 +69,7 @@ allow dynamic UE creation from remote API */ }, { "ue_id" : 3, - "imsi": "208970000000113", + "imsi": "001020000000003", "K": "fec86ba6eb707ed08905757b1bb44b8f", "sim_algo":"milenage", "op": "1006020f0a478bf6b699f15c062e42b3", @@ -84,7 +84,7 @@ allow dynamic UE creation from remote API */ }, { "ue_id" : 4, - "imsi": "208970000000114", + "imsi": "001020000000004", "K": "fec86ba6eb707ed08905757b1bb44b8f", "sim_algo":"milenage", "op": "1006020f0a478bf6b699f15c062e42b3", @@ -99,7 +99,7 @@ allow dynamic UE creation from remote API */ }, { "ue_id" : 5, - "imsi": "208970000000115", + "imsi": "001020000000005", "K": "fec86ba6eb707ed08905757b1bb44b8f", "sim_algo":"milenage", "op": "1006020f0a478bf6b699f15c062e42b3", @@ -114,7 +114,7 @@ allow dynamic UE creation from remote API */ }, { "ue_id" : 6, - "imsi": "208970000000116", + "imsi": "001020000000006", "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", diff --git a/ci-scripts/as_ue/aw2s-multi-20897.cfg b/ci-scripts/as_ue/aw2s-multi-20897.cfg deleted file mode 100644 index f4b2371cb8..0000000000 --- a/ci-scripts/as_ue/aw2s-multi-20897.cfg +++ /dev/null @@ -1,280 +0,0 @@ -/* 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", - }, - ], -} diff --git a/ci-scripts/ci_infra.yaml b/ci-scripts/ci_infra.yaml index 400b80e2e0..8cbb5936e2 100644 --- a/ci-scripts/ci_infra.yaml +++ b/ci-scripts/ci_infra.yaml @@ -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 diff --git a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf index 34201a96b1..c41faa0841 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf @@ -16,7 +16,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 0x1; - plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst =0x1; }) }); + plmn_list = ({ mcc = 001; mnc = 02; mnc_length = 2; snssaiList = ({ sst =0x1; }) }); nr_cellid = 12345678L @@ -35,10 +35,10 @@ gNBs = # downlinkConfigCommon #frequencyInfoDL # this is 3410.4 MHz => 301 REs from PointA 25 PRBs + 1 RE - absoluteFrequencySSB = 627360; + absoluteFrequencySSB = 630048; dl_frequencyBand = 78; # this is 3410.4 - (51*12*30e-3/2) = 3401.22 MHz - dl_absoluteFrequencyPointA = 626748; + dl_absoluteFrequencyPointA = 629436; #scs-SpecificCarrierList dl_offstToCarrier = 0; # subcarrierSpacing From 82423fba4569184ac06399228421cdf13132578f Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Fri, 12 Apr 2024 15:34:52 +0200 Subject: [PATCH 4/8] Change PLMN in OAIUE pipeline --- ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf | 2 +- ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf index d43d2ed8e9..540774e2d1 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf @@ -13,7 +13,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe 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 = 12345678L diff --git a/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml b/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml index 20c6f81b1b..a1815eba92 100644 --- a/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml +++ b/ci-scripts/yaml_files/5g_sa_n310_nrue/docker-compose.yml @@ -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 208970000000111 --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 001020000000111 --uicc0.nssai_sd 16777215 volumes: - ../../conf_files/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf healthcheck: From de5f23c52b874d83b456b8ca8a7a5f7bf07d0225 Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Mon, 15 Apr 2024 11:29:46 +0200 Subject: [PATCH 5/8] B200-SABOX pipeline - fix testcase descriptions --- ci-scripts/xml_files/container_sa_b200_quectel.xml | 4 ++-- ci-scripts/xml_files/container_sa_e1_b200_quectel.xml | 4 ++-- ci-scripts/xml_files/container_sa_f1_b200_quectel.xml | 4 ++-- ci-scripts/xml_files/container_sa_sc_b200_quectel.xml | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ci-scripts/xml_files/container_sa_b200_quectel.xml b/ci-scripts/xml_files/container_sa_b200_quectel.xml index 7d139f46fe..3eff9cddfd 100644 --- a/ci-scripts/xml_files/container_sa_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_b200_quectel.xml @@ -165,7 +165,7 @@ Iperf - iperf (DL/TCP)(30 sec)(multi-ue profile) + iperf (DL/TCP)(30 sec)(single-ue profile) -t 30 -R idefix sabox-nepes @@ -174,7 +174,7 @@ Iperf - iperf (UL/TCP)(30 sec)(multi-ue profile) + iperf (UL/TCP)(30 sec)(single-ue profile) -t 30 idefix sabox-nepes diff --git a/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml b/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml index af550ad4b6..b888cdb855 100644 --- a/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_e1_b200_quectel.xml @@ -157,7 +157,7 @@ Iperf - iperf (DL/TCP)(30 sec)(multi-ue profile) + iperf (DL/TCP)(30 sec)(single-ue profile) -t 30 -R idefix sabox-nepes @@ -166,7 +166,7 @@ Iperf - iperf (UL/TCP)(30 sec)(multi-ue profile) + iperf (UL/TCP)(30 sec)(single-ue profile) -t 30 idefix sabox-nepes diff --git a/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml b/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml index 9d9ff62012..df69f4c32c 100644 --- a/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_f1_b200_quectel.xml @@ -189,7 +189,7 @@ Iperf - iperf (DL/TCP)(30 sec)(multi-ue profile) + iperf (DL/TCP)(30 sec)(single-ue profile) -t 30 -R idefix sabox-nepes @@ -198,7 +198,7 @@ Iperf - iperf (UL/TCP)(30 sec)(multi-ue profile) + iperf (UL/TCP)(30 sec)(single-ue profile) -t 30 idefix sabox-nepes diff --git a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml index e1fb0f5318..4c1e2ab506 100644 --- a/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml +++ b/ci-scripts/xml_files/container_sa_sc_b200_quectel.xml @@ -159,7 +159,7 @@ Iperf - iperf (DL/TCP)(30 sec)(multi-ue profile) + iperf (DL/TCP)(30 sec)(single-ue profile) -t 30 -R idefix sabox-nepes @@ -168,7 +168,7 @@ Iperf - iperf (UL/TCP)(30 sec)(multi-ue profile) + iperf (UL/TCP)(30 sec)(single-ue profile) -t 30 idefix sabox-nepes From 65548167219a58e58de884da2f82c4859ef41a7f Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Wed, 17 Apr 2024 16:13:24 +0200 Subject: [PATCH 6/8] AW2S pipeline: Connect 16th UE after TCP tests with 15 UEs --- ci-scripts/xml_files/container_sa_aw2s_asue.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue.xml b/ci-scripts/xml_files/container_sa_aw2s_asue.xml index 3885fbdd8e..820e414ffb 100644 --- a/ci-scripts/xml_files/container_sa_aw2s_asue.xml +++ b/ci-scripts/xml_files/container_sa_aw2s_asue.xml @@ -48,9 +48,9 @@ 000100 000010 000020 - 002016 000030 000040 + 002016 000200 003000 004000 From bb078e61e00bb86d50881338c471110d30ecd965 Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Thu, 18 Apr 2024 13:01:59 +0200 Subject: [PATCH 7/8] Create functions for OC CN deployment/undeployment These functions enables (un)deployment of the OAI CN v2.0.1, increase reliability and speedup overall CN (un)deployment compared to current implementation. Use "--wait" helm option to wait for deployment/undeployment of the CN. Wait for pods to be in a ready state before marking the release as successful. If not deployed/undeployed before timeout, marked as unsuccessful. Hardcode path for OC CN5G deployment/undeployment --- ci-scripts/cls_cluster.py | 48 +++++++++++++++++++++++++++ ci-scripts/epc.py | 70 +++++++-------------------------------- 2 files changed, 60 insertions(+), 58 deletions(-) diff --git a/ci-scripts/cls_cluster.py b/ci-scripts/cls_cluster.py index c8b0ce818b..d35b73890b 100644 --- a/ci-scripts/cls_cluster.py +++ b/ci-scripts/cls_cluster.py @@ -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 = "" diff --git a/ci-scripts/epc.py b/ci-scripts/epc.py index c5a35c59a3..fb5aa8cde6 100644 --- a/ci-scripts/epc.py +++ b/ci-scripts/epc.py @@ -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() From da57e23637308ff282e624a1d997573c115d5318 Mon Sep 17 00:00:00 2001 From: Jaroslava Fiedlerova Date: Thu, 25 Apr 2024 22:21:58 +0200 Subject: [PATCH 8/8] Update config files for SA 2x2 pipeline --- .../conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf | 9 +-------- .../conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf | 11 +---------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf b/ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf index fb19d44985..2ad639f727 100644 --- a/ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf +++ b/ci-scripts/conf_files/gnb.sa.band77.162prb.usrpn310.2x2.conf @@ -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 }; diff --git a/ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf b/ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf index efe4bbcec8..c8a578a738 100644 --- a/ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf +++ b/ci-scripts/conf_files/gnb.sa.band77.273prb.usrpn310.2x2.conf @@ -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 }