Files
openairinterface5g/ci-scripts
Thomas Schlichter 0b06d55f5f NR UE: introduce support to define multiple cells
This feature shall allow in future to simulate an arbitratry number of UEs connected to an other arbitrary number of cells.
Therefore each RF-frontend (also called RU) needs to be configured for one specific cell.
In case of handover of a UE from one cell to another cell, it needs to switch RUs accordingly (TODO).

There has to be a 1-to-1 mapping between RUs and cells.
Each UE will be assigned to one of the defined cells.
Initially all UEs are assigned to cell 0.
2026-01-27 11:10:53 +01:00
..
2025-09-26 14:58:47 +02:00
2026-01-14 23:43:08 +01:00
2025-11-03 18:46:00 +01:00
2025-09-12 14:54:49 +02:00
2025-09-10 16:43:16 +02:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
2025-11-14 18:17:29 +01:00
…
2025-11-06 13:21:08 +01:00
2026-01-14 23:43:08 +01:00
2025-09-16 15:34:53 +02:00
2025-11-14 14:57:12 +01: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.