5b2747174e577afb8fd222fae1bef8fe6ab69ec7
[nonrtric.git] / 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 nonrtric repo, see:
9   nonrtric/test/usecases
10
11 Health Check
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 the use case's folder.
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 Standalone Script Solution
32 ++++++++++++++++++++++++++
33
34 The script version consists of a python script that performs the tasks needed for the use case. There are also two
35 simulators. One message generator that generates alarm messages, and one SDN-R simulator that receives the config
36 change messages sent from the script and responds with alarm cleared messages to MR.
37
38 All parts are Dockerized and can be started as individual containers, in the same network, in Docker.
39
40 The script based solution can be found here:
41 `Script version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/scriptversion>`_.
42
43 ONAP Policy Solution
44 ++++++++++++++++++++
45
46 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>`_.
47 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
48 REST call to the OAM controller. The policy based solution can be found here:
49 `Policy version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/apexpolicyversion>`_.
50
51 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
52 in the nonrtric repo for bringing up the complete standalone version of ONAP Policy Framework.
53
54 The detailed instructions for deploying and running this policy are provided in
55 the `wiki <https://wiki.o-ran-sc.org/display/RICNR/O-RU+Fronthaul+Recovery+usecase>`_.
56
57 ICS Consumer Solution
58 +++++++++++++++++++++
59
60 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.
61 The Go implementation of the solution can be found here:
62 `Go version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/goversion>`_.
63
64 O-DU Slice Assurance
65 --------------------
66
67 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'.
68
69 The Go implementation of the solution can be found in
70 this `link <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric/rapp/ransliceassurance.git;a=tree;f=smoversion>`__.