Skip to content

Commit 011905c

Browse files
asaezpercodebot
authored andcommitted
ci: add 2x2 mimo dddsu tests
1 parent 0be8950 commit 011905c

File tree

6 files changed

+157
-1
lines changed

6 files changed

+157
-1
lines changed

.gitlab/ci/e2e.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ variables:
1818
- "zmq"
1919
- "zmq_deb"
2020
- "zmq_single_ue"
21+
- "zmq_2x2_mimo"
2122
- "zmq_4x4_mimo"
2223
- "zmq_srsue"
2324
- "zmq_cudu"
@@ -287,6 +288,20 @@ amari 1UE:
287288
- *txrx-lib
288289
- *retina-needs
289290

291+
amari 1UE 2x2 mimo:
292+
extends: .zmq
293+
variables:
294+
TESTBED: "zmq_2x2_mimo"
295+
MARKERS: "zmq_2x2_mimo"
296+
E2E_LOG_LEVEL: "info"
297+
RETINA_PARAM_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False gnb.all.enable_integrity_protection=True"
298+
needs:
299+
- job: "basic relwithdeb"
300+
artifacts: true
301+
- *txrx-lib
302+
- *retina-needs
303+
allow_failure: true
304+
290305
amari 1UE 4x4 mimo:
291306
extends: .zmq
292307
variables:

.gitlab/ci/e2e/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
22
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
3-
RETINA_VERSION=0.51.12
3+
RETINA_VERSION=0.51.14
44
UBUNTU_VERSION=24.04
55
AMARISOFT_VERSION=2023-09-08
66
SRSUE_VERSION=23.11
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#
2+
# Copyright 2013-2024 Software Radio Systems Limited
3+
#
4+
# By using this file, you agree to the terms and conditions set
5+
# forth in the LICENSE file which can be found at the top level of
6+
# the distribution.
7+
#
8+
9+
- name: amarisoft-ue
10+
type: ue
11+
image: ${RETINA_REGISTRY_PREFIX}/amarisoftue:${AMARISOFT_VERSION}_${RETINA_VERSION}
12+
labels:
13+
- ${ZMQ_HOSTLABEL_1}
14+
nof_ports: 32
15+
requirements:
16+
arch: amd64
17+
cpu:
18+
requests: 5
19+
limits: 5
20+
memory:
21+
requests: "26G"
22+
limits: "26G"
23+
ephemeral-storage:
24+
requests: "6G"
25+
limits: "6G"
26+
resources:
27+
- type: zmq
28+
nof_antennas_dl: 2
29+
nof_antennas_ul: 2
30+
- type: license
31+
model: amarisoft-5g
32+
shared_files:
33+
- local_path: ${AMARISOFT_TXRX_BINARY_PATH}
34+
remote_path: /opt/lteue/trx_srsran.so
35+
is_executable: true
36+
37+
- name: srs-gnb
38+
type: gnb
39+
image: ${RETINA_REGISTRY_PREFIX}/srsgnb:${RETINA_VERSION}
40+
labels:
41+
- ${ZMQ_HOSTLABEL_1}
42+
requirements:
43+
arch: amd64
44+
cpu:
45+
requests: 5
46+
limits: 5
47+
memory:
48+
requests: "26G"
49+
limits: "26G"
50+
ephemeral-storage:
51+
requests: "6G"
52+
limits: "6G"
53+
resources:
54+
- type: zmq
55+
nof_antennas_dl: 2
56+
nof_antennas_ul: 2
57+
environment:
58+
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
59+
shared_files:
60+
- local_path: ${GNB_BINARY_PATH}
61+
remote_path: /usr/local/bin/gnb
62+
is_executable: true
63+
64+
- name: open5gs
65+
type: 5gc
66+
requirements:
67+
arch: amd64
68+
cpu:
69+
requests: 1
70+
limits: 1
71+
memory:
72+
requests: "8G"
73+
limits: "8G"
74+
ephemeral-storage:
75+
requests: "6G"
76+
limits: "6G"
77+
image: ${RETINA_REGISTRY_PREFIX}/open5gs:${OPEN5GS_VERSION}_${RETINA_VERSION}
78+
labels:
79+
- ${ZMQ_HOSTLABEL_1}

tests/e2e/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ markers = [
3434
"rf_not_crash",
3535
"reattach",
3636
"test",
37+
"zmq_2x2_mimo",
3738
"zmq_4x4_mimo",
3839
"zmq_srsue",
3940
"test_mode",

tests/e2e/tests/iperf.py

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,59 @@ def test_android_hp(
335335
)
336336

337337

338+
@mark.parametrize(
339+
"direction",
340+
(param(IPerfDir.BIDIRECTIONAL, id="bidirectional", marks=mark.bidirectional),),
341+
)
342+
@mark.parametrize(
343+
"protocol",
344+
(param(IPerfProto.UDP, id="udp", marks=mark.udp),),
345+
)
346+
@mark.parametrize(
347+
"band, common_scs, bandwidth",
348+
(param(41, 30, 20, id="band:%s-scs:%s-bandwidth:%s"),),
349+
)
350+
@mark.zmq_2x2_mimo
351+
@mark.flaky(reruns=2, only_rerun=["failed to start", "Attach timeout reached", "5GC crashed"])
352+
# pylint: disable=too-many-arguments
353+
def test_zmq_2x2_mimo(
354+
retina_manager: RetinaTestManager,
355+
retina_data: RetinaTestData,
356+
ue_32: Tuple[UEStub, ...],
357+
fivegc: FiveGCStub,
358+
gnb: GNBStub,
359+
band: int,
360+
common_scs: int,
361+
bandwidth: int,
362+
protocol: IPerfProto,
363+
direction: IPerfDir,
364+
):
365+
"""
366+
ZMQ 4x4 mimo IPerfs
367+
"""
368+
369+
_iperf(
370+
retina_manager=retina_manager,
371+
retina_data=retina_data,
372+
ue_array=ue_32,
373+
gnb=gnb,
374+
fivegc=fivegc,
375+
band=band,
376+
common_scs=common_scs,
377+
bandwidth=bandwidth,
378+
sample_rate=None,
379+
iperf_duration=SHORT_DURATION,
380+
protocol=protocol,
381+
bitrate=MEDIUM_BITRATE,
382+
direction=direction,
383+
global_timing_advance=-1,
384+
time_alignment_calibration=0,
385+
always_download_artifacts=False,
386+
rx_to_tx_latency=2,
387+
enable_dddsu=True,
388+
)
389+
390+
338391
@mark.parametrize(
339392
"direction",
340393
(
@@ -617,6 +670,8 @@ def _iperf(
617670
common_search_space_enable: bool = False,
618671
prach_config_index=-1,
619672
ue_stop_timeout: int = 0,
673+
rx_to_tx_latency: int = -1,
674+
enable_dddsu: bool = False,
620675
):
621676
wait_before_power_off = 5
622677

@@ -633,6 +688,8 @@ def _iperf(
633688
time_alignment_calibration=time_alignment_calibration,
634689
common_search_space_enable=common_search_space_enable,
635690
prach_config_index=prach_config_index,
691+
rx_to_tx_latency=rx_to_tx_latency,
692+
enable_dddsu=enable_dddsu,
636693
)
637694
configure_artifacts(
638695
retina_data=retina_data,

tests/e2e/tests/steps/configuration.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ def configure_test_parameters(
4040
num_cells: int = 1,
4141
cell_position_offset: Tuple[float, float, float] = (1000, 0, 0),
4242
enable_security_mode: bool = False,
43+
rx_to_tx_latency: int = -1,
44+
enable_dddsu: bool = False,
4345
):
4446
"""
4547
Configure test parameters
@@ -58,6 +60,7 @@ def configure_test_parameters(
5860
"noise_spd": noise_spd,
5961
"num_cells": num_cells,
6062
"cell_position_offset": cell_position_offset,
63+
"rx_to_tx_latency": rx_to_tx_latency,
6164
},
6265
},
6366
"gnb": {
@@ -73,6 +76,7 @@ def configure_test_parameters(
7376
"enable_qos_reestablishment": enable_qos_reestablishment,
7477
"num_cells": num_cells,
7578
"enable_security_mode": enable_security_mode,
79+
"enable_dddsu": enable_dddsu,
7680
},
7781
},
7882
}

0 commit comments

Comments
 (0)