From b58ad4baf0b44f17e7e1799bccb9707e95b0446c Mon Sep 17 00:00:00 2001 From: Dhanuja Elizabeth Thomas Date: Wed, 22 Mar 2023 15:18:30 +0100 Subject: [PATCH] Introducing new pipeline for LTE TDD 2x2 in container Following changes are made: 1. Removed XMLs used in old pipeline lte-OAIEPC 2. Added TM1 and TM2 config, XML and YAML 3. Added pipeline details in TestBenches.md 4. Modification in Jenkins file for the pipeline 5. Added ping/iperf test cases in XML 6. Minor modification in cls_containerize.py and cls_oaicitest.py --- ci-scripts/Jenkinsfile-GitLab-Container | 21 +++ ci-scripts/cls_containerize.py | 2 +- ci-scripts/cls_oaicitest.py | 2 +- .../enb.band38.lte_2x2.100PRB.usrpn310.conf | 8 +- ...nb.band38.lte_2x2_tm2.100PRB.usrpn310.conf | 8 +- .../container_lte_n3xx_tdd_2x2_tm1.xml | 160 +++++++++++++++++ .../container_lte_n3xx_tdd_2x2_tm2.xml | 160 +++++++++++++++++ ci-scripts/xml_files/lte_2x2_tm1_quectel.xml | 164 ------------------ ci-scripts/xml_files/lte_2x2_tm2_quectel.xml | 164 ------------------ .../lte_n3xx_tdd_2x2_tm1/docker-compose.yml | 18 ++ .../lte_n3xx_tdd_2x2_tm2/docker-compose.yml | 18 ++ doc/TESTBenches.md | 3 + 12 files changed, 390 insertions(+), 338 deletions(-) create mode 100644 ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml create mode 100644 ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml delete mode 100644 ci-scripts/xml_files/lte_2x2_tm1_quectel.xml delete mode 100644 ci-scripts/xml_files/lte_2x2_tm2_quectel.xml create mode 100644 ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1/docker-compose.yml create mode 100644 ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2/docker-compose.yml diff --git a/ci-scripts/Jenkinsfile-GitLab-Container b/ci-scripts/Jenkinsfile-GitLab-Container index 31ea662e3c..0a033cf760 100644 --- a/ci-scripts/Jenkinsfile-GitLab-Container +++ b/ci-scripts/Jenkinsfile-GitLab-Container @@ -385,6 +385,27 @@ pipeline { } } } + stage ("LTE-TDD-2x2-Container") { + when { expression {do4Gtest} } + steps { + script { + triggerSlaveJob ('RAN-LTE-TDD-2x2-Container', 'LTE-TDD-2x2-Container') + } + } + post { + always { + script { + finalizeSlaveJob('RAN-LTE-TDD-2x2-Container') + } + } + failure { + script { + currentBuild.result = 'FAILURE' + } + } + } + } + //avra is offline, re-enable once it is available //stage ("T1-Offload-Test") { // when { expression {do5Gtest} } diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index 9a00ec3dfe..9aa493b3cf 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -844,7 +844,7 @@ class Containerize(): CreateWorkspace(mySSH, lSourcePath, self.ranRepository, self.ranCommitID, self.ranTargetBranch, self.ranAllowMerge) mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5) - mySSH.command('cp docker-compose.yml ci-docker-compose.yml', '\$', 5) + mySSH.command('cp docker-compose.y*ml ci-docker-compose.yml', '\$', 5) imagesList = ['oai-enb', 'oai-gnb', 'oai-nr-cuup'] for image in imagesList: imageToUse = self.ImageTagToUse(image) diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index 9fa1dcbb71..2bd8ba4263 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -1227,7 +1227,7 @@ class OaiCiTest(): raise Exception("could not corver prod-trf-gen IP address") cn_target_ip = result.group('trf_ip_addr') SSH.close() - cn_iperf_prefix = "docker exec -it prod-trf-gen" # -w /iperf-2.0.13 necessary? + cn_iperf_prefix = "docker exec prod-trf-gen" # -w /iperf-2.0.13 necessary? else: # ltebox, sabox cn_target_ip = "192.172.0.1" cn_iperf_prefix = "" diff --git a/ci-scripts/conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf b/ci-scripts/conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf index f1d30c4b42..2042768933 100644 --- a/ci-scripts/conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf +++ b/ci-scripts/conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf @@ -172,7 +172,7 @@ eNBs = ////////// MME parameters: - mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR"; + mme_ip_address = ( { ipv4 = "192.168.61.195"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -191,11 +191,11 @@ eNBs = NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = "eno1"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "172.21.16.128"; ENB_INTERFACE_NAME_FOR_S1U = "eno1"; - ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_S1U = "172.21.16.128"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 - ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_X2C = "172.21.16.128"; ENB_PORT_FOR_X2C = 36422; # Spec 36422 }; } diff --git a/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf b/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf index c3d9b7c893..e50c1acfe8 100644 --- a/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf +++ b/ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf @@ -172,7 +172,7 @@ eNBs = ////////// MME parameters: - mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR"; + mme_ip_address = ( { ipv4 = "192.168.61.195"; ipv6 = "192:168:30::17"; active = "yes"; preference = "ipv4"; @@ -191,11 +191,11 @@ eNBs = NETWORK_INTERFACES : { ENB_INTERFACE_NAME_FOR_S1_MME = "eno1"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_S1_MME = "172.21.16.128"; ENB_INTERFACE_NAME_FOR_S1U = "eno1"; - ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_S1U = "172.21.16.128"; ENB_PORT_FOR_S1U = 2152; # Spec 2152 - ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR"; + ENB_IPV4_ADDRESS_FOR_X2C = "172.21.16.128"; ENB_PORT_FOR_X2C = 36422; # Spec 36422 }; } diff --git a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml new file mode 100644 index 0000000000..480825bede --- /dev/null +++ b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml @@ -0,0 +1,160 @@ + + + + TEST-LTE-2x2-N3XX-TM1 + 2.6 Ghz TDD LTE 2x2 TM1 + tasks + 1 + + +111111 +100000 +010000 +030101 +010001 +000001 +050000 +050001 +070000 +070001 +010010 +010002 +030201 + + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-enb + + + + Custom_Command + Disable Sleep States + obelix + sudo cpupower idle-set -D 0 + + + + Custom_Command + Enable Sleep States + obelix + sudo cpupower idle-set -E + + + + Deploy_Object + Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container + ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1 + 0 + 0 + + + + IdleSleep + Sleep + 5 + + + + Initialize_UE + Initialize Quectel + nrmodule2_quectel + + + + Terminate_UE + Terminate Quectel + nrmodule2_quectel + + + + Attach_UE + Attach UE + nrmodule2_quectel + + + + Ping + Ping: 20 pings + nrmodule2_quectel + -c 20 + 1 + 60 + + + + Ping + Ping: 100 pings, size 1024 + nrmodule2_quectel + -c 100 -s 1024 -i 0,2 + 1 + 60 + + + + Iperf + iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile) + -u -b 26M -t 60 + DL + nrmodule2_quectel + 5 + 95 + single-ue + + + + Iperf + iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile) + -u -b 7M -t 60 + UL + nrmodule2_quectel + 5 + 95 + single-ue + + + + Detach_UE + Detach UE + nrmodule2_quectel + + + + Undeploy_Object + Undeploy gNB + ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1 + 0 + 0 + + + + + diff --git a/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml new file mode 100644 index 0000000000..b3dc7efab7 --- /dev/null +++ b/ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml @@ -0,0 +1,160 @@ + + + + TEST-LTE-2x2-N3XXi-TM2 + 2.6 Ghz TDD LTE 2x2 TM2 + tasks + 1 + + +111111 +100000 +010000 +030101 +010001 +000001 +050000 +050001 +070000 +070001 +010010 +010002 +030201 + + + + + + Pull_Local_Registry + Pull Images from Local Registry + 0 + oai-enb + + + + Custom_Command + Disable Sleep States + obelix + sudo cpupower idle-set -D 0 + + + + Custom_Command + Enable Sleep States + obelix + sudo cpupower idle-set -E + + + + Deploy_Object + Deploy eNB (TDD/Band38/2.6Ghz/N3XX) in a container + ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2 + 0 + 0 + + + + IdleSleep + Sleep + 5 + + + + Initialize_UE + Initialize Quectel + nrmodule2_quectel + + + + Terminate_UE + Terminate Quectel + nrmodule2_quectel + + + + Attach_UE + Attach UE + nrmodule2_quectel + + + + Ping + Ping: 20 pings + nrmodule2_quectel + -c 20 + 1 + 60 + + + + Ping + Ping: 100 pings, size 1024 + nrmodule2_quectel + -c 100 -s 1024 -i 0,2 + 1 + 60 + + + + Iperf + iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile) + -u -b 1M -t 60 + DL + nrmodule2_quectel + 5 + 95 + single-ue + + + + Iperf + iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile) + -u -b 7M -t 60 + UL + nrmodule2_quectel + 5 + 95 + single-ue + + + + Detach_UE + Detach UE + nrmodule2_quectel + + + + Undeploy_Object + Undeploy gNB + ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2 + 0 + 0 + + + + + diff --git a/ci-scripts/xml_files/lte_2x2_tm1_quectel.xml b/ci-scripts/xml_files/lte_2x2_tm1_quectel.xml deleted file mode 100644 index 4270510842..0000000000 --- a/ci-scripts/xml_files/lte_2x2_tm1_quectel.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - TEST-LTE-TM1-Tab1 - LTE 2x2 TM1 Ping DL UL with QUECTEL - tasks - 1 - - 100000 - 010000 - 030000 - 010001 - 050000 - 050001 - 070000 - 070001 - 010011 - 010002 - 080000 - 200000 - - - - - Custom_Command - Disable Sleep States - obelix - sudo cpupower idle-set -D 0 - - - Custom_Command - Enable Sleep States - obelix - sudo cpupower idle-set -E - - - - Initialize_UE - Initialize Quectel - nrmodule2_quectel - - - Terminate_UE - Terminate Quectel - nrmodule2_quectel - - - Attach_UE - Attach Quectel - nrmodule2_quectel - - - Detach_UE - Detach Quectel - nrmodule2_quectel - - - - Initialize_eNB - Initialize eNB - -O ci-scripts/conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time - 0 - 0 - lte - yes - yes - 172.21.19.13 - - - - - IdleSleep - Sleep - 5 - - - - IdleSleep - Sleep - 20 - - - - - Ping - Ping: 20 pings - nrmodule2_quectel - -c 20 - 1 - 60 - - - Ping - Ping: 100 pings, size 1024 - nrmodule2_quectel - -c 100 -s 1024 -i 0,2 - 1 - 60 - - - - - Iperf - iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile) - -u -b 26M -t 60 - DL - nrmodule2_quectel - 5 - 95 - single-ue - - - - Iperf - iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile) - -u -b 7M -t 60 - UL - nrmodule2_quectel - 5 - 95 - single-ue - - - - - - - Terminate_eNB - Terminate eNB - 0 - 0 - lte - - - - Terminate_eNB - Terminate gNB - 1 - 1 - nr - - - - diff --git a/ci-scripts/xml_files/lte_2x2_tm2_quectel.xml b/ci-scripts/xml_files/lte_2x2_tm2_quectel.xml deleted file mode 100644 index d02749700d..0000000000 --- a/ci-scripts/xml_files/lte_2x2_tm2_quectel.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - TEST-LTE-TM2-Tab2 - LTE 2x2 TM2 Ping DL UL with QUECTEL - tasks - 1 - - 100000 - 010000 - 030001 - 010001 - 050002 - 050003 - 070002 - 070003 - 010011 - 010002 - 080000 - 200000 - - - - - Custom_Command - Disable Sleep States - obelix - sudo cpupower idle-set -D 0 - - - Custom_Command - Enable Sleep States - obelix - sudo cpupower idle-set -E - - - - Initialize_UE - Initialize Quectel - nrmodule2_quectel - - - Terminate_UE - Terminate Quectel - nrmodule2_quectel - - - Attach_UE - Attach Quectel - nrmodule2_quectel - - - Detach_UE - Detach Quectel - nrmodule2_quectel - - - - Initialize_eNB - Initialize eNB - -O ci-scripts/conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 --log_config.global_log_options level,nocolor,time - 0 - 0 - lte - yes - yes - 172.21.19.13 - - - - - IdleSleep - Sleep - 5 - - - - IdleSleep - Sleep - 20 - - - - - Ping - Ping: 20 pings - nrmodule2_quectel - -c 20 - 1 - 60 - - - Ping - Ping: 100 pings, size 1024 - nrmodule2_quectel - -c 100 -s 1024 -i 0,2 - 1 - 60 - - - - - Iperf - iperf (DL/1Mbps/UDP)(60 sec)(single-ue profile) - -u -b 1M -t 60 - DL - nrmodule2_quectel - 5 - 95 - single-ue - - - - Iperf - iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile) - -u -b 7M -t 60 - UL - nrmodule2_quectel - 5 - 95 - single-ue - - - - - - - Terminate_eNB - Terminate eNB - 0 - 0 - lte - - - - Terminate_eNB - Terminate gNB - 1 - 1 - nr - - - - diff --git a/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1/docker-compose.yml b/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1/docker-compose.yml new file mode 100644 index 0000000000..abd2c7d40e --- /dev/null +++ b/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm1/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.8' +services: + oai-enb: + image: oai-enb:latest + privileged: true + container_name: oai-enb + environment: + TZ: Europe/Paris + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 + volumes: + - ../../conf_files/enb.band38.lte_2x2.100PRB.usrpn310.conf:/opt/oai-enb/etc/mounted.conf + network_mode: "host" + healthcheck: + test: /bin/bash -c "pgrep lte-softmodem" + interval: 10s + timeout: 5s + retries: 5 diff --git a/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2/docker-compose.yml b/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2/docker-compose.yml new file mode 100644 index 0000000000..1679b632b6 --- /dev/null +++ b/ci-scripts/yaml_files/lte_n3xx_tdd_2x2_tm2/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3.8' +services: + oai-enb: + image: oai-enb:latest + privileged: true + container_name: oai-enb + environment: + TZ: Europe/Paris + USE_VOLUMED_CONF: 'yes' + USE_ADDITIONAL_OPTIONS: --usrp-tx-thread-config 1 --thread-pool 0,2,4,6 + volumes: + - ../../conf_files/enb.band38.lte_2x2_tm2.100PRB.usrpn310.conf:/opt/oai-enb/etc/mounted.conf + network_mode: "host" + healthcheck: + test: /bin/bash -c "pgrep lte-softmodem" + interval: 10s + timeout: 5s + retries: 5 diff --git a/doc/TESTBenches.md b/doc/TESTBenches.md index 20d8f79ff0..33e3ede1eb 100644 --- a/doc/TESTBenches.md +++ b/doc/TESTBenches.md @@ -108,6 +108,9 @@ Webhook build using the OpenShift Cluster - [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/) - obelix: Ubuntu 18 image build using docker +- [RAN-LTE-TDD-2x2-Container](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-LTE-TDD-2x2-Container/) + - obelix + N310, porcepix, quectel + - TM1 and TM2 test ### [RAN-CI-NSA-Trigger](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-CI-NSA-Trigger/)