Commit Graph
3158 Commits
Author SHA1 Message Date
Robert Schmidt 1cb82bae20 Merge remote-tracking branch 'origin/Mult_TDD_Pattern' into integration_2025_w05 (!2799)
Changes to support multiple TDD patterns

- Updated the configuration changes for 2 Patterns
- Update the TDD table configuration for NFAPI
- Added the tdd bitmap for the period
- Adapted the bitmap for UL/DL for the multi TDD pattern
- Updated the RACH procedure for multi TDD pattern
- Updated DL and UL scheduler for multi TDD pattern
2025-02-03 08:32:02 +01:00
Guido Casati fcea7d9fbf Add pattern2 to TEST-SA-FR1-SC-FDMA-B200 CI test 2025-01-31 16:56:13 +01:00
Leonardo Bonati 474c004ff4 Parametrized JenkinsNode and JenkinsResource 2025-01-31 10:03:55 -05:00
Jaroslava Fiedlerova 699f2e5d81 Merge remote-tracking branch 'origin/nfapi-fixes' into integration_2025_w04 (!2999)
Repair nFAPI in 5G

Add 5G nFAPI in OAI/Make it it work.

Many commits in this branch are basically bug fixes of things that don't work
properly, such as

- check for correct conditions (e.g. instance numbers in the RAN context)
- remove artificial limitation (e.g. only one PUCCH per TDD period in the PNF)
- improve performance (reduce big mallocs, make some static buffers such as a
  global ring buffer for nFAPI messages in the PNF)
- fix bugs in nFAPI (e.g., increase maximum message size to ~64kB instead of
  1500 bytes, because the latter is way too small for many TX_data.requests in
  5G, and it will delay message arrival unduly)
- fix bugs in message enc/dec (e.g., handle FDD in config.request)
- adjust the L1 such that the condition "we run monolithic" is not necessery
  (e.g., some message numbers in nFAPI struct where reset in MAC, instead of
  L1, and this breaks when running the PNF)

There are instructions that explain how to set it up. Two CI tests have been
added, one with COTS UE and MIMO in DL+UL in TDD numerology 1 (30kHz), and a
second test with FDD mu=0 (15kHZ) in RFsimulator.

These were some old to-dos that have been addressed.

- test with COTS UE - 4x4 pipeline works good in DL, UL now also work
- test in RFsim
- make PNF status message
- make FDD in u0 work
2025-01-27 15:46:19 +01:00
Robert Schmidt 382820dce2 Rename 5G RFsim u0 25PRB title name: it's nFAPI now 2025-01-27 15:36:30 +01:00
Robert Schmidt 6be898806e transform RFsim band 66 u0 test to nFAPI 2025-01-27 10:59:40 +01:00
Robert Schmidt c553173677 Modify 4x4 60MHz COTS UE test to use nFAPI
Modify the existing 4x4 60MHz USRP+COTS UE test to use nFAPI. The
throughput tests remain the same.
2025-01-27 10:59:40 +01:00
Robert Schmidt e0549de9ea Remove Slack integration for Jenkins jobs 2025-01-22 14:37:22 +01:00
Sagar Arora 3090d0414e fix(ci): waiting for a pod using k8s wait command
Signed-off-by: Sagar Arora <sagar.arora@openairinterface.org>
2025-01-22 11:06:26 +01:00
Jaroslava Fiedlerova 829541dc36 CI: temporary commit to use Ubuntu image in FHI7.2
Due to HW version differences between the CI RHEL build machine and
the FHI 7.2 test machine (cacofonix), FHI 7.2 test using  RHEL image
failed, reporting an 'Illegal Instruction' error.
2025-01-20 18:07:30 +01:00
Jaroslava Fiedlerova 592b9a3509 CI: Update CN path for CI CN deployments on OC 2025-01-20 12:42:02 +01:00
Sagar Arora 5cc026a4d0 define image name via helm set parameter
Signed-off-by: Sagar Arora <sagar.arora@openairinterface.org>
2025-01-17 14:34:22 +01:00
Sagar Arora a33796217d chore(ci): entitlement creation and namespace for aerial pipelines
Signed-off-by: Sagar Arora <sagar.arora@openairinterface.org>
2025-01-17 14:34:09 +01:00
Jaroslava Fiedlerova 85b163b6b9 CI: Adjust timing thresholds in timing-phytest pipeline
CI test sometimes fails because measured value is lower than allowed
threshold.
2025-01-15 14:44:39 +01:00
Jaroslava Fiedlerova 9b6f1be163 CI: disable sleep states of CPU for running timing tests
Enable sleep states once the test is done.
2025-01-15 14:44:35 +01:00
Jaroslava Fiedlerova 69195457d7 CI: Increase number of test trials in nr_ulsim/nr_dlsim timing test
Increasing a number of test trials aims to reduce variations and
improve reliability of the nr_ulsim and nr_dlsim test results.
2025-01-15 14:43:42 +01:00
Robert Schmidt 4dfbd0dd9e Merge remote-tracking branch 'origin/oran-iova-config' into integration_2025_w02 (!3189)
fhi_72: allow to provide dpdk_iova_mode to xran

- Introduce a gNB configuration option that enables users to select the
  desired IOVA mode for DPDK ("PA" or "VA") with dpdk_iova_mode
  parameters in fhi_72 configuration section. If not set, the default
  remains PA mode to ensure backward compatibility with existing
  configurations. Detailed information about IOVA modes, including their
  advantages and disadvantages, can be found in the DPDK documentation:
  Memory in DPDK Part 2: Deep Dive into IOVA
- Using IOVA VA mode allows DPDK to run without requiring SYS_ADMIN
  capability for the docker container.
- Switch to IOVA VA mode in the FHI7.2 pipeline and reduce the required
  capabilities for the docker container.
2025-01-13 07:46:47 +01:00
Robert Schmidt 818a3f9318 Merge remote-tracking branch 'origin/Fix_yaml_example_config_file' into integration_2025_w02 (!3196)
Fix yaml example config file

amf_ip_address is decoded as a paramlist_def_t and not as a paramdef_t,
so in the config file it should be a list of ip addresses

In current develop just by trying to run this config file with:

    sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.yaml

results in a segfault.
2025-01-10 17:59:24 +01:00
Robert Schmidt 299b63b4ee Merge remote-tracking branch 'origin/NR_PRACH_config_file_improv' into integration_2025_w02 (!3119)
Config files improvements for PRACH

Some PRACH parameters in configuration files are not properly set.

- number of SSB per RACH occasion should be 1 when we have only 1 SSB
  (it would still work with 1/2 but it makes little sense and might
  limit UE selection of ROs).
- some PRACH configuration indices would generate PRACH conflicting with
  PUCCH and therefore reducing scheduling capabilities

Further cleanup of some config files still using deprecated fields
2025-01-10 17:58:44 +01:00
Jaroslava Fiedlerova acd8f0730b CI: use IOVA VA mode in FHI7.2 pipeline
Switching to IOVA VA mode in the FHI7.2 pipeline reduces the required
capabilities for the Docker container. This change allows the removal
of the SYS_ADMIN capability.
2025-01-10 14:59:36 +01:00
Robert Schmidt 86c703dbf0 Merge remote-tracking branch 'origin/ci-fixes-frequency-planning' into integration_2025_w02 (!3177)
CI: change frequency for timing and B200-SABOX pipelines

Change center frequency of

- RAN-SA-B200-Module-SABOX-Container - 20 MHz TDD SA scenario from
  3309.48 MHz to 3609.12 MHz
- RAN-gNB-N300-Timing-Phytest-LDPC - Timing phytest 40 MHz scenario from
  3619.08 MHz to 3319.68 Mhz

to avoid interference between the SABOX and timing pipeline.
2025-01-10 11:46:52 +01:00
Raphael Defosseux 7418a104be chore(ci): migrating flexric test to carabe
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2025-01-07 15:33:07 +01:00
Bartosz Podrygajlo 650b2dc6eb A script to run CI tests locally.
Added ./run_locally.sh script. The script takes one argument being the testcase
that one wants to run. The testcase is run locally. This means that some testcases that
utilize hardware resources will not run. However most if not all rfsimulator testcases
should run as in CI.

To this end, the CI python scripting framework was updated, adding --local flag which changes
the script behavior as follows:
 - overrides <node> and <srv_node> XML elements to 'localhost' so all commands are executed locally
 - Avoid running image pull, image cleanup and workspace creation steps of the scripts:
   user is responsible for that
2024-12-19 16:55:38 +01:00
Jaroslava Fiedlerova 3306a01c57 CI: change frequency for timing and B200-SABOX pipelines 2024-12-19 12:02:50 +01:00
Robert Schmidt a2613d5604 Merge remote-tracking branch 'origin/ldpc_decoding_module_interface_rework' into integration_2024_w50 (2952)
New LDPC coding library interface for decoding and encoding complete slots in one call to the library

Previous attempts to integrate LDPC decoding relying on offloading show
the limitation of the original code segment coding interface for the
library implementing LDPC coding. In order to perform the offload and
therefore the decoding in an optimal fashion, it is relevant to provide
the implementation with the broader amount of data possible per call,
which is a slot.  A previous MR related to T2 offload managed to offer
an interface for decoding transport blocks by modifying only
nr_ulsch_decoding.c. But this may not be sufficient for performing an
efficient decoding in any situation. Slots could be shared between
multiple transport blocks in case multiple UEs are connected to the RAN,
which makes the transport block size shrink and therefore degrades the
efficiency of the offloading.

This MR offers a broader interface with a gNB decoding entry point in
phy_procedures_nr_gNB.c. The file nr_ulsch_decoding.c now lets the
decoding library implement deinterleaving, rate-unmatching and decoding
for the slot. In gNB encoding and UE decoding and encoding as well,
tasks are partitioned in a similar fashion.

As it allows to feed the implementation with the broadest amount of data
possible, it allows to fit any coding solution in a library. This will
avoid further modification to OAI source code and addition of options to
select an implementation when integrating new decoding solutions. An
implementation of this interface will therefore be offered for every
existing decoding solution in OAI and solutions added in the future will
be provided as independent module code without any modification to the
core of OAI code.  The way to choose the decoding solution and to
configure it was also unified using configmodule. The library can be
chosen through the option --loader.ldpc.shlibversion. The slot coding
solutions shipped with this MR can be configured through configmodule
(e.g., T2 address and isolated cores).

This MR includes three coding implementations:

- A wrapper around segment decoding libraries for test purpose: libldpc.so
- A one shot slot coding and encoding with the T2 board: libldpc_t2.so
- A decoder on FPGA using the XDMA driver: libldpc_xdma.so

Improvements brought by this MR:

- Easy integration of a wider variety of LDPC coding solution at gNB and UE
- Easy selection of the LDPC coding solution (option --ldpc-offload-enable is kept for now but it can be ultimately removed)
- T2:
  * More efficient when many UEs are connected
  * Decoding and encoding in nr-uesoftmodem
2024-12-16 15:29:20 +01:00
Robert Schmidt 0b78a18d47 Merge remote-tracking branch 'origin/sib19-ue-utilization' into integration_2024_w50 (!3019)
SIB19 utilization on UE

Following SIB19 initialization and scheduling on gNB (!2899 - merged)
and Receive SIB19 on nrUE (!2920 - merged), this merge request aims to
introduce the actual use of the SIB19 provided parameters by gNB in UE.
Changes needed for utilization include: initialization of position
coordinates parameters for UE (which are needed to calculate propagation
delay between UE and SAT), propagation delay calculations and timing
advance adjusts. Moreover, this change removes the now unused arguments
for ntn_koffset, ntn_ta_common and ntn_ta_commondrift
2024-12-16 15:26:48 +01:00
Romain Beurdouche 240aafeb14 fix(nrLDPC_coding_interface): use lidldpc_slot_t2 for CI 2024-12-16 08:40:54 +01:00
Raphael Defosseux 52d1d7b6e7 chore(ci): explicitly support BSD-3-Clause as legit license in OAI
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-12-16 08:40:54 +01:00
francescomani 4d6b3f8c30 removing unused bf_weights from a config file 2024-12-12 10:19:48 +01:00
francescomani e5675d38bf further cleanup of config files
pdcch_ConfigSIB1 field not used since almost two years but still kept in some config file
2024-12-12 10:19:48 +01:00
francescomani aed2e6c7fb improvements in PRACH parameters in 5G configuration files 2024-12-12 10:19:48 +01:00
Jaroslava Fiedlerova 02679ca07c CI: Create FHI7.2 test with Metanoia RU, 2 layers in DL 2024-12-12 08:26:42 +01:00
Roberto Rosca 0b1dd3ed50 Update 5g_rfsimulator_ntn_geo docker file and configs used for test to exclude unused parameters and add ntn related values. 2024-12-11 13:01:50 +02:00
Robert Schmidt ac6a37fafa Merge remote-tracking branch 'origin/add-ci-nr-f1-pathloss-rlf' into integration_2024_w49 (!3142)
Add CI test to trigger RLF with high pathloss in channelmod
2024-12-10 09:15:00 +01:00
Guido CasatiandRobert Schmidt 665a7d5020 Add CI test to trigger RLF with high pathloss in channelmod
Upon restoration to ploss, set to 20; when setting to 0, the UE is not
able to sync to the cell anymore.

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2024-12-09 09:59:09 +01:00
Robert Schmidt 0b3d098654 Merge remote-tracking branch 'origin/fhi-f-release' into integration_2024_w49 (!3147)
Fronthaul xran library update to F release (2. and final step towards M-plane integration)

- xran library support -> both E and F releases
- RU delay profile removed -> not used in neither of the releases
- DU delay profile updated
- one-way delay measurements support is improved/fixed in the F release.
  However, not implemented here as it depends on the RU capabilities
2024-12-08 21:07:05 +01:00
Jaroslava Fiedlerova ee1605b8d9 CI: Remove USRP mgmt_addr from LTE-2x2 conf files
The "mgmt_addr" parameter is not required for USRP N310 initialization. The
critical parameter for successful operation is the "addr", which specifies
the IP address of the SFP port used for data transfer.

Including both "mgmt_addr" and "addr" can lead to initialization failures if
one of the specified addresses is unavailable. Since the "mgmt_addr" is
unnecessary for this context, it has been removed to avoid potential conflicts
and simplify the configuration.
2024-12-06 16:38:13 +01:00
Jaroslava Fiedlerova 55a18514b6 Merge remote-tracking branch 'origin/thread-pool-fixed' into integration_2024_w49 (!3025)
New threadpool, fixed in NR UE

This merge request is an attempt to fix the new thread pool implementation
for use in NR UE and gNB (as well as eNB).
2024-12-06 16:36:38 +01:00
Jaroslava Fiedlerova 027631eb70 CI: Remove GetContainerName() - not used anymore
No need to get container name, we work directly with docker services.
2024-12-05 14:13:22 +01:00
Jaroslava Fiedlerova f786d92bc9 CI: Allow restart of the container if it fails on the first attempt
In CI we sometimes encouter fail of the gNB/UE deployment (and fail of
the pipeline) caused by unsuccsessful initialization of the USRP N310.
Restart the container if the health check fails during initialization.

Introduce a configurable parameter (from XML) to set max number of
attempts for the container deployment.

Store logs from failed deployment attempts.
2024-12-05 14:13:22 +01:00
Jaroslava Fiedlerova f078e6f9c7 CI: modify and rename CopyinContainerLog to use docker services 2024-12-05 14:13:22 +01:00
Jaroslava Fiedlerova a9ca4a5481 CI: create GetServiceHealth()
Rework GetContainerHealth() to work with docker compose and services,
instead of using docker and containers. Return health and message about
deployment status (used for console and HTML logging) for a given service.
2024-12-05 14:13:18 +01:00
Bartosz Podrygajlo 793bdd86ae Adjust reference processing time for 40Mhz phytest 2024-12-05 11:32:23 +01:00
Teodora 68a3435689 Remove RU delay profile
- xran E release (and later F) doesn't use them
  - update fhi_72 section in fronthaul config files by removing
    unnecessary RU delay parameters
2024-12-04 18:59:16 +01:00
Jaroslava Fiedlerova e1d06cfef8 CI: add CI unit test for simple fail deployment with 2 services 2024-12-04 09:43:45 +01:00
Jaroslava Fiedlerova b8b4057e9c Merge remote-tracking branch 'origin/ci-aerial-change-cn' into integration_2024_w47 (!3124)
CI: use OC CN in aerial pipeline

Replace CN host on Aerial CI pipeline (Porcepix) with OC.
2024-11-26 11:37:45 +01:00
Jaroslava Fiedlerova d337304e13 Merge remote-tracking branch 'origin/ci-flexric-integration-test' into integration_2024_w47 (!2670)
chore(ci): adding Flexric-RAN integration test

- Triggering a standalone FLEXRIC + 5G-RAN pipeline: OAI-FLEXRIC-RAN-Integration-Test
  - will be triggered by the RAN-Container-Parent
  - but also by the OAI-FLEXRIC pipeline (to be done once integrated)
- Added an new python option: --FlexRicTag= than if not used, won't have any effect
- Nice addition:
  - if --FlexRicTag=develop or --ranCommitID=develop  --> will use the latest commit
    on either dev or develop branch.
- Scenario-wise
  - Using the cn5g deployment file from Luis in documentation, at least we will use
    it to make sure it is working at all time
- We can add more test and especially checkers on the flexric calls

Linked to !3085 (merged)
2024-11-26 10:53:17 +01:00
Jaroslava Fiedlerova dbc8fd4956 CI: increase timeout for OC CN deployment
Occasionally, the CN deployment takes longer than 60 seconds to complete
successfully. As a result, the CI reports failure, even when all other test
stages pass (e.g., gNB attaches to the CN, UE connects, and iperf tests succeed).
2024-11-26 10:29:14 +01:00
Jaroslava Fiedlerova bbfd3c6174 CI: use OC CN in aerial pipeline
Replace current docker deployment of OAI CN by deployment on OC. With change
of the CN, we also need to change the routing for UE module - change the
mbim script for controling the UE.
2024-11-26 10:26:25 +01:00
Raphael Defosseux 14c0d6b347 CI: Add FlexRIC test 2024-11-26 09:44:23 +01:00