Welcome to the F release page for the O-RAN Software community.
The F release is being worked on and its source code is maintained within the master branch of each repo.
Near-Real-time RIC X-APPs (RICAPP)
Primary Goals:Primary Goals:Expand the community working on open source xApps for O-RAN SC.Enhance the set of open source xApps in support of the R-SAC use cases (traffic steering, network slicing) as well new use cases. Update and enhance existing xApps to take advantage of the new features in xApp SDK (implemented by the xApp frameworks in C++, go, and python).
F release plan (<date>):
New xApps
KPIMON-GO by HCL
Improved xApps:
RC (RAN Control) by Mavenir - implements subset of E2 SM RC Ver2.0
AD (Anomaly Detection) by HCL: Will identify a new anomaly type (area anomaly), use geo-location as a feature. Dependency on Data Stream from KPIMON to influxDB. (Currently AD is working on Static data).
QP (QoE Predictor) by HCL: Include prediction for current serving cell, incorporate predicted load as a feature, provide sequence of predictions.
TS (Traffic Steering) by UTFPR (University, Parana, Brazil): Call RC xApp to trigger UE handover, improvements in traffic steering logic.
Bouncer by HCL: Increase performance and functional testing capabilities; continue identifying RIC platform bottlenecks.
HW (HelloWorld) demo xApps in C++, go and python by AT&T and Samsung: Add usage of more platform features, update usage of platform features that are evolving.
VIAVI RIC test tool is used to test Traffic Steering use case.
Near-Real-time RAN Intelligent Controller Platform (E2 Interface) (RICPLT)
Mission: E2 updates with first E2APv2.0 support and improvements in registration and subscription interface in xapp frameworks.
Original primary goals: RIC-878 A1 mediator testing in nanobot; RIC-860 xapp testing nanobot enhancements: wider coverage of functionality, e.g., Subscription deletion // RIC-849 Second step of reimplementation of A1 mediator in golang, excl. A1AP-EI // RIC-714 support for DMS REST interface in addition to DMS CLI // RIC-698 Switch from Redis 5 to Redis 6 // partially done only RIC-704 E2 check, validate and define how various overload and disconnect case are handled, incl. checking highload-results from dawn; RIC-886 Support two SCTP streams in same association for global (support functions) and functional procedures (ric services); RIC-916 new reconnect timer in E2 to reject new connect for x seconds; RIC-888 interface so that xApps can only query E2SMs with a given OID; RIC-722 + RIC-867 base support for E2APv2.0 (same level of functionality as before) in e2t, e2m, submgr, and nodeb-rnib; RIC-638 Adapt configuration transfer capabilities as defined in E2AP v2.0; RIC-383 Epic: implement E2AP RESET as per E2APv2.0; RIC-445 SSH container/pod that includes a RIC CLI ; RIC-870 helm3 in default deployment and move ric platform deployment to ric-dep; RIC-815 ric-dep documentation only in ric-dep and it-dep only has references ; RIC-827 support deployment of ric platform in different k8s namespaces to allow two parallel installations // RIC-808 List subscriptions by xApp debug interface;RIC-375 Remove support for ASN.1 (over RMR) based subscription in subscription manager (incl. xapp modifications) // RIC-705 update xappframework for c++ to change in xApp registration // RIC-906 time series (influx db) wrapper // RIC-642 Add REST subscription support in Python framework
Achieved F release highlights = high-level release notes (2022-05-18) below (note that the release image list is here: link)
we updated from E2APv1.1 to E2APv2.0 for the existing supported E2 procedures.
Additionally E2 configuration transfer procedures (in E2 setup and via explicit E2 Node Configuration Update) are now supported.
Enhancements in the handling of E2 disconnect+connect cycles and in SCTP stream handling
xApps can now query the list of RAN functions by E2SM OID (and nodeb ID)
The reimplementation of the A1 mediator in golang has proceeded, but is not yet ready and not yet replacing the existing python implementation
Switch from Redis 5 to Redis 6 - primarily due to Redis 5 EOL
The ric deployment is now possible without the it/dep repo
More information in the debug interface of the subscription manager (which had some small adaptations for E2APv2.0, but these changes are not visible to xApps using the E2 subscription manager REST interface)
a new influxdb wrapper as component stslgo (shared time-series layer "golang")
bug fixes as per link. Bugs relevant to production (i.e., not test) code: RIC-903 DefaultUser setup fails when authentication is enabled for InfluxDB; RIC-895 missing static route entries for service update messages (from E2T to E2M and back); RIC-889 Subscription Manager Swagger YAML file is wrong; RIC-872 RMR routing statistic data printout crash; RIC-885 sdlgo multi-namespace SDL event namespace filter issue; RIC-880 Wrong date in sdl (C++) rpm spec file; RIC-873 SDLCLI get - writes wrongly results to stderr in success case; RIC-862 xapp-frame-py caching of error code data not happening (was: Python RMR Memory Leak); RIC-869 SDLCLI healthcheck - Redis sentinel status is wrong
For the F release of the near-RT RIC we did only limited integration testing: only the use cases: deploy RIC, deploy xApp and make E2 connection were tested.
Filled in end-of-release checklist : Release criteria checklist - Release F
Status 2022-05-05: From the 28 epics planned (link) we implemented 10 (link). 8 items have been moved out of the F release, e.g, because of implementation delays (link). Incomplete items: 10 (link). Additionally we fixed 18 bugs and small implementation tasks (link)
F release source code, container images and deployment instructions
The list of container images for the F release (link)
Code coverage: Code coverage reports (current coverage and list of components that need to set up Jenkins job for auto-generation of the reports as part of CI)
Non-Real-time RIC (A1 & R1 Interfaces) (NONRTRIC)
Primary Goals:
The primary goal of Non-RT RIC is to support intelligent RAN optimization by providing policy-based guidance, ML model management and enrichment information to the near-RT RIC function so that the RAN can optimize, e.g., RRM under certain conditions.
It can also perform intelligent radio resource management function in non-real-time interval (i.e., greater than 1 second).
Non-RT RIC can use data analytics and AI/ML training/inference to determine the RAN optimization actions for which it can leverage SMO services such as data collection and provisioning services of the O-RAN nodes.
Non-RT-RIC will define and coordinate rApps (Non-RT-RIC applications) to perform Non-RT-RIC tasks.
Non-RT-RIC will host the A1 interface (between NONRTRIC & near-RT RICs )
Non-RT-RIC will also host the new R1 interface (between rApps and SMO/NONRTRIC services)
F Feature Scope / Achievements:
Study & prototype Coordinated Service Exposure (SE)
Continue SE contribution building on the manual approaches already studied/completed.
Create/apply K8S configurations to isolate platform services and rApp microservices, then configure controlled secure access between service
Prototype CAPIF compliant API for Service/rApp registration/discovery, and service provider/consumer registration/configuration
Data Management & Exposure (DME):
Pre-spec O1 PM via pre-spec R1 DME demo
Configure & connect to PM data - collected by SMO (ONAP)
Collect, Filter & Coordinate Delivery of PM data from DMaaP/Kafka to rApps over R1 (ICS)
General activities
Continue to provide spec-compliant implementation of A1-Policy & A1-EI functions
NONRTRIC repo re-org
Continue to integrate and deploy SMO/NONRTRIC platform/rApps in OSC integration env.
Continue to expand NONRTRIC test platform & testsets
Show various versions rApps implemented/deployed as holistic “Automation Compositions” (ref ONAP ACM)
Continue to provide & integrate strawman rApps to comply with OSC RSAC integration usecases.
According to the O-RAN-SC-OAM-Architecture document, all ManagedElements (near-real-time-RIC, O-CU-CP, O-CU-UP, O-DU and O-RU) implement the O1-interface.
F Feature Scope / Achievements::
Providing an abstract topology for rApp and CNF deployment
Topology links are related to the following Interfaces: A1, E1, E2, F1, N1, N2, N3, O1, O2, OFH-CUSM
Topology Node are related to the following components:
2) Scheduler enhancement to support multiple UEs per slot https://jira.o-ran-sc.org/browse/ODUHIGH-403 Status: To be done in a future release (E2E testing for one UE per slot to be done in the lab)
Blocked for PTP grandmaster at the OSC lab to start the end to end integration activities
F release maintenance source code, container images, and deployment instructions
TODO
Code coverage:To be planned as UT framework is not available to provide code coverage.
O-DU Low
Primary Goals:
Implementation of the O-DU Low Physical Layer functions for a 5G Open Access Radio Network allowing the flexibility of a software implementation coupled with the ability of incorporating hardware accelerators on a selective basis and meets the O-RAN architecture goals of scalablity, mix and match multi-vendor modules that are interoperable and that can be upgraded as the standards evolve by software updates.
The O-DU Low physical layer functions follow the 3GPP TS 38 series recommendations for 5G and the 3GPP TS 36 series recommendations for LTE with the 3GPP 7.2 functional split between O-DU Low and O-RU. In 3GPP terms the O-DU Low is referred to HIGH-PHY in the functional split for 5G.
Implementation of the Open Front Haul interface to the O-RU per O-RAN WG4 CUS specifications.
Integration of this component with multi-vendor implementations of O-DU High and O-RU modules for end to end interoperability and compatibility verification.
F Release Feature Scope:
The O-DU Low F release adds support for Massive MIMO, URLLC and it is based on the commercial FlexRan 21.11 release. This release is an incremental improvement over the E-maintenance release code released on March of this year and that still needs to be integrated with the RSYS O-DU High code.
The F release can be used for end to end testing and it is based on the E maintenance release that was used for the 2021 November US O-RAN Plugfest and tested in conjuction with 2 stack partners and 2 different Test equipment vendors. The Front Haul Interface was also tested for compliance using Keysight's Front Haul Test equipment.
Container images and deployment instructions TBD
E Release Feature Scope:
O-DU Low E maintenance release was provided in March, 2022 and it is based on the code used in the November 2021 US O-RAN Plugfest. There are additional changes in the vendor specific portion of the API to support Massive MIMO and URLLC.
Since the code was deployed in the US O-RAN Plugfest using the commercial versions of the stack partners O-DU High code, the open source version from the partners need to be integrated as well.
The validation done prior to the release used the timer-mode and the test-mac to check all the new features.
Provided O-DU Low E-Maintenance Release on March 2022 to the O-RAN gerrit repo, documentation was updated. Binary blobs for the FlexRan L1 and testmac codes were also provided in github in March.
INF is a downstream project of StarlingX and Yocto Project, the above coverage report may not reflect the real code coverage so we also need to refer to the status from upstream projects.
Primary Goals: To support OSC project CI pipeline. To test and validate the components and use cases
Feature Scope:
To set up test automation that can run at release time to verify features and integration (initial efforts to make use of the Open Test Framework were incomplete due to resource issue)
To add CI/CD Jenkins job against the it/dep repository to start regular validation of OSC components installation/deployment and corresponding health check, which also lay the foundation for future test cases implementation (across OSC components, end-to-end use cases, etc.)
Work with OSC open labs (US east coast, US west coast, Asia Pacific) to facilitate community testing.
Explore the POWDER testbed for OSC integration test needs.
Jira: Count of Epics, User Stories, Tasks, and Issues:
D release source code, container images and deployment instructions
not applicable
Service Management and Orchestration (SMO)
Primary Goals: The primary goal of the SMO project is to integrate different software artifacts of existing open-source projects creating a fully functional open-source Service Management and Orchestration (SMO).
F release source code, container images and deployment instructions
Docker image and instruction on how to install SMO O1 NETCONF interface can be found here.
Docker image for instructions on how to install SMO O1/VES interface can be found here. A video that demonstrates an installation of the solution can be found here.