Releases: usnistgov/O-RAN-Testbed-Automation
Releases · usnistgov/O-RAN-Testbed-Automation
v1.4.1
Changelog for v1.4.1
- Fixed handling of invalid KPI metrics (e.g., RSRP and RSSI are now logged as empty cells in KPI_Metrics.csv when NaN).
- Changed FlexRIC KPM monitor xApp sample-filtering based on invalid RSRP measurements toggleable (default: disabled).
- Fixed Near/Non-RT RICs from accessing
ric-dep
if either is already running upon installation. - Improved robustness of O-RAN SC Near-RT RIC's E2 simulator installation and run scripts.
- Updated documentation of both Near-RT RICs to include notes about the supported metrics.
- Improved logging when interacting with testbed components (e.g., UE IDs are identified when echoing status).
- Updated all software dependency commit hashes to the latest versions.
- Updated srsRAN_Project configurations to align with the latest software version.
- Updated FlexRIC KPM monitoring xApp patches to the latest FlexRIC version's syntax and formatting.
- Cleaned up unused patch files in OpenAirInterface_Testbed.
- Adjusted NIST software disclaimers for consistency and correctness.
- Additional minor improvements to documentation, diagrams, and source code.
Full Changelog: v1.4.0...v1.4.1
v1.4.0
Changelog for v1.4.0
OpenAirInterface-based Components
- Scalability improvements: Grafana dashboard panels now request only their own data via optional URI parameters.
from=<start_epoch>
: The starting epoch timestamp (ms) of the data being requested.to=<end_epoch>
: The ending epoch timestamp (ms) of the data being requested.filter=<metric1,metric2,…>
: List of columns (metric names) to include in the output response.
- Added units to the CSV column headers in KPM Monitor-to-CSV xApp.
- Added KPM Monitor-to-InfluxDB xApp that writes to InfluxDB v2 rather than to CSV.
- Fixed OpenAirInterface calculation of RSRP, N_RSRP_MEAS (set in OAI based on RSRP reset), RSSI, and RSRQ.
- Added new radio-layer metrics:
- Block error rates (BLER) uplink/downlink.
- Modulation and coding scheme indexes (MCS) uplink/downlink.
- MAC SDU error rates uplink/downlink (calculated with OAI patch).
- MAC SDU retransmission rates uplink/downlink (calculated with OAI patch).
- Updated Grafana dashboard layout and design to reflect the changes listed above.
- Patched type printing across all Mosaic5G FlexRIC C xApps.
- Added ability to simulate UE traffic with input args:
UE identifier
,bandwidth
, andflood duration
.
O-RAN SC-based Components
- Extended supplemental features from Near-RT RIC to Non-RT RIC (e.g., Cilium, Hubble UI, and Wireshark logging functionalities).
- Added script to install just A1 simulators to simulate Near-RT RIC behavior across six RICs of varying A1 versions.
- Fixed bug where Non-RT RIC tests would fail after uninstalling and reinstalling the Non-RT RIC.
- Improved robustness of RIC installers and updated their documentation.
- Removed the control panel's dependence on the Non-RT RIC for installation modularity.
- Corrected dependencies for backward compatibility with O-RAN SC J-Release.
Additional Changes
- Fixed Open5GS WebUI script so that Grafana and WebUI ports do not collide and can run simultaneously.
- Fixed the permissions of files across the automation tool (755 → 644).
- Updated commit hashes, screenshots, diagrams, and documentation.
Full Changelog: v1.3.0...v1.4.0
v1.3.2
Changelog for v1.3.2
- Near-RT RIC: Added scripts to migrate cluster from Flannel to Cilium, and added Cilium Hubble logging/visualization.
- Upgraded RIC dependencies: Kubernetes to 1.32.X, Kubernetes CNI to 1.5.X, Helm to 3.17.X, and Docker to 28.0.X.
- Open5GS: Added
unregister_all_subscribers.sh
to simplify clearing the subscriber database. - Open5GS: Added new parameters to options.yaml:
- Customizing the UE-to-UPF tunnel subnet IPs.
- Support for 6-digit PLMNs instead of just 5-digit values.
- Exposing the AMF over hostname instead of 127.0.0.5.
- Toggling Security Edge Protection Proxies (SEPP1 & SEPP2).
- Fixed User Equipment stop script logic when specifying individual UE IDs.
- Added "Documentation" section to the main directory that lists the link to each README.md file.
- Added diagram of supported/not supported component connectivity to main README.md.
- Cleaned up documentation, installation scripts, and configuration generation.
- Fixed issue #1: Inaccessible database to Kubernetes nodes when hostname contains capital letters. Also made InfluxDB installation optional.
- Thanks to @The1andOnlyZeRo for finding this.
OpenAirInterface Testbed Changelog
- FlexRIC: Added Grafana dashboard user interface to visualize xApp KPI metrics, and updated documentation with instructions.
- Created another KPI monitor xApp that directs metrics to
logs/KPI_Metrics.csv
rather than printing to the console. - Patched KPI monitor to run indefinitely rather than stopping after 10 seconds.
- Added some testing KPI metrics to OAI, FlexRIC, and the dashboard.
- Created another KPI monitor xApp that directs metrics to
- Added support for multiple UEs connecting to gNB simultaneously sending data and metrics over E2.
- Each UE is given its own network namespace similar to how SRS software supports multiple UEs.
- Added User Equipment additional scripts to open a UE shell and simulate UE traffic using iperf.
- To stop all testbed components gracefully, added an on-exit listener to run.sh script.
- Included documentation to enable AVX2 instruction set for OpenAirInterface installation.
- Adds full support for Ubuntu 20.04 as well as Linux Mint 20, 21, and 22.
- Added toggleable
CLEAN_INSTALL
options at the beginning of install scripts. - Updated documentation with the changes listed above.
Full Changelog: v1.3.1...v1.3.2
v1.3.1
Changelog for v1.3.1
- Fixed configuration files of Open5GS, srsRAN gNodeB, and OpenAirInterface components.
- Added enforcement to use GCC 13 for Open5GS, srsRAN_Project, and srsRAN_4G.
- Enabled Ubuntu 20.04 machines to use the latest srsRAN_Project updates.
- Added
full_uninstall.sh
scripts to each testbed software component. - Patched OpenAirInterface and FlexRIC to support RSRP for KPI monitor xApp.
- Cleaned up code, configs, and minimized usage of sudo.
- Revised presentation/documentation.
- Added overview of supported testbed open-source components.
- Improved descriptions of OpenAirInterface with FlexRIC deployment scenario.
- Diagrams and images now inherit dark/light mode of the host system.
Full Changelog: v1.3.0...v1.3.1
v1.3.0
Changelog for v1.3.0
- Added support for OpenAirInterface Testbed with FlexRIC (see subsection).
- Fixed all xApps that read from InfluxDB and fixed KPI monitor's writing to InfluxDB.
- Patched Anomaly Detection and Quality of Experience Predictor xApps to use InfluxDB version 2.X syntax instead of InfluxDB 1.X syntax.
- Patched KPI monitor to fix crashing when connecting to srsRAN DU, srsRAN CU-CP, and O-RAN SC E2 simulator.
- Improved InfluxDB client shell script usage and robustness when querying KPI metrics.
- Updated xApp installers to use docker image registry
127.0.0.1:80
instead ofexample.com:80
. - Added xApp uninstallation script:
additional_scripts/uninstall_an_xapp.sh
. - Added O-RAN SC Near-RT RIC uninstallation script:
additional_scripts/full_uninstall.sh
. - Updated srsRAN_Project config to use the correct number of threads when
$(nproc) ≤ 3
. - Updated commit hashes, and updated documentation to reflect the changes listed above.
Added support for OpenAirInterface Testbed with FlexRIC
- Added additional testbed installation under the
OpenAirInterface_Testbed
directory. Includes the following components:- Install scripts for OpenAirInterface gNodeB and OpenAirInterface 5G User Equipment.
- Install scripts for Mosaic5G's Near-RT RIC (FlexRIC) and its respective xApps.
- Symbolic link to pre-existing 5G_Core_Network directory.
- Operation of this testbed is the same as the NIST TN 2311 blueprint, e.g., same interfaces:
full_install.sh
,generate_configurations.sh
,run.sh
,is_running.sh
,stop.sh
. For more information see the OpenAirInterface_Testbed directory.
Full Changelog: v1.2.0...v1.3.0
v1.2.4
Changelog for v1.2.4
- Fixed race condition by waiting for the AMF to register NFs in
run.sh
to ensure UE:RRC NR reconfiguration successful
. - Added patches to e2sim improving its reliability and enabling support for KPI metrics to be sent to the KPI monitor.
- Mounted kpm_sim logs/e2sim_output.txt to oransim Docker container to dynamically update logs even when a shell isn't linked to it.
- Added InfluxDB token generation, stored in
influxdb_auth_token.json
. - Added graceful stopping of all components (rather than just the UE) upon exiting
run.sh
. - Added dynamic clearing of 5G core logs before starting new instance of each core component.
- Fixed RAN Function ID synchronization in the Near-RT RIC for KPI monitoring.
- Decreased InfluxDB size from 50Gi to 2Gi.
- Fixed permissions of shell script files for consistency.
Full Changelog: v1.2.3...v1.2.4
v1.2.3
Changelog for v1.2.3
- Upgraded Near-RT RIC to the K-Release. To continue using the J-Release, rename
commit_hashes_j_release.json
tocommit_hashes.json
. - Added optional installation scripts for 8 additional Near-RT RIC xApps in directory additional_scripts:
- xApp Key Performance Indicator (KPI) monitoring (kpimon) installation script (
install_xapp_kpi_monitor.sh
). - xApp Anamoly Detection (ad) installation script (
install_xapp_anomaly_detection.sh
). - xApp 5G Cell Anamoly Detection (ad-cell) installation script (
install_xapp_5g_cell_anomaly_detection.sh
). - xApp Quality of Experience (QoE) Predictor (qp) installation script (
install_xapp_qoe_predictor.sh
). - xApp RIC Control (rc) installation script (
install_xapp_ric_control.sh
). - xApp Traffic Steering (trafficxapp) installation script (
install_xapp_traffic_steering.sh
). - xApp Hello World Python (hw-python) installation script (
install_xapp_hw-python.sh
). - xApp Hello World Rust (hw-rust) installation script (
install_xapp_hw-rust.sh
).
- xApp Key Performance Indicator (KPI) monitoring (kpimon) installation script (
- Improvements to E2 Simulator and additional controller scripts for testing xApps over E2.
- Added InfluxDB pod used by KPI Monitor to write metrics to the influxdb/ directory.
- Added Kubernetes Redis database client script to interact with the database.
- Added Kong database bootstrapping to Non-RT RIC pod wait script.
- Updated software dependency commit hashes, migrating srsRAN_Project configs to latest format.
- Cleaned up code, updated documentation, and improved consistency across scripts.
Full Changelog: v1.2.2...v1.2.3
v1.2.2
Changelog for v1.2.2
- Improved support for SELinux environments by using dynamic DNS addresses from /run/systemd/resolve/resolv.conf instead of 8.8.8.8.
- Migrated from docker.io to docker.ce for compatibility (docker.io can be re-enabled with
USE_DOCKER_CE=0
in install_k8s_and_helm.sh). - Restored download_dependency_repositories.bat and added Windows batch file generator for the script.
- Improved Open5GS configuration robustness, and tweaked configuration files of UE and gNodeB.
- Added suppression of interactive prompts when installing testbed on Vagrant and VMware.
- Fixed commit hash update script and updated software hashes.
- Cleaned up optional unused components.
- Improved documentation clarity, and consistency across scripts.
Full Changelog: v1.2.1...v1.2.2
v1.2.1
Changelog for v1.2.1
- Non-RT RIC uses Release K. Added configuration to all sample rApps syncing their URIs with Policy Management Service (PMS) and Information Coordination Service (ICS) Producer/Consumer API addresses.
- Enabled Kong and Service Manager deployment with added Kong storage class initialization of schema/configs.
- Added configuration of Control Panel to enable A1-Policy and A1-EI management functionality.
- Added flags
-y
,--yes
,-n
, and--no
to all user prompts for simpler script automation. - Updated repository commit hashes to use the latest software versions.
- Improved documentation clarity, and consistency across scripts.
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Changelog for v1.2.0
- Dependencies are now pinned in
commit_hashes.json
so that allgit clone
commands only depend on stable and tested commits. - Script
download_dependency_repositories.sh
now also usesgit_clone.sh
for pinned dependencies. - 5G_Core configuration file generators refactored, now using
yq
for YAML modifications. - Updated srsRAN_Project and srsRAN_4G configurations to support the latest releases.
- Added sample rApp CSAR generation script in Non-RT RIC installation.
- Improved documentation clarity, and consistency across scripts.
Full Changelog: v1.1.0...v1.2.0