From: JohnKeeney Date: Thu, 18 Dec 2025 11:47:55 +0000 (+0000) Subject: Update RTD documentation after M-Release again X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F28%2F15428%2F2;p=nonrtric.git Update RTD documentation after M-Release again Iaue-ID: NONRTRIC-1095 Change-Id: Iad911b9bda62812bd9fc821be46b112a41dc1bf1 Signed-off-by: JohnKeeney --- diff --git a/docs/api-docs.rst b/docs/api-docs.rst index 47d67207..d0c8c2dc 100644 --- a/docs/api-docs.rst +++ b/docs/api-docs.rst @@ -12,9 +12,15 @@ API-Docs Descriptions of the APIs to the Non-RT RIC functions can be found in the repos for the functions. -* DMaaP Mediator Producer :doc:`API Docs `. * Helm Manager :doc:`API Docs `. * A1 Policy Management Service :doc:`API Docs `. * Information Coordinator Service :doc:`API Docs `. * rApp Catalogue :doc:`API Docs `. -* rApp Manager Service :doc:`API Docs `. \ No newline at end of file +* Service Manager (SME) :doc:`API Docs `. +* RAN PM toolchain :doc:`API Docs `. +* Topology Exposure & Inventory (SMO-TEIV) :doc:`API Docs `. +* rApp Manager Service :doc:`API Docs `. +* Control Panel :doc:`API Docs `. +* Near-RT-RIC / A1 Simulator :doc:`API Docs `. +* DMaaP Mediator Producer (Go) :doc:`API Docs `. +* DMaaP Adapter Producer (Java) :doc:`API Docs `. diff --git a/docs/conf.py b/docs/conf.py index b03aa975..e606236b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -41,6 +41,7 @@ rst_epilog = """ .. _nonrtricwikidevguide: https://lf-o-ran-sc.atlassian.net/wiki/spaces/RICNR/pages/679903234/Release+M .. _nonrtricwikik8s: https://lf-o-ran-sc.atlassian.net/wiki/spaces/RICNR/pages/679903652/Release+M+-+Run+in+Kubernetes .. _nonrtricwikidocker: https://lf-o-ran-sc.atlassian.net/wiki/spaces/RICNR/pages/679903494/Release+M+-+Run+in+Docker +.. _itdepsmowiki: https://lf-o-ran-sc.atlassian.net/wiki/spaces/IAT/pages/383713307/SMO+Lite+-+An+Integrated+Open-Source+SMO+Deployment """ ## diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst index 9e831776..81637436 100644 --- a/docs/developer-guide.rst +++ b/docs/developer-guide.rst @@ -1,7 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. SPDX-License-Identifier: CC-BY-4.0 .. Copyright (C) 2021-2023 Nordix Foundation. All rights Reserved -.. Copyright (C) 2023 OpenInfra Foundation Europe. All Rights Reserved +.. Copyright (C) 2023-2025 OpenInfra Foundation Europe. All Rights Reserved Developer Guide =============== @@ -13,11 +13,7 @@ Additional developer guides are available on the `O-RAN SC NONRTRIC Developer wi Kubernetes deployment --------------------- -Non-RT RIC can be also deployed in a Kubernetes cluster, `it/dep repository `_. -hosts deployment and integration artifacts. Instructions and helm charts to deploy the Non-RT-RIC functions in the -OSC NONRTRIC integrated test environment can be found in the *./nonrtric* directory. - -For more information on installation of NonRT-RIC in Kubernetes, see `Deploy NONRTRIC in Kubernetes `_. - -For more information see `Integration and Testing documentation in the O-RAN-SC `_. +The Non-RT RIC rApp Manager can be also deployed as part of an `Integrated SMO Deployment `_ in a Kubernetes cluster, and instructions can be found in the `OSC it/dep repository `_, +particularly in the *./smo-install* directory. +For more information on installation of Non-RT RIC and SMO components in Kubernetes, see `Deploy NONRTRIC in Kubernetes `_. diff --git a/docs/images/nonrtric-architecture-M.png b/docs/images/nonrtric-architecture-M.png new file mode 100644 index 00000000..a77371b3 Binary files /dev/null and b/docs/images/nonrtric-architecture-M.png differ diff --git a/docs/installation-guide.rst b/docs/installation-guide.rst index 1b07eb98..cd03b116 100644 --- a/docs/installation-guide.rst +++ b/docs/installation-guide.rst @@ -20,14 +20,8 @@ Install with Helm in Kubernetes The easiest and preferred way to install NONRTRIC functions is using Kubernetes, with installation instructions provided in Helm Charts. Full details of how to install NONRTRIC functions are provided in `Deploy NONRTRIC in Kubernetes `_. -Helm charts and an example recipe are provided in the `it/dep repo `_, -under "nonrtric". By modifying the variables named "installXXX" in the beginning of the example recipe file, which -components that will be installed can be controlled. Then the components can be installed and started by running the -following command: - - .. code-block:: bash - - bin/deploy-nonrtric -f nonrtric/RECIPE_EXAMPLE/example_recipe.yaml +Helm charts and several example recipes are provided in the `it/dep repo `_, +in the 'smo-install' directory to selectively deploy NONRTRIC and SMO functions as part of an `Integrated SMO Deployment `_ . Install with Docker +++++++++++++++++++ @@ -49,3 +43,5 @@ command to start the components: 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 `_" folder, and on the `wiki page `_ + +However, the 'Helm in Kubernetes' approach above is the preferred method to install SMO & NONRTRIC functions. \ No newline at end of file diff --git a/docs/overview.rst b/docs/overview.rst index 9e31a073..e9e742df 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -3,23 +3,22 @@ .. Copyright (C) 2021-2023 Nordix Foundation. All rights Reserved .. Copyright (C) 2023-2025 OpenInfra Foundation Europe. All Rights Reserved -.. |archpic| image:: ./images/nonrtric-architecture-I.png +.. |archpic| image:: ./images/nonrtric-architecture-M.png :alt: Image: O-RAN SC - NONRTRIC Overall Architecture 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 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. It forms part of the integrated Service Management & Orchestration (SMO) layer in the O-RAN Architecture. -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. +The primary goal of the Non-RealTime RIC is to support non-real-time radio-network (RAN) resource management, higher layer 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 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 `_ architecture. +The O-RAN-SC (OSC) NONRTRIC project provides concepts, architecture and early reference implementations as defined and described by the `O-RAN Alliance `_ 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. +The OSC NONRTRIC hosts rApps, and coordinates all interactions between the rApp and underlying SMO by way of the R1 Interface. |archpic| @@ -28,28 +27,28 @@ Find detailed description of the NONRTRIC project see the `O-RAN SC NONRTRIC Pro 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 `). -* `Information Coordinator Service <#information-coordination-service>`_. (:doc:`Documentation site `). -* `A1 Policy Management Service <#a1-policy-management-service-from-onap-ccsdk>`_. (:doc:`Documentation site `). -* `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 `). -* `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 `). -* `DMaaP/Kafka Information Producer Adapters <#dmaap-information-producer-adapters-kafka>`_. (:doc:`Documentation site adapter `), (:doc:`Documentation site mediator `). -* `Initial Non-RT-RIC App Catalogue <#initial-app-catalogue>`_. (:doc:`Documentation site `). -* `Initial K8S Helm Chart LCM Manager <#initial-kubernetes-helm-chart-lcm-manager>`_. (:doc:`Documentation site `). -* `Service Management & Exposure (SME) (CAPIF) <#service-management-and-exposure-capif>`_. (:doc:`Documentation site `). + +* `Integrated SMO Deployment `_. +* `Non-RT-RIC Control Panel <#non-rt-ric-control-panel-nonrtric-dashboard>`_. (:doc:`Docs `). +* `Information Coordinator Service <#information-coordination-service>`_. (:doc:`Docs `). +* `A1 Policy Management Service <#a1-policy-management-service-from-onap-ccsdk>`_. (:doc:`Docs `). +* `A1 Policy Controller / Adapter <#a1-sdnc-controller-a1-adapter-controller-plugin>`_. *(Inactive in OSC / Active in ONAP)* +* `Near-RT RIC A1 Simulator <#a1-interface-near-rt-ric-simulator>`_. (:doc:`Docs `). +* `Non-RT-RIC (Spring Cloud) Service Gateway <#spring-cloud-service-gateway>`_. *(inactive)* +* `Non-RT-RIC Service Exposure Security Architecture Prototyping <#service-exposure-security-architecture-prototyping>`_. (:doc:`Docs `). *(inactive)* +* `DMaaP/Kafka Information Producer Adapters <#dmaap-information-producer-adapters-kafka>`_. (:doc:`Docs: Adapter `), (:doc:`Docs: Mediator `). *(inactive)* +* `Initial Non-RT-RIC App Catalogue <#initial-app-catalogue>`_. (:doc:`Docs `). *(inactive / deprecated)* +* `Initial K8S Helm Chart LCM Manager <#initial-kubernetes-helm-chart-lcm-manager>`_. (:doc:`Docs `). *(inactive / deprecated)* +* `Service Management & Exposure (SME) (CAPIF) <#service-management-and-exposure-capif>`_. (:doc:`Docs `). * `Authentication Support <#authentication-support-keycloak>`_. -* `RApp Manager Service <#rapp-manager-service>`__. (:doc:`Documentation site `). -* `RAN Performance Monitoring Functions (File-based PM) <#ran-performance-monitoring-functions-file-based-pm>`__ (:doc:`Documentation site `). +* `RApp Manager Service <#rapp-manager-service>`_. (:doc:`Docs `). +* `RAN Performance Monitoring Functions (File-based PM) <#ran-performance-monitoring-functions-file-based-pm>`_. (:doc:`Docs `). * :doc:`Topology Exposure & Inventory (TEIV) `. * `Test Framework <#non-rt-ric-test-framework>`_. -* `Use Cases: <#non-rt-ric-use-cases>`_ +* `Older Use Cases: <#non-rt-ric-use-cases>`_ - * "Helloworld" O-RU Fronthaul Recovery use case. (:doc:`Documentation site `). - * "Helloworld" O-DU Slice Assurance use case. (:doc:`Documentation site `). + * "Helloworld" O-RU Fronthaul Recovery use case. (:doc:`Docs `). + * "Helloworld" O-DU Slice Assurance use case. (:doc:`Docs `). Non-RT-RIC Control Panel / NONRTRIC Dashboard @@ -112,7 +111,7 @@ Maintains (persistent) cache of RAN's A1 Policy information. - Converged ONAP & O-RAN-SC A1 Adapter/Controller functions in ONAP SDNC/CCSDK (Optionally deploy without A1 Adapter 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. -Implementation: +Implementation: *(inactive in OSC, active in ONAP)* - Implemented as a Java Spring Boot application. - Wiki: `A1 Policy Management Service in ONAP `_ . @@ -131,7 +130,7 @@ Mediation point for A1 interface termination in SMO/NONRTRIC. - SLI Mapping logic supported. - Can be included in an any controller based on ONAP CCSDK. -Implementation: +Implementation: *(inactive in OSC, active in ONAP)* - Repo: *nonrtric/plt/sdnca1controller* - Wiki: `A1 Adapter/Controller Functions in ONAP `_ . @@ -160,7 +159,7 @@ Support Apps to use A1 Services. - Exposes A1 Policy Management Service & Information Coordinator Service. - Additional predicates can be added in code or preferably in the Gateway yaml configuration. -Implementation: +Implementation: *(inactive)* - Implemented as a Java Spring Cloud application. - Repo: *portal/nonrtric-controlpanel*. @@ -175,6 +174,7 @@ 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). - The architecture and components are defined in :doc:`Non-RT RIC Security Architecture Prototyping (Documentation site) `. - Works with the CAPIF `Service Management & Exposure (SME) <#service-management-and-exposure>`_. :doc:`Documentation site ` functions. +- *(inactive)* DMaaP Information Producer Adapters (Kafka) @@ -188,10 +188,10 @@ Information jobs defined using ICS then allow information consumers to retrieve There are two alternative implementations to allow Information Consumers to consume DMaaP or Kafka events as coordinated Information Jobs. -Implementation: +Implementation: -- Implementation in Java Spring (DMaaP Adapter), repo: *nonrtric/plt/dmaapadapter*, see :doc:`DMaaP Adapter documentation site `. -- Implementation in Go (DMaaP Mediator Producer), repo: *nonrtric/plt/dmaapmediatorproducer*, see :doc:`DMaaP Mediator Producer documentation site `. +- Implementation in Java Spring (DMaaP Adapter), repo: *nonrtric/plt/dmaapadapter*, see :doc:`DMaaP Adapter documentation site `. *(inactive)* +- Implementation in Go (DMaaP Mediator Producer), repo: *nonrtric/plt/dmaapmediatorproducer*, see :doc:`DMaaP Mediator Producer documentation site `. *(inactive & deprecated)* Initial App Catalogue ~~~~~~~~~~~~~~~~~~~~~ @@ -202,7 +202,7 @@ Register for Non-RT-RIC Apps. - Limited functionality/integration for now. - *More work required in coming releases as the rApp concept matures*. -Implementation: +Implementation: *(inactive & deprecated)* - Implemented as a Java Spring Boot application and in Python. - Repo: *nonrtric/plt/rappcatalogue* @@ -220,7 +220,7 @@ 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*. -Implementation: +Implementation: *(inactive & deprecated)* - Implemented as a Java Spring Boot application. - Repo: *nonrtric/plt/helmmanager* @@ -308,16 +308,19 @@ 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. +*(inactive & deprecated)* Non-RT-RIC Use Cases ~~~~~~~~~~~~~~~~~~~~ +Some early use-cases to demonstrate the NONRTRIC & SMO functions. This work is now deprecated in favour of the sample rApps that form part of the RApp Manager work above. + "Helloworld" O-RU Fronthaul Recovery use case ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 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'. -Implementation: +Implementation: *(inactive & deprecated)* - One version implemented in Python, one in Go as an Information Coordination Service Consumer, and one as an apex policy. - Repo: *nonrtric/rapp/orufhrecovery* @@ -328,7 +331,7 @@ Implementation: 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'. -Implementation: +Implementation: *(inactive & deprecated)* - One version implemented in Go as a micro service, one in Go as an Information Coordination Service Consumer. - Repo: *nonrtric/rapp/ransliceassurance* diff --git a/docs/requirements.rst b/docs/requirements.rst index af9bdb6a..6e68626a 100644 --- a/docs/requirements.rst +++ b/docs/requirements.rst @@ -1,6 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. SPDX-License-Identifier: CC-BY-4.0 -.. Copyright (C) 2021-2025 Nordix +.. Copyright (C) 2021-2023 Nordix Foundation. All rights Reserved +.. Copyright (C) 2023-2025 OpenInfra Foundation Europe. All Rights Reserved Requirements for the Non-RT RIC project ======================================= @@ -28,7 +29,7 @@ The NONRTRIC project (and the O-RAN Non-RealTime RIC function) can be considered * 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 +* *This work is now progressed in the* `OSC AIMLFW project `_. **Scope 4: Enrichment Data Coordinator** @@ -37,12 +38,12 @@ The NONRTRIC project (and the O-RAN Non-RealTime RIC function) can be considered **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 +* rApps may act as, or form part of, NONRTRIC- or SMO-level applications +* rApps, via rApp host function, may produce or consume data or services to/from other rApps or SMO services **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) +* rApps may only consume or produce data or services over the R1 interface (to/from NONRTRIC platform, or to/from SMO platform, or to/from other rApps) +* Exposure & consumption of data or services over R1 must be carefully coordinated by NONRTRIC Platform functions +* Services or data produced or consumed may be "standardized" R1 services or R1 extensions (while other may be proprietary) diff --git a/docs/use-cases.rst b/docs/use-cases.rst index 754e6e77..5878e70e 100644 --- a/docs/use-cases.rst +++ b/docs/use-cases.rst @@ -1,14 +1,18 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2021-2025 Nordix +.. Copyright (C) 2021-2023 Nordix Foundation. All rights Reserved +.. Copyright (C) 2023-2025 OpenInfra Foundation Europe. All Rights Reserved Use Cases ######### -To support the use cases defined for the Non-RT RIC, there are implementations provided in the Non RT-RIC project. +**Deprecated** -Health Check ------------- +Some early use-cases to demonstrate NONRTRIC & SMO functions. +This work is now deprecated in favour of the sample rApps that form part of the new :doc:`Non-RT RIC rApp Manager `. + +Health Check (Deprecated) +------------------------- The Health Check use case for the Non-RT RIC is a python script that regularly creates, reads, updates, and deletes a policy in all Near-RT RICs that support the type used by the script. A self refreshing web page provides a view of @@ -18,8 +22,8 @@ For more information about it, see the README file in `repo