From e72b6fc4485a5d50a5130237d691ecf753c9a68d Mon Sep 17 00:00:00 2001 From: francescomani Date: Wed, 7 Dec 2022 09:51:13 +0100 Subject: [PATCH 01/18] Bugfix for fr2 xlsch bitmap --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c index 84f90d48ae..6849b84c4a 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c @@ -108,8 +108,7 @@ void clear_nr_nfapi_information(gNB_MAC_INST * gNB, } bool is_xlsch_in_slot(uint64_t bitmap, sub_frame_t slot) { - if (slot>=64) return false; //quickfix for FR2 where there are more than 64 slots (bitmap to be removed) - return (bitmap >> slot) & 0x01; + return (bitmap >> (slot % 64)) & 0x01; } void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, From f67e0e3f02c20c4e267763ddd63c396543fe79cb Mon Sep 17 00:00:00 2001 From: francescomani Date: Wed, 7 Dec 2022 14:58:01 +0100 Subject: [PATCH 02/18] Phytest fix to re-enable scheduling pucch transmission at ue --- openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c index d93a4ada98..28237903af 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c @@ -1141,9 +1141,10 @@ int nr_ue_ul_indication(nr_uplink_indication_t *ul_info){ __FUNCTION__, __LINE__, ul_info->ue_sched_mode, mac->ra.ra_state); ret = nr_ue_scheduler(NULL, ul_info); - if (is_nr_UL_slot(tdd_UL_DL_ConfigurationCommon, ul_info->slot_tx, mac->frame_type) && !get_softmodem_params()->phy_test) { + if (is_nr_UL_slot(tdd_UL_DL_ConfigurationCommon, ul_info->slot_tx, mac->frame_type)) { nr_ue_pucch_scheduler(module_id, ul_info->frame_tx, ul_info->slot_tx, ul_info->phy_data); - nr_ue_prach_scheduler(module_id, ul_info->frame_tx, ul_info->slot_tx); + if (!get_softmodem_params()->phy_test) + nr_ue_prach_scheduler(module_id, ul_info->frame_tx, ul_info->slot_tx); } switch(ret){ From 235cd40c98d18cf084bc2881d8c22b5ebcb91fc9 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 16:59:37 +0100 Subject: [PATCH 03/18] Change default EPS bearer/PDU session ID to 10 for do_ra --- openair2/RRC/NR/rrc_gNB_nsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/RRC/NR/rrc_gNB_nsa.c b/openair2/RRC/NR/rrc_gNB_nsa.c index b3eada8136..878a49c89d 100644 --- a/openair2/RRC/NR/rrc_gNB_nsa.c +++ b/openair2/RRC/NR/rrc_gNB_nsa.c @@ -164,7 +164,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_ ue_context_p->ue_context.rb_config = calloc(1,sizeof(NR_RRCReconfiguration_t)); if (get_softmodem_params()->phy_test == 1 || get_softmodem_params()->do_ra == 1 || get_softmodem_params()->sa == 1){ fill_default_rbconfig(ue_context_p->ue_context.rb_config, - 5 /* EPS bearer ID */, + 10 /* EPS bearer ID */, 1 /* drb ID */, NR_CipheringAlgorithm_nea0, NR_SecurityConfig__keyToUse_master); From 9d564f3691c33ae7e1fdfc3c0bb0266c7c713d88 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 12 Dec 2022 08:40:49 +0100 Subject: [PATCH 04/18] Hack: enable UL traffic in do-ra mode This commit enables UL traffic in do-ra mode by doing two changes: - configure SDAP to send traffic to TUN interface instead of GTP by abusing enb_flag=0 (i.e., setting UE mode for gNB SDAP) - manually enable RLC LCID in UE MAC, since nr_DRB_preconfiguration() statically enables one DRB bearer, without notifying MAC --- openair2/LAYER2/NR_MAC_UE/main_ue_nr.c | 1 + openair2/RRC/NR/rrc_gNB_nsa.c | 1 + 2 files changed, 2 insertions(+) diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c index d7162d9bf1..1e254ded42 100644 --- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c +++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c @@ -63,6 +63,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) { if (IS_SOFTMODEM_NOS1){ pdcp_layer_init(); nr_DRB_preconfiguration(nr_ue_mac_inst->crnti); + nr_ue_mac_inst->logicalChannelBearer_exist[0] = true; } // Allocate memory for ul_config_request in the mac instance. This is now a pointer and will // point to a list of structures (one for each UL slot) to store PUSCH scheduling parameters diff --git a/openair2/RRC/NR/rrc_gNB_nsa.c b/openair2/RRC/NR/rrc_gNB_nsa.c index 878a49c89d..b98dc2af40 100644 --- a/openair2/RRC/NR/rrc_gNB_nsa.c +++ b/openair2/RRC/NR/rrc_gNB_nsa.c @@ -374,6 +374,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_ } PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, rrc->module_id, GNB_FLAG_YES, ue_context_p->ue_id_rnti, 0, 0, rrc->module_id); + if (get_softmodem_params()->do_ra) ctxt.enb_flag = 0; LOG_W(RRC, "Calling RRC PDCP/RLC ASN1 request functions for protocol context %p with module_id %d, rnti %x, frame %d, subframe %d eNB_index %d \n", &ctxt, From 55455a03c0563bf4b7133c817d895db8625d1b6d Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 09:52:37 +0100 Subject: [PATCH 05/18] Install iperf in gNB and eNB containers --- docker/Dockerfile.eNB.ubuntu18 | 1 + docker/Dockerfile.gNB.ubuntu18 | 1 + 2 files changed, 2 insertions(+) diff --git a/docker/Dockerfile.eNB.ubuntu18 b/docker/Dockerfile.eNB.ubuntu18 index 565ee9b85d..f2a6ee16ee 100644 --- a/docker/Dockerfile.eNB.ubuntu18 +++ b/docker/Dockerfile.eNB.ubuntu18 @@ -50,6 +50,7 @@ RUN apt-get update && \ libconfig9 \ openssl \ net-tools \ + iperf \ iputils-ping \ iproute2 \ iperf \ diff --git a/docker/Dockerfile.gNB.ubuntu18 b/docker/Dockerfile.gNB.ubuntu18 index 29b68507a0..4ed4929891 100644 --- a/docker/Dockerfile.gNB.ubuntu18 +++ b/docker/Dockerfile.gNB.ubuntu18 @@ -50,6 +50,7 @@ RUN apt-get update && \ libconfig9 \ openssl \ net-tools \ + iperf \ iproute2 \ iputils-ping \ gdb \ From 35330baeea8670cb360b8c23bdf5445d5993b1ad Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 7 Dec 2022 14:19:18 +0100 Subject: [PATCH 06/18] CI: Fix AnalyzeIperf - Handle k(ilo) bytes - Fix magnitudes for kilo and giga - Correctly parse status line in iperf logs --- ci-scripts/cls_containerize.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index ab621a7cd7..4540f2a8a0 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -153,11 +153,11 @@ def AnalyzeBuildLogs(buildRoot, images, globalStatus): def AnalyzeIperf(cliOptions, clientReport, serverReport): req_bw = 1.0 # default iperf throughput, in Mbps - result = re.search('-b *(?P[0-9\.]+)(?P[KMG])', cliOptions) + result = re.search('-b *(?P[0-9\.]+)(?P[kKMG])', cliOptions) if result is not None: req_bw = float(result.group('iperf_bandwidth')) magn = result.group('magnitude') - if magn == "K": + if magn == "k" or magn == "K": req_bw /= 1000 elif magn == "G": req_bw *= 1000 @@ -180,7 +180,7 @@ def AnalyzeIperf(cliOptions, clientReport, serverReport): reportLine = clientReportLines[l+1] logging.debug(f'found server report: "{reportLine}"') - statusTemplate = '(?:|\[ *\d+\].*) +0\.0-(?P[0-9\.]+) +sec +[0-9\.]+ [KMG]Bytes +(?P[0-9\.]+) (?P[KMG])bits\/sec +(?P[0-9\.]+) ms +(\d+\/ ..\d+) +(\((?P[0-9\.]+)%\))' + statusTemplate = '(?:|\[ *\d+\].*) +0\.0-\s*(?P[0-9\.]+) +sec +[0-9\.]+ [kKMG]Bytes +(?P[0-9\.]+) (?P[kKMG])bits\/sec +(?P[0-9\.]+) ms +(\d+\/ ..\d+) +(\((?P[0-9\.]+)%\))' # if we do not find a server report in the client logs, check the server logs # and use the last line which is typically close/identical to server report if reportLine is None: @@ -201,10 +201,10 @@ def AnalyzeIperf(cliOptions, clientReport, serverReport): duration = float(result.group('duration')) bitrate = float(result.group('bitrate')) magn = result.group('magnitude') - if magn == "K": - bitrate *= 1000 - elif magn == "G": # we assume bitrate in Mbps, therefore it must be G now + if magn == "k" or magn == "K": bitrate /= 1000 + elif magn == "G": # we assume bitrate in Mbps, therefore it must be G now + bitrate *= 1000 jitter = float(result.group('jitter')) packetloss = float(result.group('packetloss')) From 6e43b1f12d731c20b199b0309c6b9ffeb0543525 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 12 Dec 2022 23:39:07 +0100 Subject: [PATCH 07/18] Fix tab names for 5G RFsim TDD SA test --- ci-scripts/xml_files/container_5g_rfsim.xml | 2 +- ci-scripts/xml_files/container_5g_rfsim_down.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci-scripts/xml_files/container_5g_rfsim.xml b/ci-scripts/xml_files/container_5g_rfsim.xml index b43265a8b4..86e5159264 100644 --- a/ci-scripts/xml_files/container_5g_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_rfsim.xml @@ -22,7 +22,7 @@ --> rfsim-5gnr-tdd - Monolithic TDD gNB + Monolithic SA TDD gNB wrench 1 diff --git a/ci-scripts/xml_files/container_5g_rfsim_down.xml b/ci-scripts/xml_files/container_5g_rfsim_down.xml index a2f048a7f4..d1cfc340d4 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_down.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_down.xml @@ -22,7 +22,7 @@ --> rfsim-5gnr-down - CleanUp Monolithic TDD gNB + CleanUp SA Monolithic TDD gNB trash 100002 From 325e58bc10df9e6dedf61a9b42e5d9fc078cf14e Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 30 Nov 2022 17:51:00 +0100 Subject: [PATCH 08/18] Add docker-compose for 24 PRB 5G RFsim test --- .../gnb.sa.band78.fr1.24PRB.usrpb210.conf | 6 +- .../5g_rfsimulator_24prb/docker-compose.yaml | 299 ++++++++++++++++++ 2 files changed, 302 insertions(+), 3 deletions(-) create mode 100644 ci-scripts/yaml_files/5g_rfsimulator_24prb/docker-compose.yaml diff --git a/ci-scripts/conf_files/gnb.sa.band78.fr1.24PRB.usrpb210.conf b/ci-scripts/conf_files/gnb.sa.band78.fr1.24PRB.usrpb210.conf index 1defbf91ed..6419dedf43 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.fr1.24PRB.usrpb210.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.fr1.24PRB.usrpb210.conf @@ -166,7 +166,7 @@ gNBs = ////////// AMF parameters: - amf_ip_address = ( { ipv4 = "192.168.70.132"; + amf_ip_address = ( { ipv4 = "192.168.71.132"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -177,9 +177,9 @@ gNBs = NETWORK_INTERFACES : { GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai"; - GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24"; + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.140/24"; GNB_INTERFACE_NAME_FOR_NGU = "demo-oai"; - GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.140/24"; GNB_PORT_FOR_S1U = 2152; # Spec 2152 }; diff --git a/ci-scripts/yaml_files/5g_rfsimulator_24prb/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator_24prb/docker-compose.yaml new file mode 100644 index 0000000000..683c6bd9e6 --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_24prb/docker-compose.yaml @@ -0,0 +1,299 @@ +version: '3.8' +services: + oai-nrf: + container_name: "rfsim5g-oai-nrf" + image: oai-nrf:august-dev + environment: + - NRF_INTERFACE_NAME_FOR_SBI=eth0 + - NRF_INTERFACE_PORT_FOR_SBI=80 + - NRF_INTERFACE_HTTP2_PORT_FOR_SBI=9090 + - NRF_API_VERSION=v1 + - INSTANCE=0 + - PID_DIRECTORY=/var/run + networks: + public_net: + ipv4_address: 192.168.71.130 + volumes: + - ../5g_rfsimulator/nrf-healthcheck.sh:/openair-nrf/bin/nrf-healthcheck.sh + healthcheck: + test: /bin/bash -c "/openair-nrf/bin/nrf-healthcheck.sh" + interval: 10s + timeout: 5s + retries: 5 + + mysql: + container_name: "rfsim5g-mysql" + image: mysql:5.7 + volumes: + - ../5g_rfsimulator/oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql + - ../5g_rfsimulator/mysql-healthcheck.sh:/tmp/mysql-healthcheck.sh + environment: + - TZ=Europe/Paris + - MYSQL_DATABASE=oai_db + - MYSQL_USER=test + - MYSQL_PASSWORD=test + - MYSQL_ROOT_PASSWORD=linux + healthcheck: + test: /bin/bash -c "/tmp/mysql-healthcheck.sh" + interval: 10s + timeout: 5s + retries: 5 + networks: + public_net: + ipv4_address: 192.168.71.131 + + oai-amf: + container_name: "rfsim5g-oai-amf" + image: oai-amf:august-dev + environment: + - TZ=Europe/paris + - INSTANCE=0 + - PID_DIRECTORY=/var/run + - MCC=208 + - MNC=99 + - REGION_ID=128 + - AMF_SET_ID=1 + - SERVED_GUAMI_MCC_0=208 + - SERVED_GUAMI_MNC_0=99 + - SERVED_GUAMI_REGION_ID_0=128 + - SERVED_GUAMI_AMF_SET_ID_0=1 + - SERVED_GUAMI_MCC_1=460 + - SERVED_GUAMI_MNC_1=11 + - SERVED_GUAMI_REGION_ID_1=10 + - SERVED_GUAMI_AMF_SET_ID_1=1 + - PLMN_SUPPORT_MCC=208 + - PLMN_SUPPORT_MNC=99 + - PLMN_SUPPORT_TAC=0x0001 + - SST_0=1 + - SD_0=0xffffff + - SST_1=1 + - SD_1=1 + - AMF_INTERFACE_NAME_FOR_NGAP=eth0 + - AMF_INTERFACE_NAME_FOR_N11=eth0 + - SMF_INSTANCE_ID_0=1 + - SMF_FQDN_0=oai-smf + - SMF_IPV4_ADDR_0=0.0.0.0 + - SMF_HTTP_VERSION_0=v1 + - SELECTED_0=true + - SMF_INSTANCE_ID_1=2 + - SMF_FQDN_1=oai-smf + - SMF_IPV4_ADDR_1=0.0.0.0 + - SMF_HTTP_VERSION_1=v1 + - SELECTED_1=false + - MYSQL_SERVER=192.168.71.131 + - MYSQL_USER=root + - MYSQL_PASS=linux + - MYSQL_DB=oai_db + - OPERATOR_KEY=c42449363bbad02b66d16bc975d77cc1 + - NRF_IPV4_ADDRESS=192.168.71.130 + - NRF_PORT=80 + - NF_REGISTRATION=yes + - SMF_SELECTION=yes + - USE_FQDN_DNS=yes + - NRF_API_VERSION=v1 + - NRF_FQDN=oai-nrf + - EXTERNAL_AUSF=no + - AUSF_IPV4_ADDRESS=0.0.0.0 + - AUSF_PORT=80 + - AUSF_API_VERSION=v1 + - AUSF_FQDN=localhost + depends_on: + - oai-nrf + - mysql + volumes: + - ../5g_rfsimulator/amf-healthcheck.sh:/openair-amf/bin/amf-healthcheck.sh + healthcheck: + test: /bin/bash -c "/openair-amf/bin/amf-healthcheck.sh" + interval: 10s + timeout: 15s + retries: 5 + networks: + public_net: + ipv4_address: 192.168.71.132 + + oai-smf: + container_name: "rfsim5g-oai-smf" + image: oai-smf:august-dev + environment: + - TZ=Europe/Paris + - INSTANCE=0 + - PID_DIRECTORY=/var/run + - SMF_INTERFACE_NAME_FOR_N4=eth0 + - SMF_INTERFACE_NAME_FOR_SBI=eth0 + - SMF_INTERFACE_PORT_FOR_SBI=80 + - SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090 + - SMF_API_VERSION=v1 + - DEFAULT_DNS_IPV4_ADDRESS=172.21.3.100 + - DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4 + - AMF_IPV4_ADDRESS=0.0.0.0 + - AMF_PORT=80 + - AMF_API_VERSION=v1 + - AMF_FQDN=oai-amf + - UDM_IPV4_ADDRESS=127.0.0.1 + - UDM_PORT=80 + - UDM_API_VERSION=v1 + - UDM_FQDN=localhost + - UPF_IPV4_ADDRESS=192.168.71.134 + - UPF_FQDN_0=oai-spgwu + - NRF_IPV4_ADDRESS=192.168.71.130 + - NRF_PORT=80 + - NRF_API_VERSION=v1 + - NRF_FQDN=oai-nrf + - REGISTER_NRF=yes + - DISCOVER_UPF=yes + - USE_FQDN_DNS=yes + - DNN_NI0=oai + - TYPE0=IPv4 + - DNN_RANGE0=12.1.1.2 - 12.1.1.127 + - NSSAI_SST0=1 + - NSSAI_SD0=0xFFFFFF + - SESSION_AMBR_UL0=200Mbps + - SESSION_AMBR_DL0=400Mbps + - DNN_NI2=oai.ipv4 + depends_on: + - oai-nrf + - oai-amf + volumes: + - ../5g_rfsimulator/smf-healthcheck.sh:/openair-smf/bin/smf-healthcheck.sh + healthcheck: + test: /bin/bash -c "/openair-smf/bin/smf-healthcheck.sh" + interval: 10s + timeout: 5s + retries: 5 + networks: + public_net: + ipv4_address: 192.168.71.133 + + oai-spgwu: + container_name: "rfsim5g-oai-spgwu" + image: oai-spgwu-tiny:august-dev + environment: + - TZ=Europe/Paris + - PID_DIRECTORY=/var/run + - SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0 + - SGW_INTERFACE_NAME_FOR_SX=eth0 + - PGW_INTERFACE_NAME_FOR_SGI=eth0 + - NETWORK_UE_NAT_OPTION=yes + - NETWORK_UE_IP=12.1.1.0/24 + - SPGWC0_IP_ADDRESS=192.168.71.133 + - BYPASS_UL_PFCP_RULES=no + - MCC=208 + - MNC=99 + - MNC03=099 + - TAC=1 + - GTP_EXTENSION_HEADER_PRESENT=yes + - GW_ID=1 + - REALM=openairinterface.org + - ENABLE_5G_FEATURES=yes + - REGISTER_NRF=yes + - USE_FQDN_NRF=yes + - UPF_FQDN_5G=oai-spgwu + - NRF_IPV4_ADDRESS=192.168.71.130 + - NRF_PORT=80 + - NRF_API_VERSION=v1 + - NRF_FQDN=oai-nrf + - NSSAI_SST_0=1 + - NSSAI_SD_0=0xffffff + - DNN_0=oai + depends_on: + - oai-nrf + - oai-smf + cap_add: + - NET_ADMIN + - SYS_ADMIN + cap_drop: + - ALL + privileged: true + volumes: + - ../5g_rfsimulator/spgwu-healthcheck.sh:/openair-spgwu-tiny/bin/spgwu-healthcheck.sh + healthcheck: + test: /bin/bash -c "/openair-spgwu-tiny/bin/spgwu-healthcheck.sh" + interval: 10s + timeout: 5s + retries: 5 + networks: + public_net: + ipv4_address: 192.168.71.134 + traffic_net: + ipv4_address: 192.168.72.134 + + oai-ext-dn: + image: ubuntu:bionic + privileged: true + container_name: rfsim5g-oai-ext-dn + entrypoint: /bin/bash -c \ + "apt update; apt install -y procps iptables iproute2 iperf iputils-ping;"\ + "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\ + "ip route add 12.1.1.0/24 via 192.168.72.134 dev eth0; sleep infinity" + depends_on: + - oai-spgwu + networks: + traffic_net: + ipv4_address: 192.168.72.135 + healthcheck: + test: /bin/bash -c "ping -c 2 192.168.72.134" + interval: 10s + timeout: 5s + retries: 5 + + oai-gnb: + image: oai-gnb:develop + privileged: true + container_name: rfsim5g-oai-gnb + environment: + RFSIMULATOR: server + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --sa --rfsim --log_config.global_log_options level,nocolor,time + depends_on: + - oai-ext-dn + networks: + public_net: + ipv4_address: 192.168.71.140 + volumes: + - ../../conf_files/gnb.sa.band78.fr1.24PRB.usrpb210.conf:/opt/oai-gnb/etc/mounted.conf + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue: + image: oai-nr-ue:develop + privileged: true + container_name: rfsim5g-oai-nr-ue + environment: + RFSIMULATOR: 192.168.71.140 + FULL_IMSI: '208990100001100' + FULL_KEY: 'fec86ba6eb707ed08905757b1bb44b8f' + OPC: 'C42449363BBAD02B66D16BC975D77CC1' + DNN: oai + NSSAI_SST: 1 + USE_ADDITIONAL_OPTIONS: --sa --rfsim -r 24 --ssb 24 --numerology 1 -C 3604320000 --nokrnmod --log_config.global_log_options level,nocolor,time + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.71.150 + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + +networks: + public_net: + driver: bridge + name: rfsim5g-oai-public-net + ipam: + config: + - subnet: 192.168.71.128/26 + driver_opts: + com.docker.network.bridge.name: "rfsim5g-public" + traffic_net: + driver: bridge + name: rfsim5g-oai-traffic-net + ipam: + config: + - subnet: 192.168.72.128/26 + driver_opts: + com.docker.network.bridge.name: "rfsim5g-traffic" From 8091c9f17f1d292f599af826cea90f611158969b Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 30 Nov 2022 17:59:32 +0100 Subject: [PATCH 09/18] Add Container 5G RFsim 24PRB test XML --- .../xml_files/container_5g_rfsim_24prb.xml | 124 ++++++++++++++++++ .../container_5g_rfsim_24prb_down.xml | 45 +++++++ 2 files changed, 169 insertions(+) create mode 100644 ci-scripts/xml_files/container_5g_rfsim_24prb.xml create mode 100644 ci-scripts/xml_files/container_5g_rfsim_24prb_down.xml diff --git a/ci-scripts/xml_files/container_5g_rfsim_24prb.xml b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml new file mode 100644 index 0000000000..fea7e03e5e --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml @@ -0,0 +1,124 @@ + + + rfsim-24prb-5gnr-tdd + Monolithic SA TDD gNB 24PRB + wrench + 1 + + 111111 + 100001 + 000000 + 000001 + 000002 + 000003 + 020001 + 020002 + 030001 + 030002 + 100001 + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-gnb oai-nr-ue + + + + DeployGenObject + Deploy MySql Database + yaml_files/5g_rfsimulator_24prb + mysql + 1 + + + + DeployGenObject + Deploy OAI 5G CoreNetwork + yaml_files/5g_rfsimulator_24prb + oai-nrf oai-amf oai-smf oai-spgwu oai-ext-dn + 6 + + + + DeployGenObject + Deploy OAI 5G gNB RF sim SA + yaml_files/5g_rfsimulator_24prb + oai-gnb + 7 + + + + DeployGenObject + Deploy OAI 5G NR-UE RF sim SA + yaml_files/5g_rfsimulator_24prb + oai-nr-ue + 8 + + + + PingFromContainer + Ping ext-dn from NR-UE + rfsim5g-oai-nr-ue + -I oaitun_ue1 -c 20 -i0.2 192.168.72.135 + 5 + + + + PingFromContainer + Ping NR-UE from ext-dn + rfsim5g-oai-ext-dn + -c 20 12.1.1.2 -i0.2 + 5 + + + + IperfFromContainer + Iperf UDP Downlink + rfsim5g-oai-nr-ue + rfsim5g-oai-ext-dn + -B 12.1.1.2 -u -i 1 -s + -c 12.1.1.2 -u -i 1 -t 5 -b 3M + + + + IperfFromContainer + Iperf UDP Uplink + rfsim5g-oai-ext-dn + rfsim5g-oai-nr-ue + -u -i 1 -s + -B 12.1.1.2 -c 192.168.72.135 -u -i 1 -t 5 -b 1M + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_24prb + 1,0,0,0 + 1,0,0,0 + + + diff --git a/ci-scripts/xml_files/container_5g_rfsim_24prb_down.xml b/ci-scripts/xml_files/container_5g_rfsim_24prb_down.xml new file mode 100644 index 0000000000..9a16ed2723 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_24prb_down.xml @@ -0,0 +1,45 @@ + + + rfsim-24prb-5gnr-down + CleanUp Monolithic SA TDD gNB 24PRB + trash + + 100002 + 222222 + + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_24prb + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + + + From bc12d222bb051577aee450607572bc7d1379fff7 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 09:28:53 +0100 Subject: [PATCH 10/18] Add docker-compose for FDD phytest 5G RFsim test --- .../docker-compose.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest/docker-compose.yaml diff --git a/ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest/docker-compose.yaml new file mode 100644 index 0000000000..1487aa26c0 --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_fdd_phytest/docker-compose.yaml @@ -0,0 +1,59 @@ +version: '3.8' +services: + oai-gnb: + image: oai-gnb:develop + privileged: true + container_name: rfsim5g-oai-gnb + environment: + RFSIMULATOR: server + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --phy-test --rfsim --noS1 --nokrnmod --log_config.global_log_options level,nocolor,time + networks: + public_net: + ipv4_address: 192.168.71.140 + volumes: + - ../../conf_files/gnb.band66.tm1.106PRB.usrpn300.conf:/opt/oai-gnb/etc/mounted.conf + - rrc.config:/opt/oai-gnb/ + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue: + image: oai-nr-ue:develop + privileged: true + container_name: rfsim5g-oai-nr-ue + environment: + RFSIMULATOR: 192.168.71.140 + FULL_IMSI: '208930100001100' + FULL_KEY: 'fec86ba6eb707ed08905757b1bb44b8f' + OPC: 'C42449363BBAD02B66D16BC975D77CC1' + DNN: oai + NSSAI_SST: 1 + USE_ADDITIONAL_OPTIONS: --phy-test --rfsim --noS1 --nokrnmod --rrc_config_path etc/rrc/ --log_config.global_log_options level,nocolor,time + volumes: + - rrc.config:/opt/oai-nr-ue/etc/rrc/ + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.71.150 + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + +volumes: + rrc.config: + +networks: + public_net: + driver: bridge + name: rfsim5g-oai-public-net + ipam: + config: + - subnet: 192.168.71.128/26 + driver_opts: + com.docker.network.bridge.name: "rfsim5g-public" From 40f951f13dc84d7588d95fb53f15f2761a4f0c03 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 09:51:55 +0100 Subject: [PATCH 11/18] Add Container 5G RFsim FDD phytest test XML --- .../container_5g_rfsim_fdd_phytest.xml | 106 ++++++++++++++++++ .../container_5g_rfsim_fdd_phytest_down.xml | 45 ++++++++ 2 files changed, 151 insertions(+) create mode 100644 ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml create mode 100644 ci-scripts/xml_files/container_5g_rfsim_fdd_phytest_down.xml diff --git a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml new file mode 100644 index 0000000000..4d86cd69ef --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml @@ -0,0 +1,106 @@ + + + rfsim-5gnr-fdd-phytest + Monolithic FDD phytest gNB + wrench + 1 + + 111111 + 100011 + 000010 + 000011 + 020011 + 020012 + 030011 + 030012 + 100011 + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-gnb oai-nr-ue + + + + DeployGenObject + Deploy OAI 5G gNB RF sim SA + yaml_files/5g_rfsimulator_fdd_phytest + oai-gnb + 1 + + + + DeployGenObject + Deploy OAI 5G NR-UE RF sim SA + yaml_files/5g_rfsimulator_fdd_phytest + oai-nr-ue + 2 + + + + PingFromContainer + Ping gNB from NR-UE + rfsim5g-oai-nr-ue + -c20 -i0.2 10.0.1.1 + 0 + + + + PingFromContainer + Ping NR-UE from gNB + rfsim5g-oai-gnb + -c20 -i0.2 10.0.1.2 + 0 + + + + IperfFromContainer + Iperf UDP Downlink + rfsim5g-oai-nr-ue + rfsim5g-oai-gnb + -sui1 -B10.0.1.2 + -uc10.0.1.2 -i1 -t10 -b30k -B10.0.1.1 + + + + IperfFromContainer + Iperf UDP Uplink + rfsim5g-oai-gnb + rfsim5g-oai-nr-ue + -sui1 -B10.0.1.1 + -uc10.0.1.1 -i1 -t10 -b30k -B10.0.1.2 + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_fdd_phytest + 10,100,100,100 + 10,100,100,100 + + + diff --git a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest_down.xml b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest_down.xml new file mode 100644 index 0000000000..69d44911b1 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest_down.xml @@ -0,0 +1,45 @@ + + + rfsim-5gnr-fdd-phytest-down + CleanUp Monolithic FDD phytest gNB + trash + + 100012 + 222222 + + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_fdd_phytest + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + + + From ebd4d8d628766c7ab9e09b8a7dcf378ae691db35 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 15:36:37 +0100 Subject: [PATCH 12/18] Add docker-compose for TDD do-ra 5G RFsim test --- .../docker-compose.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ci-scripts/yaml_files/5g_rfsimulator_tdd_dora/docker-compose.yaml diff --git a/ci-scripts/yaml_files/5g_rfsimulator_tdd_dora/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator_tdd_dora/docker-compose.yaml new file mode 100644 index 0000000000..9f080478c7 --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_tdd_dora/docker-compose.yaml @@ -0,0 +1,59 @@ +version: '3.8' +services: + oai-gnb: + image: oai-gnb:develop + privileged: true + container_name: rfsim5g-oai-gnb + environment: + RFSIMULATOR: server + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --do-ra --rfsim --noS1 --nokrnmod --log_config.global_log_options level,nocolor,time + networks: + public_net: + ipv4_address: 192.168.71.140 + volumes: + - ../../conf_files/gnb.band78.tm1.106PRB.usrpn300.conf:/opt/oai-gnb/etc/mounted.conf + - rrc.config:/opt/oai-gnb/ + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue: + image: oai-nr-ue:develop + privileged: true + container_name: rfsim5g-oai-nr-ue + environment: + RFSIMULATOR: 192.168.71.140 + FULL_IMSI: '208930100001100' + FULL_KEY: 'fec86ba6eb707ed08905757b1bb44b8f' + OPC: 'C42449363BBAD02B66D16BC975D77CC1' + DNN: oai + NSSAI_SST: 1 + USE_ADDITIONAL_OPTIONS: --do-ra --rfsim --noS1 --rrc_config_path etc/rrc/ --nokrnmod --log_config.global_log_options level,nocolor,time + volumes: + - rrc.config:/opt/oai-nr-ue/etc/rrc/ + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.71.150 + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + +volumes: + rrc.config: + +networks: + public_net: + driver: bridge + name: rfsim5g-oai-public-net + ipam: + config: + - subnet: 192.168.71.128/26 + driver_opts: + com.docker.network.bridge.name: "rfsim5g-public" From bb9df947eb9ebc656f53b6af2ee2dc666556e957 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 16:07:53 +0100 Subject: [PATCH 13/18] Add Container 5G RFsim TDD do-ra test XML --- .../xml_files/container_5g_rfsim_tdd_dora.xml | 86 +++++++++++++++++++ .../container_5g_rfsim_tdd_dora_down.xml | 45 ++++++++++ 2 files changed, 131 insertions(+) create mode 100644 ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml create mode 100644 ci-scripts/xml_files/container_5g_rfsim_tdd_dora_down.xml diff --git a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml new file mode 100644 index 0000000000..095986b751 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml @@ -0,0 +1,86 @@ + + + rfsim-tdd-dora-5gnr-tdd + Monolithic do-ra TDD gNB + wrench + 1 + + 111111 + 100001 + 000000 + 000001 + 020001 + 020002 + 100001 + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-gnb oai-nr-ue + + + + DeployGenObject + Deploy OAI gNB + yaml_files/5g_rfsimulator_tdd_dora + oai-gnb + 1 + + + + DeployGenObject + Deploy OAI NR-UE + yaml_files/5g_rfsimulator_tdd_dora + oai-nr-ue + 2 + + + + PingFromContainer + Ping gNB from NR-UE + rfsim5g-oai-nr-ue + -c20 -i0.2 10.0.1.1 + 0 + + + + PingFromContainer + Ping NR-UE from gNB + rfsim5g-oai-gnb + -c20 -i0.2 10.0.1.2 + 0 + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_tdd_dora + 0,0,0,0 + 0,0,0,0 + + + diff --git a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora_down.xml b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora_down.xml new file mode 100644 index 0000000000..e0e6119ca2 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora_down.xml @@ -0,0 +1,45 @@ + + + rfsim-tdd-dora-5gnr-down + CleanUp Monolithic do-ra TDD gNB + trash + + 100002 + 222222 + + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_tdd_dora + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + + + From c4c03a48accd64967e547f3e9ece320ae1f7b114 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 15:43:34 +0100 Subject: [PATCH 14/18] Add docker-compose for FR2 32PRB 5G RFsim test --- .../docker-compose.yaml | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb/docker-compose.yaml diff --git a/ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb/docker-compose.yaml new file mode 100644 index 0000000000..11264e5348 --- /dev/null +++ b/ci-scripts/yaml_files/5g_rfsimulator_fr2_32prb/docker-compose.yaml @@ -0,0 +1,59 @@ +version: '3.8' +services: + oai-gnb: + image: oai-gnb:develop + privileged: true + container_name: rfsim5g-oai-gnb + environment: + RFSIMULATOR: server + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --do-ra --rfsim --noS1 --nokrnmod --log_config.global_log_options level,nocolor,time + networks: + public_net: + ipv4_address: 192.168.71.140 + volumes: + - ../../conf_files/gnb.band261.tm1.32PRB.usrpn300.conf:/opt/oai-gnb/etc/mounted.conf + - rrc.config:/opt/oai-gnb/ + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + + oai-nr-ue: + image: oai-nr-ue:develop + privileged: true + container_name: rfsim5g-oai-nr-ue + environment: + RFSIMULATOR: 192.168.71.140 + FULL_IMSI: '311480100001100' + FULL_KEY: 'fec86ba6eb707ed08905757b1bb44b8f' + OPC: 'C42449363BBAD02B66D16BC975D77CC1' + DNN: oai + NSSAI_SST: 1 + USE_ADDITIONAL_OPTIONS: --do-ra --rfsim --noS1 --rrc_config_path etc/rrc/ --nokrnmod --log_config.global_log_options level,nocolor,time + volumes: + - rrc.config:/opt/oai-nr-ue/etc/rrc/ + depends_on: + - oai-gnb + networks: + public_net: + ipv4_address: 192.168.71.150 + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + +volumes: + rrc.config: + +networks: + public_net: + driver: bridge + name: rfsim5g-oai-public-net + ipam: + config: + - subnet: 192.168.71.128/26 + driver_opts: + com.docker.network.bridge.name: "rfsim5g-public" From 3608f5cfb57292fc4d4731a61abb04399b279f98 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 16:10:28 +0100 Subject: [PATCH 15/18] Add Container 5G RFsim FR2 32PRB test XML --- .../container_5g_rfsim_fr2_32prb.xml | 86 +++++++++++++++++++ .../container_5g_rfsim_fr2_32prb_down.xml | 45 ++++++++++ 2 files changed, 131 insertions(+) create mode 100644 ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml create mode 100644 ci-scripts/xml_files/container_5g_rfsim_fr2_32prb_down.xml diff --git a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml new file mode 100644 index 0000000000..b6209e871c --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml @@ -0,0 +1,86 @@ + + + rfsim-fr2-32prb-5gnr-tdd + Monolithic FR2 do-ra gNB + wrench + 1 + + 111111 + 100001 + 000000 + 000001 + 020001 + 020002 + 100001 + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-gnb oai-nr-ue + + + + DeployGenObject + Deploy OAI gNB + yaml_files/5g_rfsimulator_fr2_32prb + oai-gnb + 1 + + + + DeployGenObject + Deploy OAI NR-UE + yaml_files/5g_rfsimulator_fr2_32prb + oai-nr-ue + 2 + + + + PingFromContainer + Ping gNB from NR-UE + rfsim5g-oai-nr-ue + -c20 -i0.2 10.0.1.1 + 0 + + + + PingFromContainer + Ping NR-UE from gNB + rfsim5g-oai-gnb + -c20 -i0.2 10.0.1.2 + 0 + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_fr2_32prb + 0,0,0,0 + 0,0,0,0 + + + diff --git a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb_down.xml b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb_down.xml new file mode 100644 index 0000000000..6dd65eaa85 --- /dev/null +++ b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb_down.xml @@ -0,0 +1,45 @@ + + + rfsim-fr2-32prb-5gnr-down + CleanUp Monolithic FR2 do-ra gNB + trash + + 100002 + 222222 + + + + + UndeployGenObject + Undeploy all OAI 5G stack + yaml_files/5g_rfsimulator_fr2_32prb + + + + Clean_Test_Server_Images + Clean Test Images on Test Server + 0 + + + From d64921a24f5b849ad74b9334a12a5a7a1a3f9cf4 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 1 Dec 2022 10:51:32 +0100 Subject: [PATCH 16/18] Deactivate legacy 5G RFsim pipeline --- ci-scripts/buildOnVM.sh | 2 +- ci-scripts/createVM.sh | 2 +- ci-scripts/runTestOnVM.sh | 10 ++-------- ci-scripts/waitBuildOnVM.sh | 4 ++-- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/ci-scripts/buildOnVM.sh b/ci-scripts/buildOnVM.sh index 05b74349e1..4df0d22e09 100755 --- a/ci-scripts/buildOnVM.sh +++ b/ci-scripts/buildOnVM.sh @@ -62,7 +62,7 @@ function build_on_vm { echo "ARCHIVES_LOC = $ARCHIVES_LOC" echo "BUILD_OPTIONS = $BUILD_OPTIONS" - if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] + if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] || [[ "$VM_NAME" == *"rf5g-sim"* ]] || [[ "$VM_NAME" == *"gnb-usrp"* ]] || [[ "$VM_NAME" == *"nr-ue-usrp"* ]] then echo "This VM type is no longer supported in the pipeline framework" return diff --git a/ci-scripts/createVM.sh b/ci-scripts/createVM.sh index 8dc739f0ac..ec9b6169bd 100755 --- a/ci-scripts/createVM.sh +++ b/ci-scripts/createVM.sh @@ -87,7 +87,7 @@ function create_vm { echo "VM_CPU = $VM_CPU" echo "VM_DISK = $VM_DISK GBytes" - if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] + if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] || [[ "$VM_NAME" == *"rf5g-sim"* ]] then echo "This VM type is no longer supported in the pipeline framework" return diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh index a5994c6655..02f3fa9ad5 100755 --- a/ci-scripts/runTestOnVM.sh +++ b/ci-scripts/runTestOnVM.sh @@ -1305,14 +1305,8 @@ function run_test_on_vm { return elif [[ (( "$RUN_OPTIONS" == "complex" ) && ( $VM_NAME =~ .*-rf5g-sim.* )) ]] then - GNB_VM_NAME=`echo $VM_NAME | sed -e "s#rf5g-sim#gnb-usrp#"` - GNB_VM_CMDS=${GNB_VM_NAME}_cmds.txt - echo "GNB_VM_NAME = $GNB_VM_NAME" - echo "GNB_VM_CMD_FILE = $GNB_VM_CMDS" - NR_UE_VM_NAME=`echo $VM_NAME | sed -e "s#rf5g-sim#nr-ue-usrp#"` - NR_UE_VM_CMDS=${UE_VM_NAME}_cmds.txt - echo "NR_UE_VM_NAME = $NR_UE_VM_NAME" - echo "NR_UE_VM_CMD_FILE = $NR_UE_VM_CMDS" + echo "This VM test type is no longer supported in the pipeline framework" + return else echo "VM_NAME = $VM_NAME" echo "VM_CMD_FILE = $VM_CMDS" diff --git a/ci-scripts/waitBuildOnVM.sh b/ci-scripts/waitBuildOnVM.sh index bc67d0d6ac..8199215e2e 100755 --- a/ci-scripts/waitBuildOnVM.sh +++ b/ci-scripts/waitBuildOnVM.sh @@ -47,7 +47,7 @@ function wait_on_vm_build { echo "ARCHIVES_LOC = $ARCHIVES_LOC" echo "BUILD_OPTIONS = $BUILD_OPTIONS" - if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] + if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] || [[ "$VM_NAME" == *"rf5g-sim"* ]] || [[ "$VM_NAME" == *"gnb-usrp"* ]] || [[ "$VM_NAME" == *"nr-ue-usrp"* ]] then echo "This VM type is no longer supported in the pipeline framework" return @@ -93,7 +93,7 @@ function wait_on_vm_build { } function check_on_vm_build { - if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] + if [[ "$VM_NAME" == *"-enb-usrp"* ]] || [[ "$VM_NAME" == *"-cppcheck"* ]] || [[ "$VM_NAME" == *"-phy-sim"* ]] || [[ "$VM_NAME" == *"-basic-sim"* ]] || [[ "$VM_NAME" == *"-flexran-rtc"* ]] || [[ "$VM_NAME" == *"-rf-sim"* ]] || [[ "$VM_NAME" == *"-ethernet"* ]] || [[ "$VM_NAME" == *"rf5g-sim"* ]] || [[ "$VM_NAME" == *"gnb-usrp"* ]] || [[ "$VM_NAME" == *"nr-ue-usrp"* ]] then echo "This VM type is no longer supported in the pipeline framework" return From 12384bbe25e287abb0eddf8f0bd137309eb0815f Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Wed, 7 Dec 2022 08:40:06 +0100 Subject: [PATCH 17/18] Clean up phy_init_nr_gNB() - variable is_secondary_gnb is not used anywhere, so remove - variable lowmem is not used/defines should be changed, so remove --- ci-scripts/runTestOnVM.sh | 6 +++--- doc/RUN_NR_PRS.md | 4 ++-- executables/nr-gnb.c | 2 +- openair1/PHY/INIT/nr_init.c | 15 ++++----------- openair1/PHY/INIT/phy_init.h | 2 +- openair1/SIMULATION/NR_PHY/dlschsim.c | 2 +- openair1/SIMULATION/NR_PHY/dlsim.c | 2 +- openair1/SIMULATION/NR_PHY/pbchsim.c | 2 +- openair1/SIMULATION/NR_PHY/prachsim.c | 2 +- openair1/SIMULATION/NR_PHY/pucchsim.c | 2 +- openair1/SIMULATION/NR_PHY/ulschsim.c | 2 +- openair1/SIMULATION/NR_PHY/ulsim.c | 2 +- 12 files changed, 18 insertions(+), 25 deletions(-) diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh index 02f3fa9ad5..ad7e26be7c 100755 --- a/ci-scripts/runTestOnVM.sh +++ b/ci-scripts/runTestOnVM.sh @@ -1095,12 +1095,12 @@ function start_rf_sim_gnb { then if [ $LOC_RA_SA_TEST -eq 0 ] #no RA test => use --phy-test option then - echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem --noS1\" > ./my-nr-softmodem-run.sh " >> $1 + echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --noS1\" > ./my-nr-softmodem-run.sh " >> $1 elif [ $LOC_RA_SA_TEST -eq 1 ] #RA test => use --do-ra option then - echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --rfsim --do-ra --lowmem --noS1\" > ./my-nr-softmodem-run.sh " >> $1 + echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --rfsim --do-ra --noS1\" > ./my-nr-softmodem-run.sh " >> $1 else #SA test => use --sa option - echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --rfsim --sa --lowmem \" > ./my-nr-softmodem-run.sh " >> $1 + echo "echo \"./nr-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-$LOC_CONF_FILE --log_config.global_log_options level,nocolor,time --parallel-config PARALLEL_SINGLE_THREAD --rfsim --sa \" > ./my-nr-softmodem-run.sh " >> $1 fi fi echo "chmod 775 ./my-nr-softmodem-run.sh" >> $1 diff --git a/doc/RUN_NR_PRS.md b/doc/RUN_NR_PRS.md index 919796742e..9b69e0960b 100644 --- a/doc/RUN_NR_PRS.md +++ b/doc/RUN_NR_PRS.md @@ -71,7 +71,7 @@ If **N310 USRPs** are used, then run above command `without -E option` i.e witho To run using **rfsimulator**, execute following command: -```sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb0.sa.band78.fr1.106PRB.prs.usrpx310.conf --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem``` +```sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb0.sa.band78.fr1.106PRB.prs.usrpx310.conf --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test``` ## FR2 test In FR2 mode, we need RF beamforming module to transmit signal in mmWave frequency range. **X310 USRPs** can be used with BasicTx daughtercard to transmit baseband signal at **Intermediate Frequncy(IF)** and then RF beamforming module would perform beamforming and the upconversion to FR2 frequencies. IF can be specified using `if_freq` in the RU section of gNB config. @@ -83,7 +83,7 @@ If RF beamforming module is NOT present, gNB can still be launched with USRP alo To run using **rfsimulator**, execute following command: -```sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb0.sa.band261.fr2.64PRB.prs.usrpx310.conf --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test --lowmem``` +```sudo RFSIMULATOR=server ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb0.sa.band261.fr2.64PRB.prs.usrpx310.conf --parallel-config PARALLEL_SINGLE_THREAD --noS1 --nokrnmod 1 --rfsim --phy-test``` ## Multiple gNB scenario PRS is primarily used for positioning and localization of the UE with multiple gNBs transmitting simultaneously. OAI PRS implementation supports multiple gNB transmission provided all the gNBs are tightely synchronized using GPSDO clock. Therefore before running this scenario, make sure the USRPs has built-in GPSDO and the GPS antennas are connected with good satellite visibility. Also every time a gNB is launched, wait until `GPS LOCKED` is printed on the terminal during gNB startup. If USRP fails to lock with GPSDO, try again until its locked. diff --git a/executables/nr-gnb.c b/executables/nr-gnb.c index 63209862c4..852e805e6d 100644 --- a/executables/nr-gnb.c +++ b/executables/nr-gnb.c @@ -546,7 +546,7 @@ void init_eNB_afterRU(void) { gNB = RC.gNB[inst]; gNB->ldpc_offload_flag = ldpc_offload_flag; - phy_init_nr_gNB(gNB,0,0); + phy_init_nr_gNB(gNB); // map antennas and PRACH signals to gNB RX if (0) AssertFatal(gNB->num_RU>0,"Number of RU attached to gNB %d is zero\n",gNB->Mod_id); diff --git a/openair1/PHY/INIT/nr_init.c b/openair1/PHY/INIT/nr_init.c index 61ba1bd49f..6f983f613c 100644 --- a/openair1/PHY/INIT/nr_init.c +++ b/openair1/PHY/INIT/nr_init.c @@ -469,9 +469,8 @@ int init_codebook_gNB(PHY_VARS_gNB *gNB) { return 0; } -int phy_init_nr_gNB(PHY_VARS_gNB *gNB, - unsigned char is_secondary_gNB, - unsigned char lowmem_flag) { +int phy_init_nr_gNB(PHY_VARS_gNB *gNB) +{ // shortcuts NR_DL_FRAME_PARMS *const fp = &gNB->frame_parms; nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config; @@ -490,14 +489,8 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB, while(gNB->configured == 0) usleep(10000); - if (lowmem_flag == 1) { - gNB->number_of_nr_dlsch_max = 2; - gNB->number_of_nr_ulsch_max = 2; - } - else { - gNB->number_of_nr_dlsch_max = NUMBER_OF_NR_DLSCH_MAX; - gNB->number_of_nr_ulsch_max = NUMBER_OF_NR_ULSCH_MAX; - } + gNB->number_of_nr_dlsch_max = NUMBER_OF_NR_DLSCH_MAX; + gNB->number_of_nr_ulsch_max = NUMBER_OF_NR_ULSCH_MAX; load_dftslib(); diff --git a/openair1/PHY/INIT/phy_init.h b/openair1/PHY/INIT/phy_init.h index 22f41ba492..ed4b83fa5d 100644 --- a/openair1/PHY/INIT/phy_init.h +++ b/openair1/PHY/INIT/phy_init.h @@ -401,7 +401,7 @@ void term_nr_ue_signal(PHY_VARS_NR_UE *ue, int nb_connected_gNB); void init_nr_ue_transport(PHY_VARS_NR_UE *ue); void init_N_TA_offset(PHY_VARS_NR_UE *ue); void nr_dump_frame_parms(NR_DL_FRAME_PARMS *frame_parms); -int phy_init_nr_gNB(PHY_VARS_gNB *gNB, unsigned char is_secondary_gNB, unsigned char lowmem_flag); +int phy_init_nr_gNB(PHY_VARS_gNB *gNB); int init_codebook_gNB(PHY_VARS_gNB *gNB); void nr_phy_config_request(NR_PHY_Config_t *gNB); void nr_phy_config_request_sim(PHY_VARS_gNB *gNB,int N_RB_DL,int N_RB_UL,int mu,int Nid_cell,uint64_t position_in_burst); diff --git a/openair1/SIMULATION/NR_PHY/dlschsim.c b/openair1/SIMULATION/NR_PHY/dlschsim.c index 518a655f19..46c5ed636d 100644 --- a/openair1/SIMULATION/NR_PHY/dlschsim.c +++ b/openair1/SIMULATION/NR_PHY/dlschsim.c @@ -366,7 +366,7 @@ int main(int argc, char **argv) frame_parms->Ncp = extended_prefix_flag ? EXTENDED : NORMAL; crcTableInit(); nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_DL, mu, Nid_cell,SSB_positions); - phy_init_nr_gNB(gNB, 0, 1); //lowmem + phy_init_nr_gNB(gNB); //init_eNB_afterRU(); frame_length_complex_samples = frame_parms->samples_per_subframe; //frame_length_complex_samples_no_prefix = frame_parms->samples_per_subframe_wCP; diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index b9deeadfd8..0921d9d1e9 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -869,7 +869,7 @@ int main(int argc, char **argv) // reset preprocessor to the one of DLSIM after it has been set during // rrc_mac_config_req_gNB gNB_mac->pre_processor_dl = nr_dlsim_preprocessor; - phy_init_nr_gNB(gNB,0,1); + phy_init_nr_gNB(gNB); N_RB_DL = gNB->frame_parms.N_RB_DL; NR_UE_info_t *UE_info = RC.nrmac[0]->UE_info.list[0]; diff --git a/openair1/SIMULATION/NR_PHY/pbchsim.c b/openair1/SIMULATION/NR_PHY/pbchsim.c index 16396de9eb..8a2e062a7d 100644 --- a/openair1/SIMULATION/NR_PHY/pbchsim.c +++ b/openair1/SIMULATION/NR_PHY/pbchsim.c @@ -471,7 +471,7 @@ int main(int argc, char **argv) frame_parms->freq_range = mu<2 ? nr_FR1 : nr_FR2; nr_phy_config_request_sim_pbchsim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions); - phy_init_nr_gNB(gNB,0,1); + phy_init_nr_gNB(gNB); frame_parms->ssb_start_subcarrier = 12 * gNB->gNB_config.ssb_table.ssb_offset_point_a.value + ssb_subcarrier_offset; uint8_t n_hf = 0; diff --git a/openair1/SIMULATION/NR_PHY/prachsim.c b/openair1/SIMULATION/NR_PHY/prachsim.c index 6df4896bc5..257fd31ea6 100644 --- a/openair1/SIMULATION/NR_PHY/prachsim.c +++ b/openair1/SIMULATION/NR_PHY/prachsim.c @@ -673,7 +673,7 @@ int main(int argc, char **argv){ memcpy((void*)&ru->config,(void*)&RC.gNB[0]->gNB_config,sizeof(ru->config)); RC.nb_nr_L1_inst=1; - phy_init_nr_gNB(gNB,0,1); //lowmem + phy_init_nr_gNB(gNB); nr_phy_init_RU(ru); set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4); diff --git a/openair1/SIMULATION/NR_PHY/pucchsim.c b/openair1/SIMULATION/NR_PHY/pucchsim.c index 3f0e493f3e..04976c1dc0 100644 --- a/openair1/SIMULATION/NR_PHY/pucchsim.c +++ b/openair1/SIMULATION/NR_PHY/pucchsim.c @@ -404,7 +404,7 @@ int main(int argc, char **argv) cfg->carrier_config.num_tx_ant.value = n_tx; cfg->carrier_config.num_rx_ant.value = n_rx; nr_phy_config_request_sim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions); - phy_init_nr_gNB(gNB,0,0); + phy_init_nr_gNB(gNB); /* RU handles rxdataF, and gNB just has a pointer. Here, we don't have an RU, * so we need to allocate that memory as well. */ for (i = 0; i < n_rx; i++) diff --git a/openair1/SIMULATION/NR_PHY/ulschsim.c b/openair1/SIMULATION/NR_PHY/ulschsim.c index 27f21515cc..54e0f2b87d 100644 --- a/openair1/SIMULATION/NR_PHY/ulschsim.c +++ b/openair1/SIMULATION/NR_PHY/ulschsim.c @@ -419,7 +419,7 @@ int main(int argc, char **argv) nr_phy_config_request_sim(gNB, N_RB_UL, N_RB_UL, mu, Nid_cell, SSB_positions); - phy_init_nr_gNB(gNB, 0, 1); //lowmem + phy_init_nr_gNB(gNB); //configure UE UE = malloc(sizeof(PHY_VARS_NR_UE)); diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index 5a99f2c4ce..274e680774 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -778,7 +778,7 @@ int main(int argc, char **argv) gNB->chest_freq = chest_type[0]; gNB->chest_time = chest_type[1]; - phy_init_nr_gNB(gNB,0,1); + phy_init_nr_gNB(gNB); /* RU handles rxdataF, and gNB just has a pointer. Here, we don't have an RU, * so we need to allocate that memory as well. */ for (i = 0; i < n_rx; i++) From 6d0eadcac25be7065189f432d98082396c2ce9c8 Mon Sep 17 00:00:00 2001 From: Sagar Arora Date: Tue, 13 Dec 2022 22:19:48 +0100 Subject: [PATCH 18/18] (fix): Manually assign physim pods to nodes The physim tests fail because, typically, the same tests gets assigned to the same node which then is overloaded. This MR assigns pods to different nodes to prevent this. --- .../charts/dlsim.100rb+tm2/templates/job.yaml | 5 ++++ .../charts/dlsim.basic/templates/job.yaml | 7 ++++- .../charts/ldpctest/templates/job.yaml | 7 ++++- .../charts/nr-dlschsim/templates/job.yaml | 7 ++++- .../charts/nr-dlsim.basic/templates/job.yaml | 7 ++++- .../nr-dlsim.dmrs+ptrs/templates/job.yaml | 7 ++++- .../nr-dlsim.mcs+mimo/templates/job.yaml | 7 ++++- .../charts/nr-dlsim.offset/templates/job.yaml | 7 ++++- .../nr-pbchsim.106rb/templates/job.yaml | 7 ++++- .../nr-pbchsim.217rb/templates/job.yaml | 7 ++++- .../nr-pbchsim.273rb/templates/job.yaml | 7 ++++- .../charts/nr-prachsim/templates/job.yaml | 7 ++++- .../charts/nr-pucchsim/templates/job.yaml | 7 ++++- .../charts/nr-ulschsim/templates/job.yaml | 7 ++++- .../charts/nr-ulsim.3gpp/templates/job.yaml | 7 ++++- .../charts/nr-ulsim.mimo/templates/job.yaml | 7 ++++- .../charts/nr-ulsim.misc/templates/job.yaml | 7 ++++- .../nr-ulsim.sc-fdma/templates/job.yaml | 7 ++++- .../charts/polartest/templates/job.yaml | 7 ++++- .../charts/smallblocktest/templates/job.yaml | 7 ++++- .../physims/charts/ulsim/templates/job.yaml | 7 ++++- charts/physims/values.yaml | 29 +++++++++++++++++-- 22 files changed, 151 insertions(+), 23 deletions(-) diff --git a/charts/physims/charts/dlsim.100rb+tm2/templates/job.yaml b/charts/physims/charts/dlsim.100rb+tm2/templates/job.yaml index d42742ffb8..fdd12deb8f 100644 --- a/charts/physims/charts/dlsim.100rb+tm2/templates/job.yaml +++ b/charts/physims/charts/dlsim.100rb+tm2/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.dlsim100rbtm2}} + nodeName: {{ .Values.global.nodeName.dlsim100rbtm2 }} + {{- end }} diff --git a/charts/physims/charts/dlsim.basic/templates/job.yaml b/charts/physims/charts/dlsim.basic/templates/job.yaml index 35e386b890..3c6d726217 100644 --- a/charts/physims/charts/dlsim.basic/templates/job.yaml +++ b/charts/physims/charts/dlsim.basic/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.dlsimbasic}} + nodeName: {{ .Values.global.nodeName.dlsimbasic }} + {{- end }} diff --git a/charts/physims/charts/ldpctest/templates/job.yaml b/charts/physims/charts/ldpctest/templates/job.yaml index 097c021626..8a1060599f 100644 --- a/charts/physims/charts/ldpctest/templates/job.yaml +++ b/charts/physims/charts/ldpctest/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.ldpctest}} + nodeName: {{ .Values.global.nodeName.ldpctest }} + {{- end }} diff --git a/charts/physims/charts/nr-dlschsim/templates/job.yaml b/charts/physims/charts/nr-dlschsim/templates/job.yaml index c696eb906c..e6d3b79f4a 100644 --- a/charts/physims/charts/nr-dlschsim/templates/job.yaml +++ b/charts/physims/charts/nr-dlschsim/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrdlschsim}} + nodeName: {{ .Values.global.nodeName.nrdlschsim }} + {{- end }} diff --git a/charts/physims/charts/nr-dlsim.basic/templates/job.yaml b/charts/physims/charts/nr-dlsim.basic/templates/job.yaml index 46dbbff0fa..2bf2a337c2 100644 --- a/charts/physims/charts/nr-dlsim.basic/templates/job.yaml +++ b/charts/physims/charts/nr-dlsim.basic/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrdlsimbasic}} + nodeName: {{ .Values.global.nodeName.nrdlsimbasic }} + {{- end }} diff --git a/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/job.yaml b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/job.yaml index e319ae7b53..bbf2ff30de 100644 --- a/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/job.yaml +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrdlsimdmrsptrs}} + nodeName: {{ .Values.global.nodeName.nrdlsimdmrsptrs }} + {{- end }} diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/job.yaml b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/job.yaml index 0649dc67b3..55a0345da6 100644 --- a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/job.yaml +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrdlsimmcsmimo}} + nodeName: {{ .Values.global.nodeName.nrdlsimmcsmimo }} + {{- end }} diff --git a/charts/physims/charts/nr-dlsim.offset/templates/job.yaml b/charts/physims/charts/nr-dlsim.offset/templates/job.yaml index 5a88c43ec2..6dd3efb4cf 100644 --- a/charts/physims/charts/nr-dlsim.offset/templates/job.yaml +++ b/charts/physims/charts/nr-dlsim.offset/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrdlsimoffset}} + nodeName: {{ .Values.global.nodeName.nrdlsimoffset }} + {{- end }} diff --git a/charts/physims/charts/nr-pbchsim.106rb/templates/job.yaml b/charts/physims/charts/nr-pbchsim.106rb/templates/job.yaml index 1af0be82e5..44b795c764 100644 --- a/charts/physims/charts/nr-pbchsim.106rb/templates/job.yaml +++ b/charts/physims/charts/nr-pbchsim.106rb/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrpbschsim106rb}} + nodeName: {{ .Values.global.nodeName.nrpbschsim106rb }} + {{- end }} diff --git a/charts/physims/charts/nr-pbchsim.217rb/templates/job.yaml b/charts/physims/charts/nr-pbchsim.217rb/templates/job.yaml index cad15d1491..bc5eef2db0 100644 --- a/charts/physims/charts/nr-pbchsim.217rb/templates/job.yaml +++ b/charts/physims/charts/nr-pbchsim.217rb/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrpbchsim217rb}} + nodeName: {{ .Values.global.nodeName.nrpbchsim217rb }} + {{- end }} diff --git a/charts/physims/charts/nr-pbchsim.273rb/templates/job.yaml b/charts/physims/charts/nr-pbchsim.273rb/templates/job.yaml index 65be9e4caa..a1c2afaa27 100644 --- a/charts/physims/charts/nr-pbchsim.273rb/templates/job.yaml +++ b/charts/physims/charts/nr-pbchsim.273rb/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrpbchsim273rb}} + nodeName: {{ .Values.global.nodeName.nrpbchsim273rb }} + {{- end }} diff --git a/charts/physims/charts/nr-prachsim/templates/job.yaml b/charts/physims/charts/nr-prachsim/templates/job.yaml index 872729550a..fa9b8952a0 100644 --- a/charts/physims/charts/nr-prachsim/templates/job.yaml +++ b/charts/physims/charts/nr-prachsim/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrprachsim}} + nodeName: {{ .Values.global.nodeName.nrprachsim }} + {{- end }} diff --git a/charts/physims/charts/nr-pucchsim/templates/job.yaml b/charts/physims/charts/nr-pucchsim/templates/job.yaml index a845215eeb..21f5e9a36a 100644 --- a/charts/physims/charts/nr-pucchsim/templates/job.yaml +++ b/charts/physims/charts/nr-pucchsim/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrpucchsim}} + nodeName: {{ .Values.global.nodeName.nrpucchsim }} + {{- end }} diff --git a/charts/physims/charts/nr-ulschsim/templates/job.yaml b/charts/physims/charts/nr-ulschsim/templates/job.yaml index 2916f0fc12..57d19d41c6 100644 --- a/charts/physims/charts/nr-ulschsim/templates/job.yaml +++ b/charts/physims/charts/nr-ulschsim/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrulschsim}} + nodeName: {{ .Values.global.nodeName.nrulschsim }} + {{- end }} diff --git a/charts/physims/charts/nr-ulsim.3gpp/templates/job.yaml b/charts/physims/charts/nr-ulsim.3gpp/templates/job.yaml index 2f8a445589..a0cf170d8d 100644 --- a/charts/physims/charts/nr-ulsim.3gpp/templates/job.yaml +++ b/charts/physims/charts/nr-ulsim.3gpp/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrulsim3gpp}} + nodeName: {{ .Values.global.nodeName.nrulsim3gpp }} + {{- end }} diff --git a/charts/physims/charts/nr-ulsim.mimo/templates/job.yaml b/charts/physims/charts/nr-ulsim.mimo/templates/job.yaml index d385551fcb..e37691a938 100644 --- a/charts/physims/charts/nr-ulsim.mimo/templates/job.yaml +++ b/charts/physims/charts/nr-ulsim.mimo/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrulsimmimo}} + nodeName: {{ .Values.global.nodeName.nrulsimmimo }} + {{- end }} diff --git a/charts/physims/charts/nr-ulsim.misc/templates/job.yaml b/charts/physims/charts/nr-ulsim.misc/templates/job.yaml index 492baab464..ec59b4a3b3 100644 --- a/charts/physims/charts/nr-ulsim.misc/templates/job.yaml +++ b/charts/physims/charts/nr-ulsim.misc/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrulsimmisc}} + nodeName: {{ .Values.global.nodeName.nrulsimmisc }} + {{- end }} diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/templates/job.yaml b/charts/physims/charts/nr-ulsim.sc-fdma/templates/job.yaml index 8283c65f5e..d3b84cb369 100644 --- a/charts/physims/charts/nr-ulsim.sc-fdma/templates/job.yaml +++ b/charts/physims/charts/nr-ulsim.sc-fdma/templates/job.yaml @@ -35,5 +35,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.nrulsimscfdma}} + nodeName: {{ .Values.global.nodeName.nrulsimscfdma }} + {{- end }} diff --git a/charts/physims/charts/polartest/templates/job.yaml b/charts/physims/charts/polartest/templates/job.yaml index 61e82957ce..1b1d7d608e 100644 --- a/charts/physims/charts/polartest/templates/job.yaml +++ b/charts/physims/charts/polartest/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.polartest}} + nodeName: {{ .Values.global.nodeName.polartest }} + {{- end }} diff --git a/charts/physims/charts/smallblocktest/templates/job.yaml b/charts/physims/charts/smallblocktest/templates/job.yaml index f034db3e69..70d9bd653f 100644 --- a/charts/physims/charts/smallblocktest/templates/job.yaml +++ b/charts/physims/charts/smallblocktest/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.smallblocktest}} + nodeName: {{ .Values.global.nodeName.smallblocktest }} + {{- end }} diff --git a/charts/physims/charts/ulsim/templates/job.yaml b/charts/physims/charts/ulsim/templates/job.yaml index d61d793c3b..1ce4cf21f4 100644 --- a/charts/physims/charts/ulsim/templates/job.yaml +++ b/charts/physims/charts/ulsim/templates/job.yaml @@ -33,5 +33,10 @@ spec: schedulerName: default-scheduler serviceAccountName: {{ .Values.global.serviceAccountName }} terminationGracePeriodSeconds: 30 + {{- if .Values.global.nodeSelector}} nodeSelector: - {{- toYaml .Values.global.nodeSelector | nindent 12 }} \ No newline at end of file + {{- toYaml .Values.global.nodeSelector | nindent 12 }} + {{- end }} + {{- if .Values.global.nodeName.ulsim}} + nodeName: {{ .Values.global.nodeName.ulsim }} + {{- end }} diff --git a/charts/physims/values.yaml b/charts/physims/values.yaml index 462f8ff59b..bac4ed3eb5 100644 --- a/charts/physims/values.yaml +++ b/charts/physims/values.yaml @@ -11,6 +11,29 @@ global: version: TAG # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always - nodeSelector: - worker: "telco" - + # removing the node selector + nodeSelector: {} + # It is not a good way of assigning pods to the nodes: this way we bypass the scheduler. At the moment we don't provide the resource information of these pods. + # Therefore, Openshift assigns the pods to the same node because it thinks the pods don't consume much resources. This isn't the case, they consume a lot of resources. + nodeName: + dlsim100rbtm2: acamas + dlsimbasic: acamas + ldpctest: acamas + nrdlschsim: acamas + nrdlsimbasic: acamas + nrdlsimdmrsptrs: acamas + nrdlsimmcsmimo: acamas + nrdlsimoffset: dedale + nrpbschsim106rb: dedale + nrpbchsim217rb: dedale + nrpbchsim273rb: dedale + nrprachsim: dedale + nrpucchsim: dedale + nrulschsim: theseus + nrulsim3gpp: theseus + nrulsimmimo: theseus + nrulsimmisc: theseus + nrulsimscfdma: theseus + polartest: theseus + smallblocktest: theseus + ulsim: theseus