Commit Graph
3584 Commits
Author SHA1 Message Date
Robert Schmidt b7ed2583ac Merge remote-tracking branch 'origin/improv_config_report' into integration_2025_w43 (!3714)
Improve handling of selection of RSRP/SINR report via configuration file

In current develop, the selection of SSB or CRI RSRP depends on the
do_CSIRS flag being activated. That's not wanted. CRI report for now it
is never handled, while we need SSB RSRP report for beam switching
regardless of CSI-RS configuration.
2025-10-24 14:30:39 +02:00
Robert Schmidt 574a75472c Merge remote-tracking branch 'origin/ci-test-adjustments' into integration_2025_w43 (!3711)
CI: Multiple adjustments

- Test with DDDSU (mixed: DDDDDDDDDDGGUU) TDD configuration in
  RAN-SA-B200-Module-SABOX-Container - 40 MHz TDD test
  * https://jenkins-oai.eurecom.fr/job/RAN-SA-B200-Module-SABOX-Container/8910/
- Update the node to localhost for RFSim and L2Sim pipelines:
  * https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-4G/3990/
  * https://jenkins-oai.eurecom.fr/job/RAN-L2-Sim-Test-4G/3056/
  * https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-5G/10273/
- Remove unused eNB_instance and eNB_serverId entries from XML, replace
  by node
- Remove nssai_sd from UE configuration (default value is used instead)
- Update CI configuration files
2025-10-23 19:20:26 +02:00
Robert Schmidt bca5939640 Merge remote-tracking branch 'origin/ci-fix-dockerhub-push' into integration_2025_w43 (!3710)
[CI] Update the Push to DockerHub Stage

This MR addresses two cases:

1. Error Handling: Ensures subsequent Image Test Processes stages
   continue to run even if the preceding Push to DockerHub stage fails
   (applies when the condition is PUSH event and doBuild is true).

2. Introduces conditional logic to correctly handle multi-architecture
   images: Images built for both AMD64 and Jetson ARMv8 (oai-gnb,
   oai-nr-ue, oai-nr-cuup) use docker buildx imagetools for push to
   DockerHub.

All other AMD64 images are pushed using standard Docker commands.

Related MR !3691
2025-10-23 19:19:48 +02:00
Shubhika Garg 61b5417817 ci: Update and implement conditional DockerHub push
- Push both AMD64 & ARMv8 Jetson images together for images built on both using `docker buildx imagetools`
  - Use standard 'docker pull and push' for images built only on AMD64.
2025-10-23 10:53:41 +02:00
francescomani e06d0c7199 improve handling of selection of RSRP/SINR report via configuration file 2025-10-23 10:52:51 +02:00
Guido Casati c3eaef704f Add monolithic N2 handover test pipeline with B210 and Quectel
- Add XML pipeline for N2 handover testing
- Add Docker compose for two monolithic gNBs
- Features:
  * Two monolithic gNBs (gNB1, gNB2) with proper CU+DU parameters
  * Gradual attenuation control using RC4DAT attenuator (5s duration)
  * N2 handover sequence: gNB1 → gNB2 → gNB1
  * Proper channel mapping: ch1-2 for gNB1, ch3-4 for gNB2
  * Telnet server configuration for CI commands
  * Handover-specific neighbor configuration
  * Clean test state management with attenuator reset
2025-10-22 14:48:34 +02:00
Jaroslava Fiedlerova a0f58d7104 CI: Update CI conf files
Update based on !3645

Note: For some test configurations we still need to provide
ra_ResponseWindow, for more details, check commit message of
41d14b571c
2025-10-21 15:22:10 +02:00
Jaroslava Fiedlerova 5b5b9b3a30 CI: remove nssai_sd UE config when default value is used
The SD value defaults to 0xffffff (16777215 in decimal) when not explicitly
set on the UE.
2025-10-21 15:02:01 +02:00
Jaroslava Fiedlerova c8b09f570f CI: RF-Sim-Test-5G replace node name by localhost
By configuring the Jenkins pythonExecutor to match the test machine, we can use
localhost as the node for running individual test cases. This change makes it
easy to move tests across machines, as the only adjustment needed is updating
the pythonExecutor in Jenkins.
2025-10-17 16:21:12 +02:00
Jaroslava Fiedlerova 2bacf7ba54 CI: RF-Sim-Test-4G replace node name by localhost
By configuring the Jenkins pythonExecutor to match the test machine, we can use
localhost as the node for running individual test cases. This change makes it
easy to move tests across machines, as the only adjustment needed is updating
the pythonExecutor in Jenkins.
2025-10-17 16:20:01 +02:00
Jaroslava Fiedlerova 149c4dbf6e CI: RFSim-5G update XML files
Use node for Create/Deploy/Undeploy() (as done in !3579)
2025-10-17 12:17:15 +02:00
Jaroslava Fiedlerova 867d476397 CI: L2-Sim-Test-4G replace node name by localhost
By configuring the Jenkins pythonExecutor to match the test machine, we can use
localhost as the node for running individual test cases. This change makes it
easy to move tests across machines, as the only adjustment needed is updating
the pythonExecutor in Jenkins.
2025-10-17 11:36:39 +02:00
Jaroslava Fiedlerova d0089369d3 CI: adjust TDD pattern in SA-B200 40 MHz TDD test 2025-10-17 10:59:49 +02:00
Shubhika Garg b0ab5e8795 ci: Ensure DockerHub push failure doesn't halt pipeline
- catchError will prevent from abruptly aborting the entire pipeline upon failure.
  - Removed redundant `currentBuild.result` in post-failure block
2025-10-17 10:28:36 +02:00
Jaroslava Fiedlerova 1f0e9abe2f Merge remote-tracking branch 'origin/aerial_25-2.1' into integration_2025_w42 (!3695)
CI: Upgrade Aerial setup to 25-2.1

The purpose of this MR is to upgrade the cuBB image in the Aerial setup to
release 25-2.1 and update the doc/Aerial_FAPI_Split_Tutorial.md accordingly.
2025-10-16 15:38:49 +02:00
Reem Bahsoun 9620fd1a6a Update the nvIPC library to the one packaged with the new cuBB image. 2025-10-16 12:06:15 +02:00
Jaroslava Fiedlerova 296ae968b1 Merge remote-tracking branch 'origin/aerial-ul-heavy' into integration_2025_w42 (!3673)
CI: Aerial: Add an UL-heavy pipeline test

Add a new test with DSUUU TDD pattern, and try to reach 220Mbps.
2025-10-16 11:55:16 +02:00
Jaroslava Fiedlerova 10555929b0 Merge remote-tracking branch 'origin/CI-ho-attenuator' into integration_2025_w42 (!3651)
CI: Upgrade HO setup to use an attenuator

The goal of this MR is to upgrade HO CI setup to include a digital attenuator
that will allow us to trigger handover by attenuating the signals on the DUs.
2025-10-16 11:52:02 +02:00
Reem Bahsoun 9803fb29f6 Reorganize XML steps for F1 HO
Number linearly for easier navigation in HTML reports, and start DU1
before connecting the UE. Reset attenuation on all channels to 0.
2025-10-16 11:40:25 +02:00
Reem Bahsoun e2075b57ca Clean up F1 HO config files
Harmonize gNB names with other files, remove control ports (not used),
put sl_ahead in right place.
2025-10-16 09:30:38 +02:00
Reem Bahsoun d8e9a30fad Add attenuator commands to the XML file 2025-10-16 09:30:31 +02:00
Reem Bahsoun c9b704ed64 Rename services in docker-compose for clarity
Harmonize with other files and use dashes.
2025-10-16 09:30:18 +02:00
Reem Bahsoun 464762e52b Fix: PCI on different SSB position 2025-10-15 20:14:48 +02:00
Reem Bahsoun e375a13aa5 CI infra: rename UE name to reflect PLMN 2025-10-15 20:14:48 +02:00
Robert SchmidtandGuido Casati 0ba9a9758b CI: expand %%workspace%% token
- main.py: replace %%workspace%% with CONTAINERS.eNBSourceCodePath in Custom_Command and Custom_Script

Co-authored-by: Guido Casati <hello@guidocasati.com>
2025-10-15 20:06:15 +02:00
Robert Schmidt 8c85acbba6 Add script to control attenuation of Mini-Circuits RC*DAT 2025-10-15 20:06:15 +02:00
Robert ae63a51ceb Increase PBCH Block power: better UL 2025-10-15 19:52:09 +02:00
Robert Schmidt 3b517dd5d2 Add CI XML fail for Aerial UL heavy pipeline 2025-10-15 19:52:09 +02:00
RobertandReem Bahsoun 2db630e187 Add UL-heavy Aerial config
Update cuBB image to cubb-build:25-2.1_srs-ul-heavy (release 25-2.1 with
changes in the L1 config to test heavy ul)

Co-authored-by: Reem Bahsoun <reem.bahsoun@openairinterface.org>
2025-10-15 19:51:50 +02:00
Robert Schmidt ad878dc7df Merge remote-tracking branch 'origin/issue-940' into integration_2025_w42 (!3702)
Extend F1 rfsim CI test

Add one handover hop.

Closes #940
2025-10-15 08:35:34 +02:00
Guido Casati 0622fb362f ci: container_5g_f1_rfsim - extend F1 handover with 1 more hop
- Trigger handover
- IdleSleep 2s
- Ping ext-dn from NR-UE
- Verify UE(1) connected to DU-PCI1

Validate absence of heap-use-after-free ASAN error found in !3600.

Closes #940
2025-10-14 14:46:19 +02:00
Guido Casati 520d52963e ci: container_5g_f1_rfsim - remove oai-nr-cuup-asan
Rationale: CU-UP image not required for this F1 rfsim workflow’s local pull stage.
2025-10-14 14:46:19 +02:00
Shubhika Garg 677a16a4a9 ci(docker): push ARM64 and AMD64 images to DockerHub
- On PUSH events, if image build stages succeed, trigger DockerHub push stage
 - Build the images, then trigger the Push to DockerHub stage
 - Publish Jetson (ARM64/v8) and AMD64 images under the same tag on DockerHub
2025-10-10 14:07:24 +02:00
Robert Schmidt dab8db76d7 CI: Aerial: Split out CN start/stop from main XML
The next commit introduces an "UL-heavy" configuration to be tested with
Aerial. To avoid waiting for the CN, start&stop it once at the beginning
of the CI run.
2025-10-09 19:25:11 +02:00
Reem Bahsoun 1a65abb56c Upgrade cuBB image to 25-2.1 and update doc to match 2025-10-09 15:00:47 +02:00
Robert Schmidt ba8b23772e CI RFsim 5G F1: reduce DL iperf throughput
Reduce throughput requirement, as this fails once two DUs are connected
to a UE, which creates more load on the machine and frequently fails
with low throughput.
2025-10-09 08:48:26 +02:00
Robert Schmidt dd868fd25e Merge remote-tracking branch 'origin/ci-update-physim-threshold' into integration_2025_w41 (!3679)
CI: Enable Physim threshold check for tests on Caracal and GH

This MR adds support for configurable timing threshold files in PhySim
tests.

- Introduces a new CMake cache variable PHYSIM_CHECK_FILES to specify
  one or more timing threshold files (semicolon-separated).
- Enables optional enforcement of timing thresholds check in PhySim
  tests without changing existing test definitions.
- Defines timing thresholds for LDPC encoding/decoding in nr_ulsim,
  nr_dlsim and ldpctest on Caracal and GH machines.
2025-10-09 08:46:46 +02:00
Jaroslava Fiedlerova 6843625615 Add separate XML file for PhySim with timing check on GH 2025-10-08 19:45:14 +02:00
Jaroslava Fiedlerova 5ec7bcdcd2 Add timing check for physim tests on GraceHopper
Update Dockerfile to pass -DPHYSIM_CHECK_FILES="ThresholdsGracehopper.cmake".
2025-10-08 19:45:14 +02:00
Jaroslava Fiedlerova bcc616e654 Increase timeout for physim deployments
Extend the timeout for physim deployments on OC to allow tests to complete
reliably.
2025-10-08 19:45:14 +02:00
Jaroslava Fiedlerova 8910406a9e Add support for including custom timing threshold files in physim tests
Introduce a new CMake variable PHYSIM_CHECK_FILES to specify CMake files
(semicolon-separated) containing timing thresholds for timed physim tests.
2025-10-08 19:44:35 +02:00
Jaroslava Fiedlerova bd1dadaa79 OC PhySim deployment: log bash script commands
Also, don't use "set -x" debugging for oc login command:
ci-scripts/cls_cmd.py:242 sets BASH_XTRACEFD=1, which makes that all
"set -x" output is in stdout, leading to a redirect to the file into
which we redirect. This would lead to the following error with
unsuccessfull oc login:

  error: You are not a member of project "****-core-for-ci-ran".
  Error from server (Forbidden): imagestreams.image.openshift.io "oai-physim"
  is forbidden: User "system:anonymous" cannot get resource "imagestreams" in
  API group "image.openshift.io" in the namespace "****-ran"
2025-10-07 08:09:20 +02:00
Robert Schmidt 958fe1ed75 OC PhySim deployment: always undeploy safely
This fixes basically two problems. First, remove "set -e", which leads
to the script exiting on error. For instance, there was the sleep which
should account for the time of the pod being in "ContainerCreating", but
might not be enough. In that case, the script would exit, leaving the
pod deployed.

Second, a fixed time is not good, as it can be too short and unduly
prolong waiting time. Replace with a loop.
2025-10-06 16:16:39 +02:00
Robert Schmidt 5047bacd6d Merge remote-tracking branch 'origin/oaiue_longrun' into integration_2025_w40 (!3678)
Add OAIUE longrun pipeline

Add a new XML file for OAIUE longrun.

- Test description:
  * 40 MHz BW, n78
  * gNB with USRP N310, UE with USRP N310
  * CN deployed on OC
- Test duration: 1 hour
- Test scenario: 3x DL 10 min test (20 Mbps) + 3x UL 10 min test (5
  Mbps)
2025-10-01 22:21:13 +02:00
Robert Schmidt 7eb33a4003 Workaround: give pod deployment more time
pods deployed through helm occasionally take more time, leading to
errors such as

    Error from server (BadRequest): container "physim" in pod "oai-physims-4g-sczvl" is waiting to start: ContainerCreating

Give a bit more time before checking the logs. We cannot wait too much,
as the container will just end on FINISHED in running state, so the logs
will always be there.
2025-10-01 22:13:50 +02:00
Jaroslava Fiedlerova 3e5681abbd Merge remote-tracking branch 'origin/n2-handover-minor-fixes' into integration_2025_w40 (!3655)
The goal of this MR is to resolve memory leaks, prevent crashes, and improve code quality.

Bug Fixes:
- Fix crash in get_du_for_ue when F1 UE data doesn't exist during N2 handover
- Fix memory leaks in handover preparation and UE context cleanup
- Fix duplicate handover request handling with proper UE context validation

Code Quality Improvements:
- Prevent ASN.1 double-free bug in NGAP memory management (caller ownership
  principle)
- Fix hardcoded instance 0 bug in UE context release command
- Refactor e1_send_bearer_updates into three specialized functions with
  extracted common code
- Replace impossible ID mismatch checks with DevAssert statements
- Fix inconsistent equality checking patterns in E1AP bearer context management
- Improve error message consistency across NGAP handover functions
- Optimize PLMN identity assignment using struct copies

Documentation Enhancements:
- Improve RRC neighbor configuration documentation with actual parameter names
- Add same-machine setup guidance for N2 handover with network configuration
  notes
- Fix grammar errors and standardize naming conventions

Follow up to !3334 (merged)
2025-10-01 18:08:28 +02:00
Jaroslava Fiedlerova 2dde472cfd Adjust gNB conf file in OAIUE test
Increase prach_dtx_threshold to avoid fake PRACH detection.
2025-10-01 13:36:53 +02:00
Jaroslava Fiedlerova 7935c19d21 Fix in CreateWorkspace
Previously, the script attempted to directly merge ${merge}, which could f
ail if the branch was not already available locally. This update explicitly
fetches the branch from origin and then merges FETCH_HEAD with --ff, ensuring
the merge works even when the branch is missing locally.
2025-10-01 13:36:53 +02:00
Jaroslava Fiedlerova 6193d7c7f4 Create XML for OAIUE longrun pipeline
Test duration: 1 hour
Test scenario: 3x DL 10 min test (20 Mbps) + 3x UL 10 min test (5 Mbps)
2025-10-01 13:36:49 +02:00
Guido Casati 4aafd1e369 Simplify N2 handover test to focus on N2 handover only
- Remove extensive traffic testing before HO (iperf tests 030001, 030002)
- Do 1 ping test after attachment
- Reduce ping packet count from 100 to 50 packets for remaining connectivity test

Time savings: ~2-3 minutes by removing traffic validation overhead
2025-10-01 11:36:22 +02:00