Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Near-Real-time RAN Intelligent Controller Platform (E2 Interface) (RICPLT)

Mission: E2 updates with first E2APv1.1 support and improvements in E2 subscription handling.

Original primary goals: Update to E2APv1.1 (E2 Node configuration transfer in E2 Setup and E2 Configuration Update (RIC-638, even if likely changing again in E2APv2.0) and E2SM OID support in internal E2SM function query interfaces (RIC-640)) // RIC-809 Subscription manager to delete subscriptions in case of E2 disconnect (incl. Xapp changes) // RIC-796 sub mgr and xapp-frame error cases // RIC-793 Prevent A1 Job ID conflicts from multiple RICs using the same A1 producer (SMO) // Partial only: RIC-647 (first step of reimplementation A1 mediator in golang to avoid A1 being the only python container in RIC platform // RIC-709 E2 stats exposing individual counters instead of groups // RIC-714 support for DMS REST interface in addition to DMS CLI // RIC-113 DB: SDL CLI for debugging and testing // RIC-110 FindKeys/GetAllKeys SDL API to support glob-style patterns // RIC-676 Update to Ubuntu 20.04 as base image for all containers // improvements in xApp testing // 29 Epics planned: link and 30 items as stretch goals: link

Achieved E release highlights = high-level release notes (2021-12-03) below (note that the release image list is here (once releases): link)

  • we updated from E2APv1.0 to E2APv1.1. The platform now stores OIDs (introduced in E2APv1.1) for the E2SM of E2 function definitions in RNIB. Since E2APv1.1 is backwards compatible with 1.0, you can still connect E2 nodes that support E2APv1.0. Note that for the next release we plan to switch to E2APv2.0 only.
  • The E2 subscription manager now automatically deletes its stored subscriptions if it gets notified (by the E2 manager) of E2 nodes having disconnected. xApps are expected to do the same and need to re-issue their subscriptions once the E2 node is reconnected. This behavior is different to earlier behavior where the subscription manager kept the subscriptions in such situations. Note that the standard requires the E2 node to delete its subscriptions if there's the E2 interface is disconnected.
  • The E2 subscription manager now handles various error scenarios that previously were not handled.
  • We will continue the re-implementation of the A1 mediator in golang in release F. The first parts are already implemented, but in the E release we stay with the "old" python-implementation of the A1 mediator.
  • On SDL side we now have a SDL CLI that can be used in testing (instead of direct usage of the Redis CLI). The SDL API for findkeys/getkeys now supports glob-style patterns.
  • The golang SDL API/library now handles namespaces as part of its function signatures instead of this being a global parameter. This eases usage of multiple namespaces from the same application.

For the E 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 E

Status 2021-12-03: we are working on implementing the last planned development items below. From the 29 epics planned (link) we implemented so far 13 (link). 13 items have been moved out of the E release, e.g, because of implementation delays (link). We expect 6 3 items to still complete and one item (RIC-375) is still under discussion what to do with it (link).

E release source code, container images and deployment instructions

Each repository has a branch named "e-release" that can be accessed using git: "git clone --branch e-release "https://gerrit.o-ran-sc.org/r/ric-plt/e2". Make sure to replace the URL with correct repositories. Note that this branch is in maintenance and all new development is done in branch "master". The complete list of repositories belonging to  the RIC platform is defined here: Scope of the near-RT RIC platform and its components (summary).

In order to deploy the E release of the near-RT RIC platform you can re-use the pre-created container images as defined here. The same instructions as always apply, i.e., follow the general latest instructions: https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-ric-dep/en/latest/ → Installing Near Realtime RIC in RIC Cluster, but make sure to use "git clone --branch e-release ..." instead of "git clone ..." when cloning it/dep and ric-plt/ric-dep.

...