Documentation Non-RT RIC
Change-Id: Ic873bca6ac86556f3e0f057358c88bc24a693151
Issue-ID: NONRTRIC-47
Signed-off-by: maximesson <maxime.bonneau@est.tech>
diff --git a/docs/.project b/docs/.project
new file mode 100644
index 0000000..e248a4f
--- /dev/null
+++ b/docs/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>docs</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ </buildSpec>
+ <natures>
+ </natures>
+</projectDescription>
diff --git a/docs/_static/logo.png b/docs/_static/logo.png
new file mode 100644
index 0000000..c3b6ce5
--- /dev/null
+++ b/docs/_static/logo.png
Binary files differ
diff --git a/docs/api-docs.rst b/docs/api-docs.rst
new file mode 100644
index 0000000..a296460
--- /dev/null
+++ b/docs/api-docs.rst
@@ -0,0 +1,51 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+
+API-Docs
+========
+
+This is the API-docs of Non-RT RIC.
+
+.. contents::
+ :depth: 3
+ :local:
+
+API Introduction
+-----------------
+
+The Non-RT RIC dashboard is an interface that allows human users to create, edit and delete policy instances, for each existing policy type. The policy types are owned by the Near-RT RIC, Non-RT RIC can just query them, so it's not possible to act on them.
+
+
+API Functions
+-------------
+
+To run the dashboard locally, you can follow these steps:
+
+- Fetch the latest code from `gerrit`_
+
+.. _gerrit: https://gerrit.nordix.org/c/oransc/nonrtric/+/2747/
+
+- Before compiling, run the following commands::
+
+ git submodule init
+
+ git submodule update
+
+- Start the backend (you might have to build it first)::
+
+ mvn clean install
+
+ mvn -Dorg.oransc.ric.portal.dashboard=mock -Dtest=DashboardTestServer -DfailIfNoTests=false test
+
+
+- Now you can open URL: `localhost:8080`_ in a browser.
+
+.. _localhost:8080: localhost:8080
+
+From the main page, click on the "Policy Control" card. From here, it is possible to create or list instances for each existing policy type.
+
+When the instances are listed, it is possible to edit or delete each instance from the expanded view.
+
+.. image:: ./images/non-RT_RIC_dashboard.png
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..922e22f
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,6 @@
+from docs_conf.conf import *
+linkcheck_ignore = [
+ 'http://localhost.*',
+ 'http://127.0.0.1.*',
+ 'https://gerrit.o-ran-sc.org.*'
+]
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644
index 0000000..7235ba1
--- /dev/null
+++ b/docs/conf.yaml
@@ -0,0 +1,3 @@
+---
+project_cfg: oran
+project: nonrtric
diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst
index 94044d0..36ac802 100644
--- a/docs/developer-guide.rst
+++ b/docs/developer-guide.rst
@@ -20,8 +20,9 @@
1. SDNC Controller
2. Near-RT RIC Simulator
+**********************************
SDNC A1 Controller Developer Guide
-==================================
+**********************************
This document provides a quickstart for developers of the O-RAN SC A1 Controller SDNC Application
@@ -41,6 +42,7 @@
Go to oam/installation directory and run this command ::
mvn clean install -P docker
+
This will create the docker images required for sdnc
After this step check for the docker images created by the maven build with this command ::
@@ -55,10 +57,11 @@
The SDNC url to access the Northbound API,
http://localhost:8282/apidoc/explorer/index.html
-Credentails: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+Credentials: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+*************************************
Near-RT RIC Simulator Developer Guide
-=====================================
+*************************************
Prerequisites
-------------
@@ -79,3 +82,11 @@
The backend server publishes live API documentation at the URL
http://localhost:8080/swagger-ui.html
+
+***************
+End-to-end call
+***************
+
+In order to make a complete end-to-end call, follow the instructions given in this `guide`_.
+
+.. _guide: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157166
\ No newline at end of file
diff --git a/docs/favicon.ico b/docs/favicon.ico
new file mode 100644
index 0000000..00b0fd0
--- /dev/null
+++ b/docs/favicon.ico
Binary files differ
diff --git a/docs/images/architecture.png b/docs/images/architecture.png
new file mode 100644
index 0000000..ed11838
--- /dev/null
+++ b/docs/images/architecture.png
Binary files differ
diff --git a/docs/images/non-RT_RIC_dashboard.png b/docs/images/non-RT_RIC_dashboard.png
new file mode 100644
index 0000000..b69ba4d
--- /dev/null
+++ b/docs/images/non-RT_RIC_dashboard.png
Binary files differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..3f421d3
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,23 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+
+
+Non-RT RIC
+==========
+
+.. Add or remove sections below as appropriate for the platform component.
+
+.. toctree::
+ :maxdepth: 2
+ :caption: Contents:
+
+ ./api-docs.rst
+ ./developer-guide.rst
+ ./installation-guide.rst
+ ./overview.rst
+ ./release-notes.rst
+
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
\ No newline at end of file
diff --git a/docs/installation-guide.rst b/docs/installation-guide.rst
new file mode 100644
index 0000000..f78a5ee
--- /dev/null
+++ b/docs/installation-guide.rst
@@ -0,0 +1,109 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+
+Installation Guide
+==================
+
+.. contents::
+ :depth: 3
+ :local:
+
+Abstract
+--------
+
+This document describes how to install the Non-RT RIC dashboard, its dependencies and required system resources.
+
+
+Version history
+
++--------------------+--------------------+--------------------+--------------------+
+| **Date** | **Ver.** | **Author** | **Comment** |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| 20XX-XX-XX | 0.1.0 | | First draft |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| | 0.1.1 | | |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| | 1.0 | | |
+| | | | |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+
+
+Introduction
+------------
+
+.. <INTRODUCTION TO THE SCOPE AND INTENTION OF THIS DOCUMENT AS WELL AS TO THE SYSTEM TO BE INSTALLED>
+
+.<EXAMPLE>:
+
+This document describes the supported software and hardware configurations for the reference component as well as providing guidelines on how to install and configure such reference system.
+
+The audience of this document is assumed to have good knowledge in RAN network and Linux system.
+
+
+Preface
+-------
+.. <DESCRIBE NEEDED PREREQUISITES, PLANNING, ETC.>
+
+<EXAMPLE>:
+
+Before starting the installation of <project name>, some planning must precede.
+
+.. note:any preperation you need before setting up sotfware and hardware
+
+
+Hardware Requirements
+---------------------
+.. <PROVIDE A LIST OF MINIMUM HARDWARE REQUIREMENTS NEEDED FOR THE INSTALL>
+
+<EXAMPLE>:
+
+Following minimum hardware requirements must be met for installation of <project name>:
+
++--------------------+----------------------------------------------------+
+| **HW Aspect** | **Requirement** |
+| | |
++--------------------+----------------------------------------------------+
+| **# of servers** | |
++--------------------+----------------------------------------------------+
+| **CPU** | |
+| | |
++--------------------+----------------------------------------------------+
+| **RAM** | |
+| | |
++--------------------+----------------------------------------------------+
+| **Disk** | |
+| | |
++--------------------+----------------------------------------------------+
+| **NICs** | |
+| | |
+| | |
+| | |
+| | |
+| | |
++--------------------+----------------------------------------------------+
+
+
+
+Software Installation and Deployment
+------------------------------------
+.. <DESCRIBE THE FULL PROCEDURES FOR THE INSTALLATION OF THE O-RAN COMPONENT INSTALLATION AND DEPLOYMENT>
+
+<EXAMPLE>:
+
+This section describes the installation of the <project name> installation on the reference hardware.
+
+
+
+References
+----------
+.. <PROVIDE NEEDED/USEFUL REFERENCES>
+
+
+
+
diff --git a/docs/overview.rst b/docs/overview.rst
new file mode 100644
index 0000000..8c2e816
--- /dev/null
+++ b/docs/overview.rst
@@ -0,0 +1,72 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+
+
+..please write your project overview
+..please delete this content after editing
+
+
+Non-RT RIC Overview
+===================
+
+Find detailed description of what Non-RT RIC is on this `page`_.
+
+.. _page: https://wiki.o-ran-sc.org/display/RICNR/
+
+A-release architecture
+----------------------
+
+The architecture is as shown on the following picture:
+
+.. image:: ./images/architecture.png
+ :scale: 50 %
+
+The A1 controller is located in SDNC, an ONAP component. It communicates with ORAN via the A1 interface with the Near-RT RIC simulator.
+
+On the other end, it is accessible via a dashboard, that allows to interact with policies. The dashboard itself is split into the backend and the frontend, and can be deployed following the instructions on the `human interfaces page`_.
+
+.. _human interfaces page: ./human-interfaces.html
+
+Requirements for the Non-RT RIC project
+---------------------------------------
+
+There are functional requirements emitted by O-RAN WG2 for the Non-RT RIC, which are the following:
+
+1. 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).
+2. 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.
+3. 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.
+4. 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.
+5. Non-RT RIC shall support performance monitoring and evaluation.
+6. 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.
+
+The non-functional requirements are the following ones:
+
+1. 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.
+2. Non-RT RIC shall be able to update policies in several near-RT RICs.
+
+Moreover, there are functional requirements regarding the A1 interface:
+
+1. A1 interface shall support communication of policies/intents from Non-RT RIC to Near-RT RIC.
+2. A1 interface shall support AI/ML model deployment and update from Non-RT RIC to Near-RT RIC.
+3. A1 interface shall support communication of enrichment information from Non-RT RIC to Near-RT RIC.
+4. A1 interface shall support feedback from Near-RT RIC for monitoring AI/ML model performance.
+5. A1 interface shall support the policy/intents feedback from Near-RT RIC to Non-RT RIC.
+
+A1 policy procedure
+-------------------
+
+As for A-release, the methods are as follows:
+
++---------------------+--------------------------+--------------------------+
+| A1 policy procedure | Single policy method | Multiple policies method |
++---------------------+--------------------------+--------------------------+
+| Create policy | PUT | |
++---------------------+--------------------------+--------------------------+
+| Query policy | GET | GET (sequence of \*) |
++---------------------+--------------------------+--------------------------+
+| Update policy | PUT | |
++---------------------+--------------------------+--------------------------+
+| Delete policy | DELETE | |
++---------------------+--------------------------+--------------------------+
+| Notify policy | POST | POST |
++---------------------+--------------------------+--------------------------+
\ No newline at end of file
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
new file mode 100644
index 0000000..0359af4
--- /dev/null
+++ b/docs/release-notes.rst
@@ -0,0 +1,169 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+
+Release-Notes
+=============
+
+
+This document provides the release notes for <RELEASE> of <COMPONENT>.
+
+.. contents::
+ :depth: 3
+ :local:
+
+
+Version history
+---------------
+
++--------------------+--------------------+--------------------+--------------------+
+| **Date** | **Ver.** | **Author** | **Comment** |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| 20XX-XX-XX | 0.1.0 | | First draft |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| | 0.1.1 | | |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| | 1.0 | | |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+
+
+Summary
+-------
+
+<SUMMARIZE THE RELEASE - THE CONTENT - AND OTHER IMPORTANT HIGH LEVEL PROPERTIES>
+
+
+
+
+Release Data
+------------
+<STATE RELEVANT RELEASE DATA/RECORDS>
+
+<EXAMPLE>:
+
++--------------------------------------+--------------------------------------+
+| **Project** | E.g. project |
+| | |
++--------------------------------------+--------------------------------------+
+| **Repo/commit-ID** | E.g. genesis/adf634a0d4..... |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release designation** | E.g. Arno RC2 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release date** | E.g. 2015-04-16 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Purpose of the delivery** | |
+| | |
++--------------------------------------+--------------------------------------+
+
+
+
+
+Feature Additions
+^^^^^^^^^^^^^^^^^
+<STATE ADDED FEATURES BY REFERENCE TO JIRA>
+
+<EXAMPLE>:
+
+**JIRA BACK-LOG:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+
+Bug Corrections
+^^^^^^^^^^^^^^^
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+
+Deliverables
+^^^^^^^^^^^^
+
+Software Deliverables
++++++++++++++++++++++
+
+<STATE WHAT SOFTWARE DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
+
+
+
+Documentation Deliverables
+++++++++++++++++++++++++++
+
+<STATE WHAT DOCUMENTATION DELIVERABLES THAT ARE RELATED TO THIS VERSION, AND WHERE THOSE CAN BE RETRIEVED>
+
+
+
+
+Known Limitations, Issues and Workarounds
+-----------------------------------------
+
+System Limitations
+^^^^^^^^^^^^^^^^^^
+<STATE ALL RELEVANT SYSTEM LIMITATIONS, IF THERE IS ANY>
+
+
+
+Known Issues
+^^^^^^^^^^^^
+<STATE ALL KNOWN ISSUES WITH JIRA REFERENCE>
+
+<EXAMPLE>:
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+
+Workarounds
+^^^^^^^^^^^
+
+<STATE ALL KNOWN WORKAROUNDS TO THE ISSUES STATED ABOVE, IF THERE IS ANY>
+
+
+
+
+References
+----------
+<STATE RELEVANT REFERENCES FOR THIS RELEASE/VERSION>
+
+
+
+
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
new file mode 100644
index 0000000..09a0c1c
--- /dev/null
+++ b/docs/requirements-docs.txt
@@ -0,0 +1,5 @@
+sphinx
+sphinx-rtd-theme
+sphinxcontrib-httpdomain
+recommonmark
+lfdocs-conf