Documentation Non-RT RIC 97/1497/3
authormaximesson <maxime.bonneau@est.tech>
Thu, 31 Oct 2019 12:26:13 +0000 (13:26 +0100)
committermaximesson <maxime.bonneau@est.tech>
Tue, 12 Nov 2019 14:01:11 +0000 (15:01 +0100)
Change-Id: Ic873bca6ac86556f3e0f057358c88bc24a693151
Issue-ID: NONRTRIC-47
Signed-off-by: maximesson <maxime.bonneau@est.tech>
17 files changed:
.gitignore
.readthedocs.yaml [new file with mode: 0644]
docs/.project [new file with mode: 0644]
docs/_static/logo.png [new file with mode: 0644]
docs/api-docs.rst [new file with mode: 0644]
docs/conf.py [new file with mode: 0644]
docs/conf.yaml [new file with mode: 0644]
docs/developer-guide.rst
docs/favicon.ico [new file with mode: 0644]
docs/images/architecture.png [new file with mode: 0644]
docs/images/non-RT_RIC_dashboard.png [new file with mode: 0644]
docs/index.rst [new file with mode: 0644]
docs/installation-guide.rst [new file with mode: 0644]
docs/overview.rst [new file with mode: 0644]
docs/release-notes.rst [new file with mode: 0644]
docs/requirements-docs.txt [new file with mode: 0644]
tox.ini [new file with mode: 0644]

index 9f11b75..c1089da 100644 (file)
@@ -1 +1,4 @@
+# Documentation
 .idea/
+.tox
+docs/_build/
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644 (file)
index 0000000..b45b11d
--- /dev/null
@@ -0,0 +1,16 @@
+---
+version 2
+
+formats:
+        - htmlzip
+
+build:
+        image: latest
+
+python:
+        version: 3.7
+        install:
+                - requirements: docs/requirements-docs.txt
+
+sphinx:
+        configuration: docs/conf.py
diff --git a/docs/.project b/docs/.project
new file mode 100644 (file)
index 0000000..e248a4f
--- /dev/null
@@ -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 (file)
index 0000000..c3b6ce5
Binary files /dev/null and b/docs/_static/logo.png differ
diff --git a/docs/api-docs.rst b/docs/api-docs.rst
new file mode 100644 (file)
index 0000000..a296460
--- /dev/null
@@ -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 (file)
index 0000000..922e22f
--- /dev/null
@@ -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 (file)
index 0000000..7235ba1
--- /dev/null
@@ -0,0 +1,3 @@
+---
+project_cfg: oran
+project: nonrtric
index 94044d0..36ac802 100644 (file)
@@ -20,8 +20,9 @@ A1 Mediation:
 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 @@ This will build the project and create artifcats in maven repo
 
 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 @@ This will create the docker containers with the sdnc image, you can check the st
 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 listens for requests at this URL:
 
 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 (file)
index 0000000..00b0fd0
Binary files /dev/null and b/docs/favicon.ico differ
diff --git a/docs/images/architecture.png b/docs/images/architecture.png
new file mode 100644 (file)
index 0000000..ed11838
Binary files /dev/null and b/docs/images/architecture.png differ
diff --git a/docs/images/non-RT_RIC_dashboard.png b/docs/images/non-RT_RIC_dashboard.png
new file mode 100644 (file)
index 0000000..b69ba4d
Binary files /dev/null and b/docs/images/non-RT_RIC_dashboard.png differ
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644 (file)
index 0000000..3f421d3
--- /dev/null
@@ -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 (file)
index 0000000..f78a5ee
--- /dev/null
@@ -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 (file)
index 0000000..8c2e816
--- /dev/null
@@ -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 (file)
index 0000000..0359af4
--- /dev/null
@@ -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 (file)
index 0000000..09a0c1c
--- /dev/null
@@ -0,0 +1,5 @@
+sphinx
+sphinx-rtd-theme
+sphinxcontrib-httpdomain
+recommonmark
+lfdocs-conf
diff --git a/tox.ini b/tox.ini
new file mode 100644 (file)
index 0000000..c86cfdf
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,30 @@
+# documentation only
+[tox]
+minversion = 2.0
+envlist =
+    docs,
+    docs-linkcheck,
+skipsdist = true
+
+[testenv:docs]
+basepython = python3
+deps =
+    sphinx
+    sphinx-rtd-theme
+    sphinxcontrib-httpdomain
+    recommonmark
+    lfdocs-conf
+
+commands =
+    sphinx-build -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
+    echo "Generated docs available in {toxinidir}/docs/_build/html"
+whitelist_externals = echo
+
+[testenv:docs-linkcheck]
+basepython = python3
+deps = sphinx
+       sphinx-rtd-theme
+       sphinxcontrib-httpdomain
+       recommonmark
+       lfdocs-conf
+commands = sphinx-build -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck