From 98ac540d57fd3a67b798b2ff6a13257b999a174f Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 20 Mar 2025 08:38:19 +0100 Subject: [PATCH] CI: use svr_id for Ping in RFsim-based tests This is not really used as of now, because most IPs are hardcoded. See one of the next commits for the use of this. To make sure that we have the correct IP, there is some code that verifies that a hardcoded IP and the CN IP would be the same. Note: need two separate ci_infra.yaml entries, because - for FlexRIC, the container name is different (is the tutorial CN) - for RFsim5G E1, we don't have ext-dn => ping UPF --- ci-scripts/ci_infra.yaml | 9 +++++++++ ci-scripts/cls_oaicitest.py | 11 +++++++++++ ci-scripts/main.py | 2 ++ ci-scripts/xml_files/container_4g_l2sim_tdd.xml | 4 ++++ .../xml_files/container_4g_rfsim_fdd_05MHz.xml | 6 +++++- .../container_4g_rfsim_fdd_05MHz_noS1.xml | 4 ++++ .../xml_files/container_4g_rfsim_fdd_10MHz.xml | 4 ++++ .../xml_files/container_4g_rfsim_fdd_20MHz.xml | 4 ++++ .../xml_files/container_4g_rfsim_tdd_05MHz.xml | 4 ++++ ci-scripts/xml_files/container_5g_e1_rfsim.xml | 2 ++ ci-scripts/xml_files/container_5g_f1_rfsim.xml | 6 +++++- ci-scripts/xml_files/container_5g_fdd_rfsim.xml | 4 ++++ .../xml_files/container_5g_flexric_rfsim.xml | 2 ++ ci-scripts/xml_files/container_5g_rfsim.xml | 14 +++++++++++++- ci-scripts/xml_files/container_5g_rfsim_24prb.xml | 4 ++++ ci-scripts/xml_files/container_5g_rfsim_2x2.xml | 4 ++++ .../xml_files/container_5g_rfsim_fdd_phytest.xml | 4 ++++ .../xml_files/container_5g_rfsim_fr2_32prb.xml | 4 ++++ .../xml_files/container_5g_rfsim_ntn_geo.xml | 4 ++++ .../xml_files/container_5g_rfsim_tdd_dora.xml | 4 ++++ .../xml_files/container_5g_rfsim_u0_25prb.xml | 4 ++++ 21 files changed, 101 insertions(+), 3 deletions(-) diff --git a/ci-scripts/ci_infra.yaml b/ci-scripts/ci_infra.yaml index edb6078e4a..4d1a87ddba 100644 --- a/ci-scripts/ci_infra.yaml +++ b/ci-scripts/ci_infra.yaml @@ -386,6 +386,15 @@ rfsim5g_ext_dn: NetworkScript: docker exec rfsim5g-oai-ext-dn ip a show dev eth0 CmdPrefix: docker exec rfsim5g-oai-ext-dn +oai_ext_dn: + Host: "%%current_host%%" + NetworkScript: docker exec oai-ext-dn ip a show dev eth0 + CmdPrefix: docker exec oai-ext-dn + +rfsim5g_5gc_fixed_ip: + Host: "%%current_host%%" + NetworkScript: echo "inet 12.1.1.1" + rfsim4g_ue: Host: "%%current_host%%" NetworkScript: docker exec rfsim4g-oai-lte-ue0 ip a show dev oaitun_ue1 diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index 282667df31..8169dd6888 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -374,6 +374,17 @@ class OaiCiTest(): # if has pattern %cn_ip%, replace with cn IP address, else we assume the IP is present if re.search('%cn_ip%', self.ping_args): self.ping_args = re.sub('%cn_ip%', cn.getIP(), self.ping_args) + else: + # verify we would have the right IP + m = re.search(r'[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', self.ping_args) + if not m: + raise Exception(f"no IP address in {self.ping_args}") + ip = m.group(0) + cnip = cn.getIP() + if ip != cnip: + raise Exception(f"IP mismatch: options specify {ip} but core has {cnip}") + else: + logging.warning(f"\u001B[1mIP {ip} in iperf options matches CN IP {cnip}\u001B[0m") interface = f'-I {ue.getIFName()}' if ue.getIFName() else '' ping_cmd = f'{ue.getCmdPrefix()} ping {interface} {self.ping_args} 2>&1 | tee /tmp/{ping_log_file}' cmd = cls_cmd.getConnection(ue.getHost()) diff --git a/ci-scripts/main.py b/ci-scripts/main.py index efb4f97166..f2d04f0615 100644 --- a/ci-scripts/main.py +++ b/ci-scripts/main.py @@ -243,6 +243,8 @@ def ExecuteActionWithParam(action): CiTestObj.ping_packetloss_threshold = test.findtext('ping_packetloss_threshold') CiTestObj.ue_ids = test.findtext('id').split(' ') CiTestObj.svr_id = test.findtext('svr_id') or None + if test.findtext('svr_node'): + CiTestObj.svr_node = test.findtext('svr_node') if not force_local else 'localhost' if force_local: # Change all execution targets to localhost CiTestObj.nodes = ['localhost'] * len(CiTestObj.ue_ids) diff --git a/ci-scripts/xml_files/container_4g_l2sim_tdd.xml b/ci-scripts/xml_files/container_4g_l2sim_tdd.xml index 6a0e5ae00f..543db0bf75 100644 --- a/ci-scripts/xml_files/container_4g_l2sim_tdd.xml +++ b/ci-scripts/xml_files/container_4g_l2sim_tdd.xml @@ -101,6 +101,8 @@ Ping trf-gen from LTE-UE 1 l2sim4g_ue obelix + l2sim4g_ext_dn + obelix -c 20 192.168.61.11 0 @@ -110,6 +112,8 @@ Ping LTE-UE 1 from trf-gen l2sim4g_ext_dn obelix + l2sim4g_ue + obelix -c 20 12.0.0.2 0 diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml index 12f8f13a5b..7604a6fb20 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz.xml @@ -116,6 +116,8 @@ Ping Traffic-Gen from LTE-UE rfsim4g_ue cacofonix + rfsim4g_ext_dn + cacofonix -c 20 192.168.61.11 5 @@ -124,8 +126,10 @@ Ping Ping LTE-UE from Traffic-Gen rfsim4g_ext_dn - -c 20 12.0.0.2 cacofonix + rfsim4g_ue + cacofonix + -c 20 12.0.0.2 5 diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml index 031a308a5c..9783ddacfb 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml @@ -87,6 +87,8 @@ Ping Traffic-Gen from LTE-UE rfsim4g_ue cacofonix + rfsim4g_enb_nos1 + cacofonix -c 20 10.0.1.1 5 @@ -96,6 +98,8 @@ Ping LTE-UE from eNB rfsim4g_enb_nos1 cacofonix + rfsim4g_ue + cacofonix -c 20 10.0.1.2 5 diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml index d56aeb231e..15064739a1 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_10MHz.xml @@ -116,6 +116,8 @@ Ping Traffic-Gen from LTE-UE rfsim4g_ue cacofonix + rfsim4g_ext_dn + cacofonix -c 20 192.168.61.11 5 @@ -125,6 +127,8 @@ Ping LTE-UE from Traffic-Gen rfsim4g_ext_dn cacofonix + rfsim4g_ue + cacofonix -c 20 12.0.0.2 5 diff --git a/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml index e957417f1c..9bf9ac5dd9 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_fdd_20MHz.xml @@ -116,6 +116,8 @@ Ping Traffic-Gen from LTE-UE rfsim4g_ue cacofonix + rfsim4g_ext_dn + cacofonix -c 20 192.168.61.11 5 @@ -125,6 +127,8 @@ Ping LTE-UE from Traffic-Gen rfsim4g_ext_dn cacofonix + rfsim4g_ue + cacofonix -c 20 12.0.0.2 5 diff --git a/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml b/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml index e292958576..8a19ffd262 100644 --- a/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml +++ b/ci-scripts/xml_files/container_4g_rfsim_tdd_05MHz.xml @@ -109,6 +109,8 @@ Ping Traffic-Gen from LTE-UE rfsim4g_ue cacofonix + rfsim4g_ext_dn + cacofonix -c 20 192.168.61.11 5 @@ -118,6 +120,8 @@ Ping LTE-UE from Traffic-Gen rfsim4g_ext_dn cacofonix + rfsim4g_ue + cacofonix -c 20 12.0.0.2 5 diff --git a/ci-scripts/xml_files/container_5g_e1_rfsim.xml b/ci-scripts/xml_files/container_5g_e1_rfsim.xml index 8128fca08c..82c5dfa774 100644 --- a/ci-scripts/xml_files/container_5g_e1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_e1_rfsim.xml @@ -88,6 +88,8 @@ Ping ext-dn from all NR-UEs rfsim5g_ue rfsim5g_ue2 rfsim5g_ue3 cacofonix cacofonix cacofonix + rfsim5g_5gc_fixed_ip + cacofonix -c 20 12.1.1.1 -i0.25 5 diff --git a/ci-scripts/xml_files/container_5g_f1_rfsim.xml b/ci-scripts/xml_files/container_5g_f1_rfsim.xml index 280475e182..9fa92e49bb 100644 --- a/ci-scripts/xml_files/container_5g_f1_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_f1_rfsim.xml @@ -117,6 +117,8 @@ Ping ext-dn from all NR-UEs rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 192.168.72.135 -i0.25 5 @@ -163,9 +165,11 @@ Ping - Ping ext-dn from all NR-UEs + Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 192.168.72.135 -i0.5 -w25 80 diff --git a/ci-scripts/xml_files/container_5g_fdd_rfsim.xml b/ci-scripts/xml_files/container_5g_fdd_rfsim.xml index 276bb5b9a3..25620b6a42 100644 --- a/ci-scripts/xml_files/container_5g_fdd_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_fdd_rfsim.xml @@ -81,6 +81,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -90,6 +92,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 -i 0.25 12.1.1.2 5 diff --git a/ci-scripts/xml_files/container_5g_flexric_rfsim.xml b/ci-scripts/xml_files/container_5g_flexric_rfsim.xml index ef28c06bbf..9805953b27 100644 --- a/ci-scripts/xml_files/container_5g_flexric_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_flexric_rfsim.xml @@ -134,6 +134,8 @@ Ping ext-dn from both UEs rfsim5g_ue rfsim5g_ue2 carabe carabe + oai_ext_dn + carabe -c 20 192.168.70.135 5 diff --git a/ci-scripts/xml_files/container_5g_rfsim.xml b/ci-scripts/xml_files/container_5g_rfsim.xml index 3897421c27..77b09c4781 100644 --- a/ci-scripts/xml_files/container_5g_rfsim.xml +++ b/ci-scripts/xml_files/container_5g_rfsim.xml @@ -141,6 +141,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -150,7 +152,9 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix - -c 20 -i 0.25 12.1.1.2 + rfsim5g_ue + cacofonix + -c 20 -i 0.25 12.1.1.2 5 @@ -159,6 +163,8 @@ Ping ext-dn from Second NR-UE rfsim5g_ue2 cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -168,6 +174,8 @@ Ping Second NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue2 + cacofonix -c 20 -i 0.25 12.1.1.3 5 @@ -177,6 +185,8 @@ Ping ext-dn from both UEs rfsim5g_ue rfsim5g_ue2 cacofonix cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -186,6 +196,8 @@ Ping ext-dn from all UEs rfsim5g_ue rfsim5g_ue2 rfsim5g_ue3 rfsim5g_ue4 rfsim5g_ue5 rfsim5g_ue6 rfsim5g_ue7 rfsim5g_ue8 rfsim5g_ue9 rfsim5g_ue10 cacofonix cacofonix cacofonix cacofonix cacofonix cacofonix cacofonix cacofonix cacofonix cacofonix + rfsim5g_ext_dn + cacofonix -c 20 192.168.72.135 -i 0.25 -s 1016 5 diff --git a/ci-scripts/xml_files/container_5g_rfsim_24prb.xml b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml index fe80891678..e139be4978 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_24prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_24prb.xml @@ -90,6 +90,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i0.2 192.168.72.135 5 @@ -99,6 +101,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 12.1.1.2 -i0.2 5 diff --git a/ci-scripts/xml_files/container_5g_rfsim_2x2.xml b/ci-scripts/xml_files/container_5g_rfsim_2x2.xml index 3b7a1d738e..5557d3156d 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_2x2.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_2x2.xml @@ -81,6 +81,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -90,6 +92,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 -i 0.25 12.1.1.2 5 diff --git a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml index 100465614d..8346325253 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_fdd_phytest.xml @@ -81,6 +81,8 @@ Ping gNB from NR-UE rfsim5g_ue cacofonix + rfsim5g_gnb_nos1 + cacofonix -c20 -i0.2 10.0.1.1 0 @@ -90,6 +92,8 @@ Ping NR-UE from gNB rfsim5g_gnb_nos1 cacofonix + rfsim5g_ue + cacofonix -c20 -i0.2 10.0.1.2 0 diff --git a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml index d700862689..b55ad45cee 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_fr2_32prb.xml @@ -73,6 +73,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i0.2 192.168.72.135 0 @@ -82,6 +84,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 12.1.1.2 -i0.2 0 diff --git a/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml b/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml index 5e3c4bedb5..0d1f6e59c0 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_ntn_geo.xml @@ -81,6 +81,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -90,6 +92,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 -i 0.25 12.1.1.2 5 diff --git a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml index 861158c08f..4bc1e8a8e5 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_tdd_dora.xml @@ -80,6 +80,8 @@ Ping gNB from NR-UE rfsim5g_ue cacofonix + rfsim5g_gnb_nos1 + cacofonix -c20 -i0.2 10.0.1.1 0 @@ -89,6 +91,8 @@ Ping NR-UE from gNB rfsim5g_gnb_nos1 cacofonix + rfsim5g_ue + cacofonix -c20 -i0.2 10.0.1.2 0 diff --git a/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml b/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml index ee4c334cee..c7807fcb88 100644 --- a/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml +++ b/ci-scripts/xml_files/container_5g_rfsim_u0_25prb.xml @@ -81,6 +81,8 @@ Ping ext-dn from NR-UE rfsim5g_ue cacofonix + rfsim5g_ext_dn + cacofonix -c 20 -i 0.25 192.168.72.135 5 @@ -90,6 +92,8 @@ Ping NR-UE from ext-dn rfsim5g_ext_dn cacofonix + rfsim5g_ue + cacofonix -c 20 -i 0.25 12.1.1.2 5