Test FTC100 fails since A1-SIM update
[nonrtric.git] / docs / overview.rst
index 0aebe30..60515a0 100644 (file)
@@ -1,8 +1,9 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. SPDX-License-Identifier: CC-BY-4.0
-.. Copyright (C) 2021 Nordix
+.. Copyright (C) 2021-2023 Nordix Foundation. All rights Reserved
+.. Copyright (C) 2023 OpenInfra Foundation Europe. All Rights Reserved
 
-.. |archpic| image:: ./images/nonrtric-architecture-F.png
+.. |archpic| image:: ./images/nonrtric-architecture-I.png
   :alt: Image: O-RAN SC - NONRTRIC Overall Architecture
 
 Summary
@@ -12,39 +13,42 @@ The Non-RealTime RIC (RAN Intelligent Controller) is an Orchestration and Automa
 
 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.
+Non-RealTime RIC functions include service and policy management and RAN analytics for the RAN.
 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.
+The OSC NONRTRIC hosts rApps, and coordinates all interactions between the rApp and underlying SMo by way of the R1 Interface. 
 
 |archpic|
 
-Find detailed description of the NONRTRIC project see the `O-RAN SC NONRTRIC Project Wiki <https://wiki.o-ran-sc.org/display/RICNR/>`_.
+Find detailed description of the NONRTRIC project see the `O-RAN SC NONRTRIC Project Wiki <nonrtricwiki_>`_.
 
 NONRTRIC components
 -------------------
 
 These are the components that make up the Non-RT-RIC:
 
-* `Non-RT-RIC Control Panel <#non-rt-ric-control-panel-nonrtric-dashboard>`_. :doc:`Documentation site <controlpanel:index>`.
-* `Information Coordinator Service <#information-coordination-service>`_. :doc:`Documentation site <informationcoordinatorservice:index>`.
-* `A1 Policy Management Service <#a1-policy-management-service-from-onap-ccsdk>`_. :doc:`Documentation site <a1policymanagementservice:index>`.
+* `Non-RT-RIC Control Panel <#non-rt-ric-control-panel-nonrtric-dashboard>`_.  (:doc:`Documentation site <controlpanel:index>`).
+* `Information Coordinator Service <#information-coordination-service>`_.  (:doc:`Documentation site <informationcoordinatorservice:index>`).
+* `A1 Policy Management Service <#a1-policy-management-service-from-onap-ccsdk>`_.  (:doc:`Documentation site <a1policymanagementservice:index>`).
 * `A1 Policy Controller / Adapter <#a1-sdnc-controller-a1-adapter-controller-plugin>`_.
-* `Near-RT RIC A1 Simulator <#a1-interface-near-rt-ric-simulator>`_. :doc:`Documentation site <simulator:index>`.
-* `Non-RT-RIC (Spring Cloud) Service Gateway <#non-rt-ric-spring-cloud-service-gateway>`_.
-* `Non-RT-RIC (Kong) Service Exposure Prototyping <#non-rt-ric-kong-service-exposure-prototyping>`_.
-* `DMaaP/Kafka Information Producer Adapters <#dmaap-kafka-information-producer-adapters>`_. :doc:`Documentation site adapter <dmaapadapter:index>`. :doc:`Documentation site mediator <dmaapmediatorproducer:index>`.
-* `Initial Non-RT-RIC App Catalogue <#initial-non-rt-ric-app-catalogue>`_. :doc:`Documentation site <rappcatalogue:index>`.
-* `Initial K8S Helm Chart LCM Manager <#id5>`_. :doc:`Documentation site <helmmanager:index>`.
-* `Authentication Support <#id6>`_. :doc:`Documentation site <authtokenfetch:index>`.
-* `Service Management & Exposure (SME) <#service-management-and-exposure>`_. :doc:`Documentation site <sme:index>`.
-* `Test Framework <#id7>`_.
+* `Near-RT RIC A1 Simulator <#a1-interface-near-rt-ric-simulator>`_.  (:doc:`Documentation site <simulator:index>`).
+* `Non-RT-RIC (Spring Cloud) Service Gateway <#spring-cloud-service-gateway>`_.
+* `Non-RT-RIC Service Exposure Security Architecture Prototyping <#service-exposure-security-architecture-prototyping>`_.  (:doc:`Documentation site <service-exposure/se-overview/>`). 
+* `DMaaP/Kafka Information Producer Adapters <#dmaap-information-producer-adapters-kafka>`_.  (:doc:`Documentation site adapter <dmaapadapter:index>`),  (:doc:`Documentation site mediator <dmaapmediatorproducer:index>`).
+* `Initial Non-RT-RIC App Catalogue <#initial-app-catalogue>`_.  (:doc:`Documentation site <rappcatalogue:index>`).
+* `Initial K8S Helm Chart LCM Manager <#initial-kubernetes-helm-chart-lcm-manager>`_.  (:doc:`Documentation site <helmmanager:index>`).
+* `Service Management & Exposure (SME) (CAPIF) <#service-management-and-exposure-capif>`_.  (:doc:`Documentation site <sme:index>`).
+* `Authentication Support <#authentication-support-keycloak>`_.
+* `RApp Manager Service <#rapp-manager-service>`__.  (:doc:`Documentation site <rappmanager:index>`).
+* `RAN Performance Monitoring Functions (File-based PM) <#ran-performance-monitoring-functions-file-based-pm>`__   (:doc:`Documentation site <ranpm:index>`).
+* `Test Framework <#non-rt-ric-test-framework>`_.
 * `Use Cases: <#non-rt-ric-use-cases>`_
 
-  * "Helloworld" O-RU Fronthaul Recovery use case. :doc:`Documentation site <orufhrecovery:index>`.
-  * "Helloworld" O-DU Slice Assurance use case. :doc:`Documentation site <ransliceassurance:index>`.
+  * "Helloworld" O-RU Fronthaul Recovery use case.  (:doc:`Documentation site <orufhrecovery:index>`).
+  * "Helloworld" O-DU Slice Assurance use case.  (:doc:`Documentation site <ransliceassurance:index>`).
 
 
 Non-RT-RIC Control Panel / NONRTRIC Dashboard
@@ -62,7 +66,6 @@ Implementation:
 
 - Frontend: Angular framework
 - Repo: *portal/nonrtric-controlpanel*
-- `Wiki <https://wiki.o-ran-sc.org/display/RICNR/>`_ to set up in your local environment.
 - Documentation at the :doc:`NONRTRIC-Portal documentation site <controlpanel:index>`.
 
 Information Coordination Service
@@ -73,6 +76,7 @@ The ICS is a data subscription service which decouples data producers from data
 A data consumer can have several active data subscriptions (Information Job). One Information Job consists of the type of data to produce and additional parameters, which may be different for different data types. These parameters are not defined or limited by this service.
 
 Maintains a registry of:
+
 - Information Types / schemas
 - Information Producers
 - Information Consumers
@@ -116,6 +120,7 @@ Implementation:
 
 A1/SDNC Controller & A1 Adapter (Controller plugin)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 Mediation point for A1 interface termination in SMO/NONRTRIC.
 
 - Implemented as CCSDK OSGI Feature/Bundles.
@@ -146,8 +151,8 @@ Implementation:
 - Repo: *sim/a1-interface*.
 - Documentation at the :doc:`A1 Simulator documentation site <simulator:index>`.
 
-Non-RT-RIC (Spring Cloud) Service Gateway
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+(Spring Cloud) Service Gateway
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 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.
@@ -160,21 +165,19 @@ Implementation:
 - Repo: *portal/nonrtric-controlpanel*.
 
 
-Non-RT-RIC (Kong) Service Exposure Prototyping
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Service Exposure Security Architecture Prototyping
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Support Apps to use NONRTRIC, SMO and other App interfaces.
 A building block for coming releases as the R1 Interface concept matures .
 
 - Support dynamic registration and exposure of service interfaces to Non-RT-RIC applications (& NONRTRIC Control panel).
-- Extends a static gateway function specifically for NONRTRIC Control panel (described above).
-- 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.
+- The architecture and components are defined in :doc:`Non-RT RIC Security Architecture Prototyping (Documentation site) <service-exposure/se-overview/>`. 
+- Works with the CAPIF `Service Management & Exposure (SME) <#service-management-and-exposure>`_. :doc:`Documentation site <sme:index>` functions.
 
-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
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DMaaP Information Producer Adapters (Kafka)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Configurable mediators to take information from DMaaP and Kafka and present it as a coordinated Information Producer.
 
@@ -189,8 +192,8 @@ Implementation:
 - Implementation in Java Spring (DMaaP Adapter), repo: *nonrtric/plt/dmaapadapter*, see :doc:`DMaaP Adapter documentation site <dmaapadapter:index>`.
 - Implementation in Go (DMaaP Mediator Producer), repo: *nonrtric/plt/dmaapmediatorproducer*, see :doc:`DMaaP Mediator Producer documentation site <dmaapmediatorproducer:index>`.
 
-Initial Non-RT-RIC App Catalogue
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Initial App Catalogue
+~~~~~~~~~~~~~~~~~~~~~
 
 Register for Non-RT-RIC Apps.
 
@@ -200,17 +203,17 @@ Register for Non-RT-RIC Apps.
 
 Implementation:
 
-- Implemented as a Java Spring Boot application.
+- Implemented as a Java Spring Boot application and in Python.
 - Repo: *nonrtric/plt/rappcatalogue*
 - Documentation at the :doc:`rApp Catalogue documentation site <rappcatalogue:index>`.
 
-Initial K8S Helm Chart LCM Manager
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Initial Kubernetes Helm Chart LCM Manager
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Onboard, start, stop, and modify Non-RT-RIC App µServices as Helm Charts.
+Onboard, start, stop, and modify Non-RT-RIC App ÂµServices as Helm Charts.
 *A building block for coming releases as the R-APP concept matures*.
 
-- Interfaces that accepts Non-RT-RIC App µServices Helm Charts.
+- Interfaces that accepts Non-RT-RIC App ÂµServices Helm Charts.
 - Support basic LCM operations.
 - Onboard, Start, Stop, Modify, Monitor.
 - Initial version co-developed with v. similar functions in ONAP.
@@ -222,8 +225,8 @@ Implementation:
 - Repo: *nonrtric/plt/helmmanager*
 - Documentation at the :doc:`Helm Manager documentation site <helmmanager:index>`.
 
-Service Management and Exposure
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Service Management and Exposure (CAPIF)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 An initial implementation of the CAPIF Core service. It implements the following CAPIF APIs:
 
@@ -240,8 +243,8 @@ Implementation:
 - Repo: *nonrtric/plt/sme*
 - Documentation at the :doc:`Service Management & Exposure (SME) documentation site <sme:index>`.
 
-Authentication Support
-~~~~~~~~~~~~~~~~~~~~~~
+Authentication Support (Keycloak)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The auth-token-fetch provides support for authentication.
 It is intended to be used as a sidecar and does the authentication procedure, gets and saves the access token
@@ -268,8 +271,40 @@ The auth-token-fetch is configured by the following environment variables.
 * AUTH_SERVICE_URL - the URL to the authentication service (Keycloak)
 * REFRESH_MARGIN_SECONDS - how long in advance before the authorization token expires it is refreshed
 
-Test Framework
-~~~~~~~~~~~~~~
+RApp Manager Service
+~~~~~~~~~~~~~~~~~~~~
+
+Early version of a service to manage rApps and rApp instances. 
+
+- Manages the entire lifecycle and state of rApp and thie instances
+- Integrated with NONRTRIC Data Management & Exposure functions (ICS)
+- Integrates with NONRTRIC Service registration and discovery functions (SME CAPIF)
+- Also add new ONAP ACM participants to handle rApp composition elements
+
+Implementation:
+
+- Implemented as a Java Spring Boot application.
+- Repo: *nonrtric/plt/rappmanager*
+- Documentation at the :doc:`Non-RT RIC rApp Manager documentation site <rappmanager:index>`.
+
+RAN Performance Monitoring Functions (File-based PM)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Functions to collect/parse/filter/store/forward file-based & event-based RAN PM data:
+
+- End-to-end tool-chain to collection, parsing, filtering and delivery of file-based RAN PM observability data
+- PM report data format defined by 3GPP (TS 32.432 and 3GPP TS 32.435)
+- High performance, fully scalable
+- Subscribers (e.g. rApps) can subscribe for chosen measurement types from specific resources in the network
+
+Implementation:
+
+- Implemented in Go, Java and Python
+- Repo: *nonrtric/plt/ranpm*
+- Documentation at the :doc:`Non-RT RIC RAN PM Usecase / Functions documentation site <ranpm:index>`.
+
+Non-RT-RIC Test Framework
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
 A full test environment with extensive test cases/scripts can be found in the ``test`` directory in the *nonrtric* source code.