Merge "Remove dashboard"
[nonrtric.git] / docs / developer-guide.rst
index 36ac802..b3651f4 100644 (file)
@@ -1,30 +1,13 @@
-.. ============LICENSE_START=======================================================
-.. Copyright (C) 2019 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.
-..
-.. SPDX-License-Identifier: Apache-2.0
-.. ============LICENSE_END=========================================================
-
-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
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Developer Guide
+===============
+
+This document provides a quickstart for developers of the Non-RT RIC.
+
+SDNC A1 Controller
+==================================
 
 Prerequisites
 -------------
@@ -35,6 +18,8 @@ Prerequisites
 4. Docker, version 19.03.1 or later
 5. Docker Compose, version 1.24.1 or later
 
+Build and run
+-------------
 Go to the northbound directory and run this command ::
     mvn clean install
 
@@ -59,33 +44,51 @@ The SDNC url to access the Northbound API,
 
 Credentials: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
 
-*************************************
-Near-RT RIC Simulator Developer Guide
-*************************************
+Policy Agent
+============================
+The O-RAN NonRT RIC PolicyAgent provides a REST API for management of policices. It provides support for:
+
+ * Supervision of clients (R-APPs) to eliminate stray policies in case of failure
+ * Consistency monitoring of the SMO view of policies and the actual situation in the RICs
+ * Consistency monitoring of RIC capabilities (policy types)
+ * Policy configuration. This includes:
+
+   * One REST API towards all RICs in the network
+   * Query functions that can find all policies in a RIC, all policies owned by a service (R-APP), all policies of a type etc.
+   * Maps O1 resources (ManagedElement) as defined in O1 to the controlling RIC.
+
+| The PolicyAgent can be accessed over the REST API or through the DMaaP Interface. The REST API is documented in the
+| *nonrtric/policy-agent/docs/api.yaml* file. Please refer to the README file of PolicyAgent to know more about the API's.
+
+
+Near-RT RIC Simulator
+=====================================
+
 
 Prerequisites
 -------------
+ 1. Java development kit (JDK), version 8
+ 2. Maven dependency-management tool, version 3.4 or later
 
-1. Java development kit (JDK), version 8
-2. Maven dependency-management tool, version 3.4 or later
+Build and run
+-------------
 
-Go to the nearric-simulator/ directory and run this command ::
+Go to the near-rt-ric-simulator/ric-plt-a1/ directory and run this command::
      mvn clean install
+The docker image can be built using::
+    docker build -t {desiredImageName} .
+The image can be run using the command::
+    docker run -it -p {desiredPort}:8085 {desiredImageName}
 
-If you want to genereate the sources from A1 yaml file, Go to nearric-simulator/a1-med-api/ and run this command ::
-     mvn generate-sources
-
-This will generate the A1PApi.java you need to call the generate-sources maven life cycle to generate the file
+The functions written in *a1.py* are the ones matching the requests listed in the A1 open api yaml file. The functions written in *main.py* are the ones used for development purpose.
 
-The backend server listens for requests at this URL:
-   http://localhost:8080
+Different error codes can be thrown back according to the yaml file. In order to simulate an error code, simply add the query ?code={desiredCodeNumber} at the end of the address in the curl request.
 
-The backend server publishes live API documentation at the URL
-   http://localhost:8080/swagger-ui.html
+For running the simulator outside of a docker container, run ./run_me.sh. It is possible to use the port of your choice, by adding it in the command: ./run_me.sh {desiredPort}.
+After that, it is the exact same use with or without a container.
 
-***************
 End-to-end call
-***************
+===============
 
 In order to make a complete end-to-end call, follow the instructions given in this `guide`_.