Update documentation and release notes
[nonrtric.git] / docs / developer-guide.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3
4 Developer Guide
5 ===============
6
7 This document provides a quickstart for developers of the Non-RT RIC.
8
9 SDNC A1 Controller
10 ==================================
11
12 Prerequisites
13 -------------
14
15 1. Java development kit (JDK), version 8
16 2. Maven dependency-management tool, version 3.4 or later
17 3. Python, version 2
18 4. Docker, version 19.03.1 or later
19 5. Docker Compose, version 1.24.1 or later
20
21 Build and run
22 -------------
23 Go to the northbound directory and run this command ::
24     mvn clean install
25
26 This will build the project and create artifcats in maven repo
27
28 Go to oam/installation directory and run this command ::
29     mvn clean install -P docker
30
31 This will create the docker images required for sdnc
32
33 After this step check for the docker images created by the maven build with this command ::
34     docker images | grep sdnc
35
36 Go to oam/installation/src/main/yaml and run this command ::
37     docker-compose up -d sdnc
38
39 This will create the docker containers with the sdnc image, you can check the status of the docker container using ::
40     docker-compose logs -f sdnc
41
42 The SDNC url to access the Northbound API,
43     http://localhost:8282/apidoc/explorer/index.html
44
45 Credentials: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
46
47 Policy Agent
48 ============================
49 The O-RAN NonRT RIC PolicyAgent provides a REST API for management of policices. It provides support for:
50
51  * Supervision of clients (R-APPs) to eliminate stray policies in case of failure
52  * Consistency monitoring of the SMO view of policies and the actual situation in the RICs
53  * Consistency monitoring of RIC capabilities (policy types)
54  * Policy configuration. This includes:
55
56    * One REST API towards all RICs in the network
57    * Query functions that can find all policies in a RIC, all policies owned by a service (R-APP), all policies of a type etc.
58    * Maps O1 resources (ManagedElement) as defined in O1 to the controlling RIC.
59
60 | The PolicyAgent can be accessed over the REST API or through the DMaaP Interface. The REST API is documented in the
61 | *nonrtric/policy-agent/docs/api.yaml* file. Please refer to the README file of PolicyAgent to know more about the API's.
62
63
64 Near-RT RIC Simulator
65 =====================================
66
67
68 Prerequisites
69 -------------
70  1. Java development kit (JDK), version 8
71  2. Maven dependency-management tool, version 3.4 or later
72
73 Build and run
74 -------------
75
76 Go to the near-rt-ric-simulator/ directory and run this command::
77      mvn clean install
78 The docker image can be built using::
79     docker build -t {desiredImageName} .
80 The image can be run using the command::
81     docker run -it -p {desiredPort}:8085 {desiredImageName}
82
83 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.
84
85 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.
86
87 End-to-end call
88 ===============
89
90 In order to make a complete end-to-end call, follow the instructions given in this `guide`_.
91
92 .. _guide: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157166