blob: 67c87a3d4928819bf95d2277e2f69c6d8e35cb3c [file] [log] [blame]
elinuxhenrik9e8b7842020-06-05 10:23:27 +02001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
JohnKeeney01ea4be2021-05-26 19:32:47 +01003.. Copyright (C) 2021 Nordix
elinuxhenrik9e8b7842020-06-05 10:23:27 +02004
5Use Cases
elinuxhenrik2ace4732022-03-30 09:55:35 +02006#########
elinuxhenrik9e8b7842020-06-05 10:23:27 +02007
elinuxhenrik2ace4732022-03-30 09:55:35 +02008To support the use cases defined for the Non-RT RIC, there are implementations provided in the Non RT-RIC project.
elinuxhenrik9e8b7842020-06-05 10:23:27 +02009
10Health Check
11------------
elinuxhenrik2ace4732022-03-30 09:55:35 +020012
elinuxhenrik9e8b7842020-06-05 10:23:27 +020013The Health Check use case for the Non-RT RIC is a python script that regularly creates, reads, updates, and deletes a
14policy in all Near-RT RICs that support the type used by the script. A self refreshing web page provides a view of
15statistics for these regular checks.
16
elinuxhenrik2ace4732022-03-30 09:55:35 +020017For more information about it, see the README file in `repo <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric%2Frapp%2Fhealthcheck.git;a=summary>`_.
elinuxhenrik9e8b7842020-06-05 10:23:27 +020018
JohnKeeney01ea4be2021-05-26 19:32:47 +010019.. image:: ./images/healthcheck.png
elinuxhenrik7a629fc2021-05-21 15:46:47 +020020
elinuxhenrik1a82b952021-12-14 13:04:49 +010021O-RU Front-Haul Recovery
22------------------------
elinuxhenrik7a629fc2021-05-21 15:46:47 +020023
elinuxhenrik1a82b952021-12-14 13:04:49 +010024This use case is a non-real-world closed-loop use case to demonstrate automated recovery when the front-haul connection between an O-DU and O-RU is reset.
25An application in the NONRTRIC senses the fault from the O-RU (O1-FM) and initiates a NETCONF reset operation (O1-CM) using the OAM controller.
26More details about the use case can be found on the O-RAN SC wiki: `RSAC <https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878423>`_ and `OAM <https://wiki.o-ran-sc.org/display/OAM/Closed+loop+use+case>`_.
JohnKeeney01ea4be2021-05-26 19:32:47 +010027
JohnKeeney408ef232021-12-13 17:52:29 +000028Non-RT RIC provides multiple implementation versions of the recovery part of the use case. One in the form of a python
elinuxhenrik1a82b952021-12-14 13:04:49 +010029script, one utilizing the ONAP Policy Framework, and one Go version that utilizes Information Coordination Service (ICS).
JohnKeeney01ea4be2021-05-26 19:32:47 +010030
31Standalone Script Solution
32++++++++++++++++++++++++++
elinuxhenrik1a82b952021-12-14 13:04:49 +010033
elinuxhenrik7a629fc2021-05-21 15:46:47 +020034The script version consists of a python script that performs the tasks needed for the use case. There are also two
JohnKeeney01ea4be2021-05-26 19:32:47 +010035simulators. One message generator that generates alarm messages, and one SDN-R simulator that receives the config
elinuxhenrik7a629fc2021-05-21 15:46:47 +020036change messages sent from the script and responds with alarm cleared messages to MR.
37
38All parts are Dockerized and can be started as individual containers, in the same network, in Docker.
JohnKeeney01ea4be2021-05-26 19:32:47 +010039
elinuxhenrik1a82b952021-12-14 13:04:49 +010040The script based solution can be found here:
JohnKeeneyc621b962021-12-14 21:47:39 +000041`Script version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/scriptversion>`_.
RehanRaza571635e2021-06-18 10:55:59 +020042
JohnKeeney01ea4be2021-05-26 19:32:47 +010043ONAP Policy Solution
44++++++++++++++++++++
45
JohnKeeney408ef232021-12-13 17:52:29 +000046There is also another solution for performing the front-haul recovery that is based on `ONAP Policy Framework <https://wiki.onap.org/display/DW/Policy+Framework+Project>`_.
47A TOSCA Policy has been created that listens to DMaaP Message Router, makes a decision on an appropriate remedy and then signals the decision as a configuration change message via
elinuxhenrik1a82b952021-12-14 13:04:49 +010048REST call to the OAM controller. The policy based solution can be found here:
JohnKeeneyc621b962021-12-14 21:47:39 +000049`Policy version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/apexpolicyversion>`_.
RehanRaza571635e2021-06-18 10:55:59 +020050
JohnKeeneyc621b962021-12-14 21:47:39 +000051There is a `docker-compose <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=docker-compose/docker-compose-policy-framework>`_ available
RehanRaza571635e2021-06-18 10:55:59 +020052in the nonrtric repo for bringing up the complete standalone version of ONAP Policy Framework.
53
54The detailed instructions for deploying and running this policy are provided in
PatrikBuhr75635392021-12-14 08:31:18 +010055the `wiki <https://wiki.o-ran-sc.org/display/RICNR/O-RU+Fronthaul+Recovery+usecase>`_.
elinuxhenrik1a82b952021-12-14 13:04:49 +010056
57ICS Consumer Solution
58+++++++++++++++++++++
59
60The ICS Consumer solution is implemented in Go and instead of polling MR itself, it registers as a consumer of the "STD_Fault_Messages" job in ICS.
61The Go implementation of the solution can be found here:
JohnKeeneyc621b962021-12-14 21:47:39 +000062`Go version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/goversion>`_.
elinuxhenrik1a82b952021-12-14 13:04:49 +010063
64O-DU Slice Assurance
65--------------------
66
67A very simplified closed-loop rApp use case to re-prioritize a RAN slice's radio resource allocation priority if sufficient throughput cannot be maintained. Not intended to to be 'real-world'.
68
69The Go implementation of the solution can be found in
ychacond113c312022-02-24 09:34:39 +010070this `link <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric/rapp/ransliceassurance.git;a=tree;f=smoversion>`__.