From 5db684fc52b3fecd4a23ed6b1264e612ae806d76 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 18 Nov 2024 08:42:14 +0100 Subject: [PATCH] CI: deploy ltebox EPC through CoreNetwork, use in Ping/Iperf - issue ltebox commands from ci_infra.yaml - use for ltebox-nano, ltebox-nepes (un)deployment, ping, iperf in all relevant XML files --- ci-scripts/ci_infra.yaml | 14 +++++ ci-scripts/epc.py | 51 ++++--------------- .../container_lte_b200_fdd_05Mhz_tm1.xml | 1 + ...container_lte_b200_fdd_05Mhz_tm1_if4_5.xml | 1 + ...lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml | 2 + .../container_lte_b200_fdd_10Mhz_tm1.xml | 1 + .../container_lte_b200_fdd_10Mhz_tm1_cdrx.xml | 1 + .../container_lte_b200_fdd_20Mhz_tm1.xml | 1 + .../container_lte_b200_tdd_05Mhz_tm1.xml | 1 + ...container_lte_b200_tdd_05Mhz_tm1_if4_5.xml | 1 + .../container_lte_b200_tdd_10Mhz_tm1.xml | 1 + .../container_lte_b200_tdd_20Mhz_tm1.xml | 1 + ...e_b200_tdd_20Mhz_tm1_default_scheduler.xml | 1 + .../xml_files/container_nsa_b200_quectel.xml | 4 ++ ci-scripts/xml_files/fr1_epc_closure.xml | 17 ++----- ci-scripts/xml_files/fr1_epc_start.xml | 17 ++----- ci-scripts/xml_files/nsa_epc_closure.xml | 17 ++----- ci-scripts/xml_files/nsa_epc_start.xml | 17 ++----- 18 files changed, 56 insertions(+), 93 deletions(-) diff --git a/ci-scripts/ci_infra.yaml b/ci-scripts/ci_infra.yaml index f1c7d4b294..e47645b951 100644 --- a/ci-scripts/ci_infra.yaml +++ b/ci-scripts/ci_infra.yaml @@ -104,6 +104,13 @@ nano-cn4g: ltebox-nano: Host: nano NetworkScript: ip a show dev tun1 + Deploy: + - "sudo su -c 'screen -dm -S simulated_hss /opt/hss_sim0609/starthss'" + - "sleep 1" + - "sudo /opt/ltebox/tools/start_mme && sudo /opt/ltebox/tools/start_xGw &" + - "sleep 1" + Undeploy: "sudo /opt/ltebox/tools/stop_xGw; sudo /opt/ltebox/tools/stop_mme; sudo killall screen" + LogCollect: "cp /opt/hss_sim0609/hss.log /opt/ltebox/var/log/{mmeLog.0,s1apcLog.0,s1apsLog.0,s11cLog.0,libLog.0,xGwLog.0} %%log_dir%%" sabox-nepes: Host: nepes @@ -119,6 +126,13 @@ sabox-nepes: ltebox-nepes: Host: nepes NetworkScript: ip a show dev tun1 + Deploy: + - "sudo su -c 'screen -dm -S simulated_hss /opt/hss_sim0609/starthss'" + - "sleep 1" + - "sudo /opt/ltebox/tools/start_mme && sudo /opt/ltebox/tools/start_xGw &" + - "sleep 1" + Undeploy: "sudo /opt/ltebox/tools/stop_xGw; sudo /opt/ltebox/tools/stop_mme; sudo killall screen" + LogCollect: "cp /opt/hss_sim0609/hss.log /opt/ltebox/var/log/{mmeLog.0,s1apcLog.0,s1apsLog.0,s11cLog.0,libLog.0,xGwLog.0} %%log_dir%%" amarisoft_ue: Host: amariue diff --git a/ci-scripts/epc.py b/ci-scripts/epc.py index a49c354694..bb9d056fae 100644 --- a/ci-scripts/epc.py +++ b/ci-scripts/epc.py @@ -101,20 +101,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - logging.debug('Using the ltebox simulated HSS') - mySSH.command('if [ -d ' + self.SourceCodePath + '/scripts ]; then echo ' + self.Password + ' | sudo -S rm -Rf ' + self.SourceCodePath + '/scripts ; fi', '\$', 5) - mySSH.command('mkdir -p ' + self.SourceCodePath + '/scripts', '\$', 5) - result = re.search('hss_sim s6as diam_hss', mySSH.getBefore()) - if result is not None: - mySSH.command('echo ' + self.Password + ' | sudo -S killall hss_sim', '\$', 5) - mySSH.command('ps aux | grep --colour=never xGw | grep -v grep', '\$', 5, silent=True) - result = re.search('root.*xGw', mySSH.getBefore()) - if result is not None: - mySSH.command('cd /opt/ltebox/tools', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S ./stop_ltebox', '\$', 5) - mySSH.command('cd /opt/hss_sim0609', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S rm -f hss.log', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S echo "Starting sudo session" && sudo su -c "screen -dm -S simulated_hss ./starthss"', '\$', 5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() @@ -138,10 +125,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cd /opt/ltebox/tools', '\$', 5) - # Clean-up the logs from previous runs - mySSH.command('echo ' + self.Password + ' | sudo -S rm -f ../var/log/*.0', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S ./start_mme', '\$', 5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() @@ -195,8 +179,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cd /opt/ltebox/tools', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S ./start_xGw', '\$', 5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() @@ -267,7 +250,7 @@ class EPCManagement(): if self.IPAddress == 'none': return if re.match('ltebox', self.Type, re.IGNORECASE): - self.MmeIPAddress = self.IPAddress + raise NotImplemented("use cls_corenetwork.py") elif re.match('OAICN5G', self.Type, re.IGNORECASE): mySSH = SSH.SSHConnection() mySSH.open(self.IPAddress, self.UserName, self.Password) @@ -298,15 +281,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cd ' + self.SourceCodePath, '\$', 5) - mySSH.command('cd scripts', '\$', 5) - time.sleep(1) - mySSH.command('echo ' + self.Password + ' | sudo -S screen -S simulated_hss -X quit', '\$', 5) - time.sleep(5) - mySSH.command('ps aux | grep --colour=never hss_sim | grep -v grep', '\$', 5, silent=True) - result = re.search('hss_sim s6as diam_hss', mySSH.getBefore()) - if result is not None: - mySSH.command('echo ' + self.Password + ' | sudo -S killall hss_sim', '\$', 5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This should not happen!') mySSH.close() @@ -326,9 +301,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cd /opt/ltebox/tools', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S ./stop_mme', '\$', 5) - time.sleep(5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This should not happen!') mySSH.close() @@ -355,8 +328,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cd /opt/ltebox/tools', '\$', 5) - mySSH.command('echo ' + self.Password + ' | sudo -S ./stop_xGw', '\$', 5) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This should not happen!') mySSH.close() @@ -645,8 +617,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cp /opt/hss_sim0609/hss.log .', '\$', 60) - mySSH.command('zip hss.log.zip hss.log', '\$', 60) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() @@ -681,8 +652,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cp /opt/ltebox/var/log/*Log.0 .', '\$', 5) - mySSH.command('zip mme.log.zip mmeLog.0 s1apcLog.0 s1apsLog.0 s11cLog.0 libLog.0 s1apCodecLog.0 amfLog.0 ngapcLog.0 ngapcommonLog.0 ngapsLog.0', '\$', 60) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() @@ -715,8 +685,7 @@ class EPCManagement(): elif re.match('OAI', self.Type, re.IGNORECASE) or re.match('OAI-Rel14-CUPS', self.Type, re.IGNORECASE): raise NotImplemented("core network not supported") elif re.match('ltebox', self.Type, re.IGNORECASE): - mySSH.command('cp /opt/ltebox/var/log/*Log.0 .', '\$', 5) - mySSH.command('zip spgw.log.zip xGwLog.0 upfLog.0', '\$', 60) + raise NotImplemented("use cls_corenetwork.py") else: logging.error('This option should not occur!') mySSH.close() diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml index 01e1cfc4ed..2213abd413 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1.xml @@ -124,6 +124,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1.xml -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml index c13952094f..2853e270f6 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml @@ -132,6 +132,7 @@ -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml index 4bfcb02258..fbff50c09c 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml @@ -162,6 +162,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano @@ -170,6 +171,7 @@ Replaces xml_files/enb_usrp210_band7_test_05mhz_tm1_rrc_inactivity_no_flexran.xm -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml index 6b1afaf079..78d4138517 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1.xml @@ -118,6 +118,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml index 1469918617..223404f07e 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml @@ -111,6 +111,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml index a830803f9f..3ea5b45735 100644 --- a/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_fdd_20Mhz_tm1.xml @@ -117,6 +117,7 @@ Replaces xml_files/enb_usrp210_band7_test_10mhz_tm1.xml -c 20 %cn_ip% 5 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml index dc85ee5813..99c6ada431 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1.xml @@ -125,6 +125,7 @@ Replaces xml_files/enb_usrp210_band40_test_05mhz_tm1.xml -c 20 %cn_ip% 25 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml index f5467c2623..390badad91 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml @@ -132,6 +132,7 @@ -c 20 %cn_ip% 25 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml index 4d34ff1434..1d2eff3707 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_10Mhz_tm1.xml @@ -116,6 +116,7 @@ Replaces xml_files/enb_usrp210_band40_test_10mhz_tm1.xml -c 20 %cn_ip% 25 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml index 2620296bde..2db8e754b9 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1.xml @@ -116,6 +116,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1.xml -c 20 %cn_ip% 25 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml index 5dc0ab9585..57554d17f2 100644 --- a/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml +++ b/ci-scripts/xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml @@ -117,6 +117,7 @@ Replaces xml_files/enb_usrp210_band40_test_20mhz_tm1_default_scheduler.xml -c 20 %cn_ip% 25 adb_ue_1 adb_ue_2 + ltebox-nano diff --git a/ci-scripts/xml_files/container_nsa_b200_quectel.xml b/ci-scripts/xml_files/container_nsa_b200_quectel.xml index 7b43dc609b..c0c95f1ea8 100644 --- a/ci-scripts/xml_files/container_nsa_b200_quectel.xml +++ b/ci-scripts/xml_files/container_nsa_b200_quectel.xml @@ -168,6 +168,7 @@ Ping Ping: 20pings in 20sec idefix + ltebox-nepes -c 20 %cn_ip% 1 15 @@ -177,6 +178,7 @@ Ping Ping: 100pings in 20sec idefix + ltebox-nepes -c 100 -i 0.2 %cn_ip% 1 15 @@ -186,6 +188,7 @@ Ping Ping: 20pings in 20sec idefix + ltebox-nepes -c 20 %cn_ip% 1 15 @@ -195,6 +198,7 @@ Ping Ping: 100pings in 20sec idefix + ltebox-nepes -c 100 -i 0.2 %cn_ip% 1 15 diff --git a/ci-scripts/xml_files/fr1_epc_closure.xml b/ci-scripts/xml_files/fr1_epc_closure.xml index 2fd8031936..8f0349073c 100644 --- a/ci-scripts/xml_files/fr1_epc_closure.xml +++ b/ci-scripts/xml_files/fr1_epc_closure.xml @@ -25,23 +25,14 @@ EPC-Closure log-out -060000 060001 060002 +060000 - Terminate_HSS - Terminate HSS - - - - Terminate_MME - Terminate MME - - - - Terminate_SPGW - Terminate SPGW + UndeployCoreNetwork + Terminate EPC + ltebox-nano diff --git a/ci-scripts/xml_files/fr1_epc_start.xml b/ci-scripts/xml_files/fr1_epc_start.xml index 5cef2b5a6a..0efaca6d57 100644 --- a/ci-scripts/xml_files/fr1_epc_start.xml +++ b/ci-scripts/xml_files/fr1_epc_start.xml @@ -25,24 +25,15 @@ EPC-Start log-in - 000100 000101 000102 + 000100 - Initialize_HSS - Initialize HSS - - - - Initialize_MME - Initialize MME - - - - Initialize_SPGW - Initialize SPGW + DeployCoreNetwork + Initialize EPC + ltebox-nano diff --git a/ci-scripts/xml_files/nsa_epc_closure.xml b/ci-scripts/xml_files/nsa_epc_closure.xml index 2fd8031936..23181ec674 100644 --- a/ci-scripts/xml_files/nsa_epc_closure.xml +++ b/ci-scripts/xml_files/nsa_epc_closure.xml @@ -25,23 +25,14 @@ EPC-Closure log-out -060000 060001 060002 +060000 - Terminate_HSS - Terminate HSS - - - - Terminate_MME - Terminate MME - - - - Terminate_SPGW - Terminate SPGW + UndeployCoreNetwork + Terminate EPC + ltebox-nepes diff --git a/ci-scripts/xml_files/nsa_epc_start.xml b/ci-scripts/xml_files/nsa_epc_start.xml index 5cef2b5a6a..89761ddb74 100644 --- a/ci-scripts/xml_files/nsa_epc_start.xml +++ b/ci-scripts/xml_files/nsa_epc_start.xml @@ -25,24 +25,15 @@ EPC-Start log-in - 000100 000101 000102 + 000100 - Initialize_HSS - Initialize HSS - - - - Initialize_MME - Initialize MME - - - - Initialize_SPGW - Initialize SPGW + DeployCoreNetwork + Start EPC + ltebox-nepes