Files
openairinterface5g/ci-scripts
Jaroslava Fiedlerova 3e23c796c9 CI: ensure clean iperf3 server startup by killing existing processes on same port
Before starting a new iperf3 server instance in CI tests, explicitly kill any existing
iperf3 processes bound to the same port. This prevents conflicts or failures caused by
leftover iperf3 servers from previous runs that did not terminate properly or on time.
The cleanup is performed using `pkill` before launching the new server.
2025-10-30 10:32:54 +00:00
..
2025-09-26 14:58:47 +02:00
2025-09-23 17:43:38 +02:00
2025-09-12 14:54:49 +02:00
2025-08-06 12:21:11 +02:00
2025-09-10 16:43:16 +02:00
2025-09-10 16:43:16 +02:00
…
2025-10-15 20:06:15 +02:00
2025-09-16 15:34:53 +02:00

This document outlines how to use the OAI CI framework and gives a quickstart.

[[TOC]]

Quickstart

There is a script main.py that

  • reads scenario files from XML
  • executes the steps (e.g., deployment of CN/gNB/UE, attach, ping, ...)

To simplify, a script run_locally.sh can be used to run a single scenario locally. First, download images for gNB&UE (we assume you already downloaded the CN) and tag them "latest", which is expected by run_locally.sh:

docker pull oaisoftwarealliance/oai-gnb:develop
docker tag oaisoftwarealliance/oai-gnb:develop oai-gnb
docker pull oaisoftwarealliance/oai-nr-ue:develop
docker tag oaisoftwarealliance/oai-nr-ue:develop oai-nr-ue

Now, run the scenario:

cd ~/openairinterface5g/ci-scripts/
./run_locally.sh xml_files/container_5g_rfsim_simple.xml

Output should look like

[2025-08-07 18:07:49,631]     INFO: ----------------------------------------
[2025-08-07 18:07:49,631]     INFO:   Creating HTML header 
[2025-08-07 18:07:49,631]     INFO: ----------------------------------------
[2025-08-07 18:07:49,766]     INFO: ----------------------------------------
[2025-08-07 18:07:49,767]     INFO:   Starting Scenario: xml_files/container_5g_rfsim_simple.xml
[2025-08-07 18:07:49,767]     INFO: ----------------------------------------
[2025-08-07 18:07:49,767]     INFO: placing all artifacts for this run in /home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/

[...]

[2025-08-07 18:07:49,771]     INFO: ----------------------------------------
[2025-08-07 18:07:49,771]     INFO:  Test ID: 1 (#1)
[2025-08-07 18:07:49,771]     INFO:  Deploy OAI 5G CoreNetwork
[2025-08-07 18:07:49,771]     INFO: ----------------------------------------

it will run an end-to-end test, connecting one UE to the gNB, and ping, before undeploying. As shown, logs will be under /home/richie/oai/cmake_targets/log/container_5g_rfsim_simple.xml.d/. The python code also produces an HTML report in ci-scripts/test_results.html.

Running with local changes

In order to run the tests as above, with local changes, please build images locally.

It is not yet possible to override an existing image with changes made locally to a source file and run it directly through the CI framework. However, it is possible to override an existing image with local changes, and run the scenario manually following the console logs steps provided above. This is described in the 5G RFsimulator README.