Furhter improvements on documentation 71/6171/5
authorelinuxhenrik <henrik.b.andersson@est.tech>
Mon, 31 May 2021 11:19:09 +0000 (13:19 +0200)
committerelinuxhenrik <henrik.b.andersson@est.tech>
Tue, 1 Jun 2021 05:44:45 +0000 (07:44 +0200)
Isue-ID: NONRTRIC-531
Signed-off-by: elinuxhenrik <henrik.b.andersson@est.tech>
Change-Id: I9caa6fe8c885677e18ca4a6092b47d11d744ac32

12 files changed:
README.md
docker-compose/LICENSE.txt [new file with mode: 0644]
docker-compose/README.md [new file with mode: 0644]
docker-compose/control-panel/config/nginx.conf [new file with mode: 0644]
docker-compose/control-panel/docker-compose.yaml [new file with mode: 0644]
docker-compose/docker-compose.yaml [new file with mode: 0644]
docker-compose/nonrtric-gateway/config/application-nonrtricgateway.yaml [new file with mode: 0644]
docker-compose/nonrtric-gateway/docker-compose.yaml [new file with mode: 0644]
docs/api-docs.rst [new file with mode: 0644]
docs/index.rst
docs/installation-guide.rst
docs/overview.rst

index 1e1304c..bd56ce4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 # O-RAN-SC Non-RT RIC Control Panel Web Application
 
 The O-RAN Non-RT RIC Control Panel provides administrative and operator functions for a Near-RT RIC through the A1 API.
-This web app consists of an Angular (version 8) front end
-and a Java (version 11) Spring-Boot (version 2.1) back end.
+This web app consists of an Angular (version 9) front end
+and a Java (version 11) Spring Cloud Gateway (version 2020.0.0).
 
 Please see the documentation in the docs/ folder.
 
diff --git a/docker-compose/LICENSE.txt b/docker-compose/LICENSE.txt
new file mode 100644 (file)
index 0000000..2496663
--- /dev/null
@@ -0,0 +1,14 @@
+LICENSE.txt
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the "Software License");
+you may not use this software except in compliance with the Software
+License. You may obtain a copy of the Software License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the Software License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the Software License for the specific language governing permissions
+and limitations under the Software License.
diff --git a/docker-compose/README.md b/docker-compose/README.md
new file mode 100644 (file)
index 0000000..6a66c0e
--- /dev/null
@@ -0,0 +1,24 @@
+## License
+Copyright (C) 2020 Nordix Foundation.
+Licensed under the Apache License, Version 2.0 (the "License")
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+For more information about license please see the [LICENSE](LICENSE.txt) file for details.
+
+## O-RAN-SC docker-compose files:
+The docker compose file helps the user to deploy the components of nonrtric control panel with one command.
+
+To install the Control Panel and gateway, run the following command:
+docker-compose -f docker-compose.yaml -f control-panel/docker-compose.yaml -f nonrtric-gateway/docker-compose.yaml up -d
+
+To remove the containers, use the command:
+docker-compose -f docker-compose.yaml -f control-panel/docker-compose.yaml -f nonrtric-gateway/docker-compose.yaml down
diff --git a/docker-compose/control-panel/config/nginx.conf b/docker-compose/control-panel/config/nginx.conf
new file mode 100644 (file)
index 0000000..2414bde
--- /dev/null
@@ -0,0 +1,23 @@
+events{}
+
+http {
+    include /etc/nginx/mime.types;
+    resolver 127.0.0.11;
+    server {
+        listen 8080;
+        server_name localhost;
+        root /usr/share/nginx/html;
+        index index.html;
+        location /a1-policy/ {
+            set $upstream nonrtric-gateway;
+            proxy_pass http://$upstream:9090;
+        }
+        location /ei-producer/{
+            set $upstream nonrtric-gateway;
+            proxy_pass http://$upstream:9090;
+        }
+        location / {
+            try_files $uri $uri/ /index.html;
+        }
+    }
+}
\ No newline at end of file
diff --git a/docker-compose/control-panel/docker-compose.yaml b/docker-compose/control-panel/docker-compose.yaml
new file mode 100644 (file)
index 0000000..bc56c3d
--- /dev/null
@@ -0,0 +1,33 @@
+#  Copyright (C) 2020 Nordix Foundation. All rights reserved.
+#  ========================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END=================================================
+#
+version: '3.5'
+
+networks:
+  default:
+    driver: bridge
+    name: nonrtric-docker-net
+
+services:
+  policy-control-panel:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel:2.2.0
+    container_name: policy-control-panel
+    networks:
+      - default
+    ports:
+      - 8080:8080
+      - 8082:8082
+    volumes:
+      - ./control-panel/config/nginx.conf:/etc/nginx/nginx.conf:ro
diff --git a/docker-compose/docker-compose.yaml b/docker-compose/docker-compose.yaml
new file mode 100644 (file)
index 0000000..64bcbb9
--- /dev/null
@@ -0,0 +1,21 @@
+#  Copyright (C) 2021 Nordix Foundation. All rights reserved.
+#  ========================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END=================================================
+#
+version: '3.5'
+
+networks:
+  default:
+    driver: bridge
+    name: nonrtric-docker-net
\ No newline at end of file
diff --git a/docker-compose/nonrtric-gateway/config/application-nonrtricgateway.yaml b/docker-compose/nonrtric-gateway/config/application-nonrtricgateway.yaml
new file mode 100644 (file)
index 0000000..656ebaf
--- /dev/null
@@ -0,0 +1,52 @@
+################################################################################
+#   Copyright (c) 2021 Nordix Foundation.                                      #
+#                                                                              #
+#   Licensed under the Apache License, Version 2.0 (the "License");            #
+#   you may not use this file except in compliance with the License.           #
+#   You may obtain a copy of the License at                                    #
+#                                                                              #
+#       http://www.apache.org/licenses/LICENSE-2.0                             #
+#                                                                              #
+#   Unless required by applicable law or agreed to in writing, software        #
+#   distributed under the License is distributed on an "AS IS" BASIS,          #
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
+#   See the License for the specific language governing permissions and        #
+#   limitations under the License.                                             #
+################################################################################
+
+server:
+  port: 9090
+spring:
+  cloud:
+    gateway:
+      httpclient:
+        ssl:
+          useInsecureTrustManager: true
+        wiretap: true
+      httpserver:
+        wiretap: true
+      routes:
+      - id: A1-Policy
+        uri: https://localhost:8433
+        predicates:
+        - Path=/a1-policy/**
+      - id: A1-EI
+        uri: https://localhost:8434
+        predicates:
+        - Path=/data-producer/**
+management:
+  endpoint:
+    gateway:
+      enabled: true
+  endpoints:
+    web:
+      exposure:
+        include: "gateway,loggers,logfile,health,info,metrics,threaddump,heapdump"
+logging:
+  level:
+    ROOT: ERROR
+    org.springframework: ERROR
+    org.springframework.cloud.gateway: INFO
+    reactor.netty: INFO
+  file:
+    name: /var/log/nonrtric-gateway/application.log
\ No newline at end of file
diff --git a/docker-compose/nonrtric-gateway/docker-compose.yaml b/docker-compose/nonrtric-gateway/docker-compose.yaml
new file mode 100644 (file)
index 0000000..6a7707f
--- /dev/null
@@ -0,0 +1,34 @@
+#  Copyright (C) 2021 Nordix Foundation. All rights reserved.
+#  ========================================================================
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#  ============LICENSE_END=================================================
+#
+version: '3.5'
+
+networks:
+  default:
+    driver: bridge
+    name: nonrtric-docker-net
+
+services:
+  nonrtric-gateway:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-gateway:0.0.1
+    container_name: nonrtric-gateway
+    networks:
+      default:
+        aliases:
+          - nonrtric-gateway-container
+    ports:
+      - 9090:9090
+    volumes:
+      - ./nonrtric-gateway/config/application-nonrtricgateway.yaml:/opt/app/nonrtric-gateway/config/application.yaml:ro
diff --git a/docs/api-docs.rst b/docs/api-docs.rst
new file mode 100644 (file)
index 0000000..a3b447b
--- /dev/null
@@ -0,0 +1,40 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright (C) 2021 Nordix
+
+.. _api_docs:
+
+========
+API-Docs
+========
+
+This document describes the API to access the Non-RT RIC Gateway.
+
+The Gateway acts as a mediator for services provided by the Non-RT RIC project. This means that users only need to
+know about one address to access the content of the Non-RT Ric.
+
+The default value for the Gateway port is 9090. There are different ways to find out which port that is actually used.
+
+If Kubernetes is used, run the following command:
+
+ .. code-block:: bash
+
+    kubectl get svc -n nonrtric | grep gateway
+
+With the name from the "NAME" column, run the following command:
+
+ .. code-block:: bash
+
+    kubectl describe svc -n nonrtric [name]
+
+If Docker is used, run the following command:
+
+ .. code-block:: bash
+
+    docker ps | grep gateway
+
+Look under the "PORTS" column to see the port used by the Gateway.
+
+The Gateway supports calls to the A1 Policy Management Service and A1 Enrichment Information Coordinator.
+See `A1 Policy Management Service API <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric/en/latest/api-docs.html#a1-policy-management-service>`__
+and `A1 Enrichment Information Coordinator API <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric/en/latest/api-docs.html#enrichment-coordinator-service>`__.
\ No newline at end of file
index bd1c093..cd106f7 100644 (file)
@@ -11,6 +11,7 @@ Non-RT RIC Control Panel
 
    ./overview.rst
    ./developer-guide.rst
+   ./api-docs.rst
    ./installation-guide.rst
    ./release-notes.rst
 
index 056ae89..3448233 100644 (file)
@@ -10,69 +10,39 @@ Abstract
 
 This document describes how to install the Non-RT RIC Control Panel, its dependencies and required system resources.
 
-This work is in progress. For now, it is possible to use the Non-RT RIC Control Panel.
 
-Version history
----------------
+The Non-RT RIC Control Panel is a graphical user interface that enables the user to view and manage the A1 policies in
+the RAN and also view producers and jobs for the Enrichement Information coordinator service. 
 
-+--------------------+--------------------+--------------------+--------------------+
-| **Date**           | **Ver.**           | **Author**         | **Comment**        |
-|                    |                    |                    |                    |
-+--------------------+--------------------+--------------------+--------------------+
-| 2020-03-27         | 0.1.0              | Henrik Andersson   | First draft        |
-|                    |                    |                    |                    |
-+--------------------+--------------------+--------------------+--------------------+
-| 2021-04-27         | 2.2.0              | Yennifer Chacon    | Update             |
-|                    |                    |                    | documentation      |
-+--------------------+--------------------+--------------------+--------------------+
-|                    |                    |                    |                    |
-|                    |                    |                    |                    |
-|                    |                    |                    |                    |
-+--------------------+--------------------+--------------------+--------------------+
+Preface
+-------
 
+Since the control Panel depends on the A1 Policy Management Service and A1 Enrichment Information Coordinator, they
+must be installed to make it work. See `Non-RT RIC <https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric/en/latest/index.html>`__
+for how to install and set them up.
 
-
-The Non-RT RIC Control Panel is a graphical user interface that enables the user to view and manage the A1 policies in the RAN and also view producers and jobs for the Enrichement Information coordinator service.
-
-- To create docker image for the control panel:
-
-   .. code-block:: bash
-
-      cd nonrtric-controlpanel/webapp-frontend
-      docker build -t o-ran-sc/nonrtric-controlpanel .
-
-- Nonrtric gateway is also needed because all the request from the gui are passed through this API gateway.
-
-   .. code-block:: bash
-
-      cd nonrtric-controlpanel/nonrtric-gateway
-      docker build -t o-ran-sc/nonrtric-gateway .
+Software Installation and Deployment
+------------------------------------
 
 .. note::
-   It is important to note that all the route configurations are provided in application.yaml,
-   so in case domain name and port for Policy Management Service & Enrichment Information Coordinator 
-   Service are not the default ones, application.yaml file must be modified.
+   It is important to note that all the route configurations are provided in the application.yaml file of the gateway.
+   So in case domain name and port for Policy Management Service and Enrichment Information Coordinator Service
+   are not the default ones, the application.yaml file must be modified.
 
-Docker images for Policy Management and Enrichment Information Coordinator are needed as well in order to view information and data on the interface. These images can be found in the nexus repository or can be built manually as well.
+Install with Docker
++++++++++++++++++++
 
-   - nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-enrichment-coordinator-service
-   - nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent
-
-`Wiki page <https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=20878049>`_ contain detail information about how to build this images and add some sample data.
-
-
-- Using docker compose:
-
-   Another alternative is to use docker compose. In the `nonrtric project <https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric>`_ under the folder docker-compose, instructions can be found in the README file.
-
-   It will start all necessary services and provided sample data that can be viewed in the interface using docker compose command:
+Docker compose files are provided, in the "docker-compose" folder, to install the frontend and gateway. Run the following
+command to start the Control Panel:
 
       .. code-block:: bash
 
          docker-compose -f docker-compose.yaml
                         -f control-panel/docker-compose.yaml
                         -f nonrtric-gateway/docker-compose.yaml
-                        -f policy-service/docker-compose.yaml
-                        -f ecs/docker-compose.yaml
-                        -f a1-sim/docker-compose.yaml up
 
+Install with Helm
++++++++++++++++++
+
+Helm charts and an example recipe are provided in the `it/dep repo <https://gerrit.o-ran-sc.org/r/admin/repos/it/dep>`__,
+under "nonrtric".
index 2587325..6887469 100644 (file)
@@ -8,13 +8,12 @@ Non-RT RIC Control Panel Overview
 Graphical user interface with the following capabilities:
 
 *  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
 *  View and manage producers and jobs for the Enrichment 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
+*  Configure A1 Policy Management Service (add/remove near-rt-rics)
 
-The Control Panel consists of a frontend and a gateway. The frontend is developed using the Angular framework.
+The Control Panel frontend interacts with the A1 Policy Management Service and A1 Enrichment Information Coordinator
+(REST NBIs) via a service exposure gateway, the Nonrtric Gateway. The frontend is developed using the Angular framework.
 The Gateway is a Spring Cloud Gateway that provides an API Gateway for all the Non-RT-RIC Components.
 
 .. note::
@@ -29,4 +28,4 @@ The architecture of the Control Panel is as shown on the following picture:
 .. image:: ./images/ControlPanel_architecture.png
    :scale: 50 %
 
-The Control Panel  can be deployed following the instructions in the README.md file in the repo.
\ No newline at end of file
+The Control Panel can be deployed following the instructions in the Installation Guide.