Merge "Fix a typo in autotest log output"
[nonrtric.git] / docs / use-cases.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (C) 2021 Nordix
4
5 Use Cases
6 #########
7
8 To support the use cases defined for the Non-RT RIC, there are implementations provided in the Non RT-RIC project.
9
10 Health Check
11 ------------
12
13 The Health Check use case for the Non-RT RIC is a python script that regularly creates, reads, updates, and deletes a
14 policy in all Near-RT RICs that support the type used by the script. A self refreshing web page provides a view of
15 statistics for these regular checks.
16
17 For 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>`_.
18
19 .. image:: ./images/healthcheck.png
20
21 O-RU Front-Haul Recovery
22 ------------------------
23
24 This 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.
25 An 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.
26 More 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>`_.
27
28 Non-RT RIC provides multiple implementation versions of the recovery part of the use case. One in the form of a python
29 script, one utilizing the ONAP Policy Framework, and one Go version that utilizes Information Coordination Service (ICS).
30
31 The code is available in the `use case repo <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric%2Frapp%2Forufhrecovery.git;a=summary>`_
32
33 Standalone Script Solution
34 ++++++++++++++++++++++++++
35
36 The script version consists of a python script that performs the tasks needed for the use case. There are also two
37 simulators. One message generator that generates alarm messages, and one SDN-R simulator that receives the config
38 change messages sent from the script and responds with alarm cleared messages to MR.
39
40 All parts are Dockerized and can be started as individual containers, in the same network, in Docker.
41
42 ONAP Policy Solution
43 ++++++++++++++++++++
44
45 There 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>`_.
46 A 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
47 REST call to the OAM controller.
48
49 There 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
50 in the nonrtric repo for bringing up the complete standalone version of ONAP Policy Framework.
51
52 The detailed instructions for deploying and running this policy are provided in
53 the `wiki <https://wiki.o-ran-sc.org/display/RICNR/O-RU+Fronthaul+Recovery+usecase>`_.
54
55 ICS Consumer Solution
56 +++++++++++++++++++++
57
58 The 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.
59
60 O-DU Slice Assurance
61 --------------------
62
63 A 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'.
64
65 The Go implementation of the solution can be found in
66 this `link <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric/rapp/ransliceassurance.git;a=tree;f=smoversion>`__.