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_cluster.py b/ci-scripts/cls_cluster.py
index 648d132b9e..b075ea3a1c 100644
--- a/ci-scripts/cls_cluster.py
+++ b/ci-scripts/cls_cluster.py
@@ -42,7 +42,8 @@ IMAGE_REGISTRY_SERVICE_NAME = "image-registry.openshift-image-registry.svc"
NAMESPACE = "oaicicd-ran"
OCUrl = "https://api.oai.cs.eurecom.fr:6443"
OCRegistry = "default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/"
-
+CI_OC_RAN_NAMESPACE = "oaicicd-ran"
+CI_OC_CORE_NAMESPACE = "oaicicd-core-for-ci-ran"
def OC_login(cmd, ocUserName, ocPassword, ocProjectName):
if ocUserName == '' or ocPassword == '' or ocProjectName == '':
@@ -198,23 +199,22 @@ class Cluster:
HELP.GenericHelp(CONST.Version)
HELP.EPCSrvHelp(self.imageToPull)
sys.exit('Insufficient eNB Parameters')
- lIpAddr = self.eNBIPAddress
self.testCase_id = HTML.testCase_id
- cmd = cls_cmd.getConnection(lIpAddr)
- succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, self.OCProjectName)
+ cmd = cls_cmd.getConnection(self.eNBIPAddress)
+ succeeded = OC_login(cmd, self.OCUserName, self.OCPassword, CI_OC_RAN_NAMESPACE)
if not succeeded:
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
return False
ret = cmd.run(f'oc whoami -t | docker login -u oaicicd --password-stdin {self.OCRegistry}')
if ret.returncode != 0:
- logging.error(f'\u001B[1m Unable to access OC project {ocProjectName}\u001B[0m')
+ logging.error(f'\u001B[1m Unable to access OC project {CI_OC_RAN_NAMESPACE}\u001B[0m')
OC_logout(cmd)
cmd.close()
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
return False
for image in self.imageToPull:
- imagePrefix = f'{self.OCRegistry}{self.OCProjectName}'
+ imagePrefix = f'{self.OCRegistry}{CI_OC_RAN_NAMESPACE}'
imageTag = cls_containerize.ImageTagToUse(image, self.ranCommitID, self.ranBranch, self.ranAllowMerge)
ret = cmd.run(f'docker pull {imagePrefix}/{imageTag}')
if ret.returncode != 0:
diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py
index 8c684a62d8..6b5e4e50af 100644
--- a/ci-scripts/cls_containerize.py
+++ b/ci-scripts/cls_containerize.py
@@ -800,7 +800,7 @@ class Containerize():
logging.debug('Removing test images locally')
myCmd = cls_cmd.LocalCmd()
- imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru', 'oai-nr-cuup']
+ imageNames = ['oai-enb', 'oai-gnb', 'oai-lte-ue', 'oai-nr-ue', 'oai-lte-ru', 'oai-nr-cuup', 'oai-gnb-aw2s']
for image in imageNames:
imageTag = ImageTagToUse(image, self.ranCommitID, self.ranBranch, self.ranAllowMerge)
cmd = f'docker rmi oai-ci/{imageTag}'
diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py
index 623fc928c0..8166c50697 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
@@ -231,7 +232,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 +995,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 = "172.21.6.102"
+ else: # lteboix, sabox
cn_target_ip = "192.172.0.1"
cn_iperf_prefix = ""
@@ -1077,6 +1079,20 @@ class OaiCiTest():
self.Iperf_analyzeV2BIDIR(lock, ue.getHost(), ue.getName(), statusQueue, server_filename, client_filename)
+ elif self.iperf_direction == "IPERF3":
+ cmd = cls_cmd.getConnection(ue.getHost())
+ cmd.run(f'rm /tmp/{server_filename}', reportNonZero=False)
+ port = f'{5002+idx}'
+ cmd.run(f'{ue.getCmdPrefix()} iperf3 -c {cn_target_ip} -p {port} {iperf_opt} --get-server-output &> /tmp/{server_filename}', timeout=iperf_time*1.5)
+ 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,7 +1232,6 @@ class OaiCiTest():
#result = re.search('iperf version 2.0.10', str(iperfStdout.strip()))
#if result is not None:
# dummyIperfVersion = '2.0.10'
-
multi_jobs = []
ue_num = len(ues)
i = 0
diff --git a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
index 73ea955f63..5c37a2a413 100644
--- a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
+++ b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
@@ -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/epc.py b/ci-scripts/epc.py
index f3f23f198c..30a9fc87a4 100644
--- a/ci-scripts/epc.py
+++ b/ci-scripts/epc.py
@@ -75,7 +75,6 @@ class EPCManagement():
self.OCRegistry = "default-route-openshift-image-registry.apps.oai.cs.eurecom.fr/"
self.OCUserName = ''
self.OCPassword = ''
- self.OCProjectName = ''
self.imageToPull = ''
self.eNBSourceCodePath = ''
@@ -240,9 +239,9 @@ class EPCManagement():
HTML.CreateHtmlTestRow(self.Type, 'OK', CONST.ALL_PROCESSES_OK)
def Initialize5GCN(self, HTML):
- if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.SourceCodePath == '' or self.Type == '':
+ if self.IPAddress == '' or self.UserName == '' or self.Password == '' or self.Type == '':
HELP.GenericHelp(CONST.Version)
- HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.SourceCodePath, self.Type)
+ HELP.EPCSrvHelp(self.IPAddress, self.UserName, self.Password, self.Type)
sys.exit('Insufficient EPC Parameters')
mySSH = cls_cmd.getConnection(self.IPAddress)
html_cell = ''
@@ -299,8 +298,8 @@ class EPCManagement():
imageNames = ["oai-nrf", "oai-amf", "oai-smf", "oai-spgwu-tiny", "oai-ausf", "oai-udm", "oai-udr", "mysql","oai-traffic-server"]
logging.debug('Deploying OAI CN5G on Openshift Cluster')
lIpAddr = self.IPAddress
- lSourcePath = self.SourceCodePath
- succeeded = OC.OC_login(mySSH, self.OCUserName, self.OCPassword, self.OCProjectName)
+ lSourcePath = "/opt/oai-cn5g-fed-develop-2023-04-28-20897"
+ succeeded = OC.OC_login(mySSH, self.OCUserName, self.OCPassword, OC.CI_OC_CORE_NAMESPACE)
if not succeeded:
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
@@ -599,7 +598,7 @@ class EPCManagement():
mySSH.run(f'rm -Rf {lSourcePath}/logs')
mySSH.run(f'mkdir -p {lSourcePath}/logs')
logging.debug('OC OAI CN5G - Collecting Log files to workspace')
- succeeded = OC.OC_login(mySSH, self.OCUserName, self.OCPassword, self.OCProjectName)
+ succeeded = OC.OC_login(mySSH, self.OCUserName, self.OCPassword, OC.CI_OC_CORE_NAMESPACE)
if not succeeded:
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.OC_LOGIN_FAIL)
@@ -618,7 +617,7 @@ class EPCManagement():
mySSH.run(f'cd {lSourcePath}/logs && zip -r -qq test_logs_CN.zip *.log')
mySSH.copyin(f'{lSourcePath}/logs/test_logs_CN.zip','test_logs_CN.zip')
ret = mySSH.run(f'oc get pods', silent=True)
- res = re.search('No resources found in oaicicd-ran namespace.', ret.stdout)
+ res = re.search(f'No resources found in {OC.CI_OC_CORE_NAMESPACE} namespace.', ret.stdout)
if res is not None:
logging.debug('OC OAI CN5G components uninstalled')
message = 'OC OAI CN5G components uninstalled'
diff --git a/ci-scripts/xml_files/container_sa_aw2s_asue.xml b/ci-scripts/xml_files/container_sa_aw2s_asue.xml
index 7d1709d53f..7959718eb0 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/20Mbps/UDP)(30 sec)(multi-ue profile)
+ -u -b 60M -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
+
+
+
+