Yet more documentation updates 61/7361/1
authorJohnKeeney <john.keeney@est.tech>
Tue, 14 Dec 2021 21:47:39 +0000 (21:47 +0000)
committerJohn Keeney <John.Keeney@est.tech>
Tue, 14 Dec 2021 22:06:07 +0000 (22:06 +0000)
Signed-off-by: JohnKeeney <john.keeney@est.tech>
Issue-ID: NONRTRIC-643
Change-Id: Ia97f8f400e462bf51e04f072be90a15f84d9a00d

docs/installation-guide.rst
docs/overview.rst
docs/requirements.rst
docs/use-cases.rst

index 0d0b3a9..17e3492 100644 (file)
@@ -10,11 +10,6 @@ Abstract
 
 This document describes how to install the Non-RT RIC components, their dependencies and required system resources.
 
-Preface
--------
-
-See the README file in the "`docker-compose <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=docker-compose>`_" folder for more information.
-
 Software Installation and Deployment
 ------------------------------------
 
@@ -31,7 +26,7 @@ command to start the components:
            -f ics/docker-compose.yaml
 
 The example above is just an example to start some of the components. 
-For more information on running and configuring the functions can be found in the Readme file in the "`docker-compose <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=docker-compose>`__" folder, and on the `wiki page <https://wiki.o-ran-sc.org/display/RICNR/Release+E+-+Run>`_
+For more information on running and configuring the functions can be found in the README file in the "`docker-compose <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=docker-compose>`__" folder, and on the `wiki page <https://wiki.o-ran-sc.org/display/RICNR/Release+E+-+Run>`_
 
 Install with Helm
 +++++++++++++++++
index 5bdaf8c..8126776 100644 (file)
@@ -8,9 +8,16 @@
 Summary
 -------
 
-The Non-RealTime RIC (RAN Intelligent Controller) is an Orchestration and Automation function described by the O-RAN Alliance for non-real-time intelligent management of RAN (Radio Access Network) functions. The primary goal of the Non-RealTime RIC is to support non-real-time radio resource management, higher layer procedure optimization, policy optimization in RAN, and providing guidance, parameters, policies and AI/ML models to support the operation of near-RealTime RIC functions in the RAN to achieve higher-level non-real-time objectives. NONRTRIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. The NONRTRIC project provides concepts, specifications, architecture and reference implementations as defined and described by the `O-RAN Alliance <https://www.o-ran.org>`_ architecture.
+The Non-RealTime RIC (RAN Intelligent Controller) is an Orchestration and Automation function described by the O-RAN Alliance for non-real-time intelligent management of RAN (Radio Access Network) functions. 
 
-The O-RAN-SC NONRTRIC implementation communicates with near-RealTime RIC elements in the RAN via the A1 interface. Using the A1 interface the NONRTRIC will facilitate the provision of policies for individual UEs or groups of UEs; monitor and provide basic feedback on policy state from near-RealTime RICs; provide enrichment information as required by near-RealTime RICs; and facilitate ML model training, distribution and inference in cooperation with the near-RealTime RICs.
+The primary goal of the Non-RealTime RIC is to support non-real-time radio resource management, higher layer procedure optimization, policy optimization in RAN, and providing guidance, parameters, policies and AI/ML models to support the operation of near-RealTime RIC functions in the RAN to achieve higher-level non-real-time objectives. 
+
+Non-RealTime RIC functions include service and policy management, RAN analytics and model-training for the near-RealTime RICs. 
+The Non-RealTime RIC platform hosts and coordinates rApps (Non-RT RIC applications) to perform Non-RealTime RIC tasks.
+The Non-RealTime RIC also hosts the new R1 interface (between rApps and SMO/Non-RealTime-RIC services)
+
+The O-RAN-SC (OSC) NONRTRIC project provides concepts, architecture and reference implementations as defined and described by the `O-RAN Alliance <https://www.o-ran.org>`_ architecture.
+The OSC NONRTRIC implementation communicates with near-RealTime RIC elements in the RAN via the A1 interface. Using the A1 interface the NONRTRIC will facilitate the provision of policies for individual UEs or groups of UEs; monitor and provide basic feedback on policy state from near-RealTime RICs; provide enrichment information as required by near-RealTime RICs; and facilitate ML model training, distribution and inference in cooperation with the near-RealTime RICs.
 
 |archpic|
 
@@ -21,17 +28,23 @@ NONRTRIC components
 
 These are the components that make up the Non-RT-RIC:
 
-* Non-RT-RIC Control Panel / Dashboard
-* A1 Policy Management Service (developed in ONAP)
-* A1/SDNC Controller & A1 Adapter (Controller plugin)
+* Non-RT-RIC Control Panel
 * Information Coordinator Service
+* A1 Policy Management Service
+* A1 Policy Controller / Adapter
+* Near-RT RIC A1 Simulator
 * Non-RT-RIC (Spring Cloud) Service Gateway
 * Non-RT-RIC (Kong) Service Exposure Prototyping
+* DMaaP/Kafka Information Producer Adapters
 * Initial Non-RT-RIC App Catalogue
-* Near-RT-RIC A1 Simulator
-* DMaap Adaptor
+* Initial K8S Helm Chart LCM Manager
+* Test Framework
+* Use Cases
 
-The code base for "E" Release is in the `NONRTRIC <https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric>`_, `NONRTRIC-ControlPanel <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_, and `Near-RT-RIC A1-Simulator <https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface>`_ , Gerrit source repositories (E-Release Branch).
+  + "Helloworld" O-RU Fronthaul Recovery use case
+  + "Helloworld" O-DU Slice Assurance use case
+
+The source code for "E" Release is in the `NONRTRIC <https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric>`_, `NONRTRIC-ControlPanel <https://gerrit.o-ran-sc.org/r/admin/repos/portal/nonrtric-controlpanel>`_, and `Near-RT-RIC A1-Simulator <https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface>`_ Gerrit source repositories (E-Release Branch).
 
 Non-RT-RIC Control Panel / NONRTRIC Dashboard
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -39,21 +52,43 @@ Non-RT-RIC Control Panel / NONRTRIC Dashboard
 Graphical user interface
 
 * View and Manage A1 policies in the RAN (near-RT-RICs)
-* Interacts with the Policy agent’s NBI (REST API)
-* Graphical A1 policy creation/editing is model-driven, based on policy type’s JSON schema
+* Graphical A1 policy creation/editing is model-driven, based on policy type's JSON schema
 * View and manage producers and jobs for the Information coordinator service
 * Configure A1 Policy Management Service (e.g. add/remove near-rt-rics)
-* Interacts with the A1-PolicyManagementService & A1-EI-Coordinator (REST NBIs) via Service Exposure gateway
-     
+* Interacts with the A1-Policy Management Service & Information Coordination Service (REST NBIs) via Service Exposure gateway
+
 Implementation:
 
 * Frontend: Angular framework
 * Repo: *portal/nonrtric-controlpanel*
 
-Please refer the developer guide and the wiki to set up in your local environment.
+Please refer the developer guide and the `Wiki <https://wiki.o-ran-sc.org/display/RICNR/>`_ to set up in your local environment.
 
 More details available at the `NONRTRIC-Portal documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-portal-nonrtric-controlpanel>`_
 
+Information Coordination Service
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Coordinate/Register Information Types, Producers, Consumers, and Jobs.
+
+Coordinate/Register A1-EI Types, Producers, Consumers, and Jobs (A1 Enrichment Information Job Coordination).
+
+* Maintains a registry of:
+
+  + Information Types / schemas
+  + Information Producers
+  + Information Consumers
+  + Information Jobs
+
+* Information Query API (e.g. per producer, per consumer, per types)
+* Query status of Information jobs
+* After Information-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between Information Producers and Information Consumers
+* The Information Coordinator Service natively supports the O-RAN A1 Enrichment Information (A1-EI) interface, supporting coordination A1-EI Jobs where information (A1-EI)flow from the SMO/Non-RT-RIC/rApps to near-RT-RICs over the A1 interface.
+
+Implementation:
+
+* Implemented as a Java Spring Boot application
+
 A1 Policy Management Service (from ONAP CCSDK)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -65,20 +100,20 @@ A1 Controller Service above A1 Controller/Adaptor that provides:
   + Create/Query/Update/Delete A1 Policy Instances in near-RT-RICs
   + Query Status for A1 Policy Instances
 
-* Maintains (persistent) cache of RANs A1 Policy information
+* Maintains (persistent) cache of RAN's A1 Policy information
 
   * Support RAN-wide view of A1 Policy information
   * Streamline A1 traffic
   * Enable (optional) re-synchronization after inconsistencies / near-RT-RIC restarts
   * Supports a large number of near-RT-RICs (& multi-version support)
-  
+
 * Converged ONAP & O-RAN-SC A1 Adapter/Controller functions in ONAP SDNC/CCSDK (Optionally deploy without A1 Adaptor to connect direct to near-RT-RICs)
 * Support for different Southbound connectors per near-RT-RIC - e.g. different A1 versions, different near-RT-RIC version, different A1 adapter/controllers supports different or proprietary A1 controllers/EMSs
 
-See also: `A1 Policy Management Service in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_  
-
+See also: `A1 Policy Management Service in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_ 
 
 Implementation:
+
 * Implemented as a Java Spring Boot application
 
 A1/SDNC Controller & A1 Adapter (Controller plugin)
@@ -91,51 +126,32 @@ Mediation point for A1 interface termination in SMO/NONRTRIC
 * NETCONF YANG > RESTCONF adapter
 * SLI Mapping logic supported
 * Can be included in an any controller based on ONAP CCSDK
-* Continues to support both a dedicated OSC A1-controller persona and an ONAP SDNC persona  
-
-See also: `A1 Adapter/Controller Functions in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_  
-  
-Information Coordination Service
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Coordinate/Register A1-EI Types, Producers, Consumers, and Jobs.
 
-* Maintains a registry of:
+See also: `A1 Adapter/Controller Functions in ONAP <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_ 
 
-  - A1-EI Data Types / schemas
-  - A1-EI Producers
-  - A1-EI Consumers
-  - A1-EI Jobs
+A1 Interface / Near-RT-RIC Simulator
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-* A1-EI Query API (e.g. per producer, per consumer, per types)
-* Query status of A1-EI jobs
-* Monitors all near-RT-RICs and recovers from inconsistencies
-* After EI-type/Producer/Consumer/Job is successfully registered delivery/flow can happen directly between A1-EI Producers (in SMO/NONRTRIC domain) and A1-EI consumers (near-RT-RICs in RAN domain)
-* *Being extended to coordinate non-A1 Information exchange between NONRTRIC Apps*
+Stateful A1 test stub.
 
+* Used to create multiple stateful A1 providers (simulated near-rt-rics)
+* Supports A1-Policy and A1-Enrichment Information
+* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc)
+* All A1-AP versions supported
 
 Implementation:
 
-* Implemented as a Java Spring Boot application
-
-Dmaap Adapter
-~~~~~~~~~~~~~
-
-Is a generic information producer, which registers itself as an information producer of information types (in Information Coordination Service).
-The information types are defined in a configuration file.
-Information jobs can retrieve data from DMaaP or Kafka topics and push this to data consumers (accessing the ICS API).
-
-Implementation (2 implementations):
+* Implemented as a Python application
+* Repo: *sim/a1-interface*
 
-1. Implementation as a Java Spring Boot application
-2. Implementation as a Go application
+More details available at the `A1 Simulator documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface>`_
 
 Non-RT-RIC (Spring Cloud) Service Gateway
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Support Apps to use A1 Services
+Support Apps to use A1 Services 
 
 * `Spring Cloud Gateway <https://cloud.spring.io/spring-cloud-gateway>`_ provides the library to build a basic API gateway
-* Exposes A1 Policy Management Service & Information Coordinator Service.
+* Exposes A1 Policy Management Service & Information Coordinator Service. 
 * Additional predicates can be added in code or preferably in the Gateway yaml configuration.
 
 Implementation:
@@ -155,7 +171,23 @@ A building block for coming releases as the R1 Interface concept matures
 * Initial version based on `Kong API Gateway <https://docs.konghq.com/gateway-oss>`_ function
 * Initial exposure candidates include A1 (NONRTRIC) services & O1 (OAM/SMO) services
 
-NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep <https://gerrit.o-ran-sc.org/r/gitweb?p=it/dep.git;a=tree;f=nonrtric/helm;hb=refs/heads/master>`_ Gerrit repo. 
+NONRTRIC Kubernetes deployment - including Kong configurations can be found in the OSC `it/dep <https://gerrit.o-ran-sc.org/r/gitweb?p=it/dep.git;a=tree;f=nonrtric/helm/nonrtric>`_ Gerrit repo. 
+
+DMaaP/Kafka Information Producer Adapters
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Configurable mediators to take information from DMaaP (& Kafka) and present it as a coordinated Information Producer 
+
+These mediators/adapters are generic information producers, which registers themselves as an information producers of defined information types (in Information Coordination Service).
+The information types are defined in a configuration file. 
+Information jobs defined using Information Coordination Service (ICS) then allow information consumers to retrieve data from DMaaP MR or Kafka topics (accessing the ICS API).
+
+Two alternative implementations to allow Information Consumers to consume DMaaP or Kafka events as coordinated Information Jobs.
+
+Implementations:
+
+1. A version implemented in Java (Spring) - Supporting DMaaP and Kafka mediation
+2. A version implemented in Go - Supporting DMaaP mediation 
 
 Initial Non-RT-RIC App Catalogue
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -178,19 +210,20 @@ Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts
 * Initial version co-developed with v. similar functions in ONAP
 * *Limited functionality/integration for now*
 
-A1 Interface / Near-RT-RIC Simulator
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Test Framework
+~~~~~~~~~~~~~~
 
-Stateful A1 test stub.
+A full test environment with extensive test cases/scripts can be found in the ``test`` directory in the *nonrtric* source code
 
-* Used to create multiple stateful A1 providers (simulated near-rt-rics)
-* Supports A1-Policy and A1-Enrichment Information
-* Swagger-based northbound interface, so easy to change the A1 profile exposed (e.g. A1 version, A1 Policy Types, A1-E1 consumers, etc)
-* All A1-AP versions supported
+Use Cases
+~~~~~~~~~
 
-Implementation:
+"Helloworld" O-RU Fronthaul Recovery use case
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-* Implemented as a Python application
-* Repo: *sim/a1-interface*
+A very simplified closed-loop rApp use case to re-establish front-haul connections between O-DUs and O-RUs if they fail. Not intended to to be 'real-world'
 
-More details available at the `A1 Simulator documentation site <https://docs.o-ran-sc.org/projects/o-ran-sc-sim-a1-interface>`_
+"Helloworld" O-DU Slice Assurance use case
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+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'
index 9fe6d37..471cf89 100644 (file)
@@ -9,24 +9,40 @@ Find detailed description of what Non-RT RIC is on this `page`_.
 
 .. _page: https://wiki.o-ran-sc.org/display/RICNR/
 
-There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
+The NONRTRIC project (and the O-RAN Non-RealTime RIC function) can be considered from a number of different viewpoints. This page presents some of these views:
 
-#. Non-RT RIC shall support data retrieval and analysis; the data may include performance, configuration or other data related to the application (recommended data shown in required data section for  different use cases).
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for non-real-time optimization of configuration parameters in RAN or Near-RT RIC, as applicable for the use case.
-#. Non-RT RIC shall support relevant AI/ML model training based on the data in 1. for generating/optimizing policies and intents to guide the behavior of applications in Near-RT RIC or RAN, as applicable for the use case.
-#. Non-RT RIC shall support training of relevant AI/ML models based on the data in 1. to be deployed/updated in Near-RT RIC as required by the applications.
-#. Non-RT RIC shall support performance monitoring and evaluation.
-#. Non-RT RIC shall support a fallback mechanism to prevent drastic degradation/fluctuation of performance, e.g. to restore to the previous policy or configuration.
+**Scope 1: A1 Controller (Mediator, Endpoint)**
 
-The non-functional requirements are the following ones:
+* Southbound: Provide termination point for A1 interface(s) - REST endpoint for messages to/from Near-RealTime RIC
+* Northbound: Provide a more generic interface for A1 operations - provide interface to rApps, without the need for A1 message generation, addressing, coordination, mediation, etc.
+* O1 interfaces do not terminate in NONRTRIC function (but may terminate in same controller host/instance)
 
-#. Non-RT RIC shall not update the same policy or configuration parameter for a given Near-RT RIC or RAN function more often than once per second.
-#. Non-RT RIC shall be able to update policies in several Near-RT RICs.
+**Scope 2: Coordinate/Host A1 Policy Management Services**
 
-Moreover, there are functional requirements regarding the A1 interface:
+* Map high level RAN goal/intent directives to finely-scoped A1 Policies towards individual Near-RT RIC instances
+* Informed by observed RAN context (provided over O1 via OAM functions), and other external context (via other SMO functions)
+* Dynamically coordinate life cycles of A1 Policies in individual Near-RT RICs as contexts change
 
-#. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
-#. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
-#. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
+**Scope 3: Coordinate ML/AI Models - In RAN (“E2 nodes” & Near-RT RICs) and NONRTRIC (future)**
+
+* Acts as model-training host
+* May act as model-inference host (others: Near-RT RICs, “E2 nodes”)
+* Dynamically coordinate ML/AI model lifecycle management (e.g. re-train, re-deploy, etc)
+* Models are (always?) deployed over O1 interface
+
+**Scope 4: Enrichment Data Coordinator**
+
+* Additional context that is unavailable to Near-RT RICs (e.g. RAN data, SMO context, External context)
+* Dynamically coordinate access and pass data to appropriate Near-RT RICs (e.g. for use in ML/AI model inference)
+
+**Scope 5: rApp Host & rApp Coordinator**
+
+* rApps may act as, or form part of, NONRTRIC- or SMO-level applications
+* rApps, via rApp host function, may consume many other services - some from the NONRTRIC platform, some from the SMO platform, and some from other rApps
+* Dynamically coordinate rApp lifecycle management
+
+**Scope 6: Provide R1 interface for rApps**
+
+* rApps may only consume services over the R1 interface (from NONRTRIC platform, or from SMO platform, or from other rApps)
+* Platform services and services optionally provided by rApps must be exposed over the R1 Interface
+* These services may be "standardized" R1 services or R1 extensions (some may be proprietary)
index 4bf6165..25df7de 100644 (file)
@@ -38,7 +38,7 @@ change messages sent from the script and responds with alarm cleared messages to
 All parts are Dockerized and can be started as individual containers, in the same network, in Docker.
 
 The script based solution can be found here:
-`Script version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/scriptversion;b=HEAD>`_.
+`Script version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/scriptversion>`_.
 
 ONAP Policy Solution
 ++++++++++++++++++++
@@ -46,9 +46,9 @@ ONAP Policy Solution
 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>`_.
 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
 REST call to the OAM controller. The policy based solution can be found here:
-`Policy version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/apexpolicyversion;b=HEAD>`_.
+`Policy version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/apexpolicyversion>`_.
 
-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;b=HEAD>`_ available
+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
 in the nonrtric repo for bringing up the complete standalone version of ONAP Policy Framework.
 
 The detailed instructions for deploying and running this policy are provided in
@@ -59,7 +59,7 @@ ICS Consumer Solution
 
 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.
 The Go implementation of the solution can be found here:
-`Go version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/goversion;b=HEAD>`_.
+`Go version <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/oruclosedlooprecovery/goversion>`_.
 
 O-DU Slice Assurance
 --------------------
@@ -67,4 +67,4 @@ O-DU Slice Assurance
 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'.
 
 The Go implementation of the solution can be found in
-this `link <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/odusliceassurance/goversion;b=HEAD>`_.
+this `link <https://gerrit.o-ran-sc.org/r/gitweb?p=nonrtric.git;a=tree;f=test/usecases/odusliceassurance/goversion>`_.