diff --git a/ci-scripts/ci_ueinfra.yaml b/ci-scripts/ci_ueinfra.yaml
index 52049f58c1..cb6f500628 100644
--- a/ci-scripts/ci_ueinfra.yaml
+++ b/ci-scripts/ci_ueinfra.yaml
@@ -49,7 +49,7 @@ adb_ue_2:
amarisoft_ue:
Host: amariue
- InitScript: /root/NV18-06-2022/lteue-linux-2023-03-17/lteue /root/oaicicd/ran_sa_aw2s_asue/aw2s-multi-20897.cfg &
+ InitScript: /root/NV18-06-2022/lteue-linux-2023-03-17/lteue /root/oaicicd/ran_sa_aw2s_asue/aw2s-multi-20897-2x2.cfg &
TermScript: /root/NV18-06-2022/lteue-linux-2023-03-17/doc/ws.js 127.0.0.1:9002 '{"message":"quit"}'
amarisoft_ue_1:
Host: amariue
diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py
index 623fc928c0..e97a1dd18e 100644
--- a/ci-scripts/cls_oaicitest.py
+++ b/ci-scripts/cls_oaicitest.py
@@ -49,6 +49,7 @@ import concurrent.futures
#import our libs
import helpreadme as HELP
import constants as CONST
+import cls_cluster as OC
import sshconnection
import cls_module_ue
@@ -58,6 +59,7 @@ logging.getLogger("matplotlib").setLevel(logging.WARNING)
import matplotlib.pyplot as plt
import numpy as np
+OC_CN_PROJECT = "oaicicd-core-for-ci-ran"
#-----------------------------------------------------------
# OaiCiTest Class Definition
#-----------------------------------------------------------
@@ -231,7 +233,6 @@ class OaiCiTest():
[f.result() for f in futures]
HTML.CreateHtmlTestRowQueue('N/A', 'OK', messages)
-
def InitializeOAIUE(self,HTML,RAN,EPC,CONTAINERS):
if self.UEIPAddress == '' or self.UEUserName == '' or self.UEPassword == '' or self.UESourceCodePath == '':
HELP.GenericHelp(CONST.Version)
@@ -995,7 +996,9 @@ class OaiCiTest():
cn_target_ip = result.group('trf_ip_addr')
SSH.close()
cn_iperf_prefix = "docker exec prod-trf-gen" # -w /iperf-2.0.13 necessary?
- else: # ltebox, sabox
+ if (re.match('OC-OAI-CN5G', EPC.Type, re.IGNORECASE)):
+ cn_target_ip = EPC.IperfSrvIPAddress
+ else: # lteboix, sabox
cn_target_ip = "192.172.0.1"
cn_iperf_prefix = ""
@@ -1077,6 +1080,26 @@ class OaiCiTest():
self.Iperf_analyzeV2BIDIR(lock, ue.getHost(), ue.getName(), statusQueue, server_filename, client_filename)
+ elif self.iperf_direction == "IPERF3":
+ logging.debug("Iperf3 requested")
+
+ cmd = cls_cmd.getConnection(ue.getHost())
+ cmd.run(f'rm /tmp/{server_filename}', reportNonZero=False)
+ port = f'-p {5002+idx}'
+ cmd.run(f'{ue.getCmdPrefix()} iperf3 -c {cn_target_ip} {port} {iperf_opt} &> /tmp/{server_filename}', timeout=iperf_time*1.5)
+ cmd.close()
+ time.sleep(1)
+ cmd = cls_cmd.getConnection(ue.getHost())
+ cmd.copyin(f'/tmp/{server_filename}', server_filename)
+ cmd.close()
+
+ if udpIperf:
+ self.Iperf_analyzeV2Server(lock, ue.getIP(), ue.getName(), statusQueue, iperf_opt, server_filename, 1)
+ else:
+ cmd = cls_cmd.getConnection(EPC.IPAddress)
+ self.Iperf_analyzeV2TCPOutput(lock, ue.getIP(), ue.getName(), statusQueue, iperf_opt, EPC, cmd, f'/tmp/{server_filename}')
+ cmd.close()
+
else :
raise Exception("Incorrect or missing IPERF direction in XML")
@@ -1216,6 +1239,25 @@ class OaiCiTest():
#result = re.search('iperf version 2.0.10', str(iperfStdout.strip()))
#if result is not None:
# dummyIperfVersion = '2.0.10'
+ if (re.match('OC-OAI-CN5G', EPC.Type, re.IGNORECASE)):
+ lOcProject = OC_CN_PROJECT
+ mySSH = cls_cmd.getConnection(EPC.IPAddress)
+ succeeded = OC.OC_login(mySSH, EPC.OCUserName, EPC.OCPassword, lOcProject)
+ if not succeeded:
+ logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
+ HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
+ HTML.CreateHtmlTabFooter(False)
+ return False
+ ret = mySSH.run('oc describe pod oai-traffic-server | grep -w "ips" -A 1 | tail -n 1 | awk \'{{print $1}}\' | sed \'s/"//g\'')
+ EPC.IperfSrvIPAddress = ret.stdout
+ if not EPC.IperfSrvIPAddress:
+ logging.debug('IP address of oai-traffic-server not found!')
+ OC.OC_logout(mySSH)
+ HTML.CreateHtmlTestRow(self.Type, 'KO', CONST.INVALID_PARAMETER)
+ HTML.CreateHtmlTabFooter(False)
+ raise Exception("could not obtain oai-traffic-server IP address")
+ return Fals
+ OC.OC_logout(mySSH)
multi_jobs = []
ue_num = len(ues)
diff --git a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.dddsu.conf
similarity index 99%
rename from ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
rename to ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.dddsu.conf
index 73ea955f63..c8c2643e50 100644
--- a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
+++ b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.dddsu.conf
@@ -24,7 +24,7 @@ gNBs =
pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2;
do_CSIRS = 1;
- do_SRS = 0;
+ do_SRS = 1;
pdcch_ConfigSIB1 = (
{
@@ -152,9 +152,9 @@ gNBs =
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 5;
- nrofDownlinkSlots = 2;
+ nrofDownlinkSlots = 3;
nrofDownlinkSymbols = 6;
- nrofUplinkSlots = 2;
+ nrofUplinkSlots = 1;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -10;
@@ -200,7 +200,7 @@ MACRLCs = (
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 10;
- ul_max_mcs = 15;
+ ul_max_mcs = 28;
}
);
diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue.xml b/ci-scripts/xml_files/container_sa_aw2s_asue.xml
index 7d1709d53f..f4cc56933e 100644
--- a/ci-scripts/xml_files/container_sa_aw2s_asue.xml
+++ b/ci-scripts/xml_files/container_sa_aw2s_asue.xml
@@ -30,8 +30,14 @@
001000
020000
002000
+ 002001
002002
+ 002003
+ 002004
+ 002005
000100
+ 000010
+ 000020
000200
003000
004000
@@ -43,6 +49,7 @@
Pull_Cluster_Image
Pull Images from Cluster
+ oaicicd-ran
oai-gnb-aw2s
@@ -60,7 +67,7 @@
amarisoft_ue
-
+
Attach_UE
Attach UE
amarisoft_ue_1
@@ -72,28 +79,68 @@
amarisoft_ue_2
+
+ Attach_UE
+ Attach UE
+ amarisoft_ue_3
+
+
+
+ Attach_UE
+ Attach UE
+ amarisoft_ue_4
+
+
+
+ Attach_UE
+ Attach UE
+ amarisoft_ue_5
+
+
+
+ Iperf
+ iperf (DL/30Mbps/UDP)(30 sec)(multi-ue profile)
+ -u -b 90M -t 30 -i 1 -R
+ IPERF3
+ amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3
+ 25
+ 80
+ balanced
+
+
+
+ Iperf
+ iperf (UL/5Mbps/UDP)(30 sec)(multi-ue profile)
+ -u -b 15M -t 30 -i 1
+ IPERF3
+ amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3
+ 25
+ 80
+ balanced
+
+
Ping
- Ping: 20pings in 20sec
- amarisoft_ue_1 amarisoft_ue_2
+ Ping: 20pings in 20sec, multi-ue
+ amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5
-c 20
1
- 15
+ 25
Ping
- Ping: 100pings in 20sec
- amarisoft_ue_1 amarisoft_ue_2
+ Ping: 100pings in 20sec, multi-ue
+ amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5
-c 100 -i 0.2
1
- 15
+ 30
Detach_UE
Detach UE
- amarisoft_ue_1 amarisoft_ue_2
+ amarisoft_ue_1 amarisoft_ue_2 amarisoft_ue_3 amarisoft_ue_4 amarisoft_ue_5
@@ -119,4 +166,3 @@
-
diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue_cleanup.xml b/ci-scripts/xml_files/container_sa_aw2s_asue_cleanup.xml
new file mode 100644
index 0000000000..8c8daf9e04
--- /dev/null
+++ b/ci-scripts/xml_files/container_sa_aw2s_asue_cleanup.xml
@@ -0,0 +1,46 @@
+
+
+ test-aw2s-cleanup
+ CleanUp AW2S ASUE
+ trash
+
+ 111111
+ 222222
+
+
+
+
+ Clean_Test_Server_Images
+ Clean Test Images on Test Server
+ 0
+
+
+
+ Terminate_UE
+ Terminate UE
+ amarisoft_ue
+
+
+
+
diff --git a/ci-scripts/yaml_files/sa_aw2s_gnb/docker-compose.yml b/ci-scripts/yaml_files/sa_aw2s_gnb/docker-compose.yml
index 7468df5e62..f2747098c2 100644
--- a/ci-scripts/yaml_files/sa_aw2s_gnb/docker-compose.yml
+++ b/ci-scripts/yaml_files/sa_aw2s_gnb/docker-compose.yml
@@ -10,7 +10,7 @@ services:
USE_VOLUMED_CONF: 'yes'
USE_ADDITIONAL_OPTIONS: --sa
volumes:
- - ../../conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf:/opt/oai-gnb-aw2s/etc/mounted.conf
+ - ../../conf_files/gnb.sa.band78.51prb.aw2s.dddsu.conf:/opt/oai-gnb-aw2s/etc/mounted.conf
healthcheck:
test: /bin/bash -c "pgrep nr-softmodem"
interval: 10s