Add docker-compose file for odu-app
[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 .. Copyright (C) 2021 Nordix
4
5 Developer Guide
6 ===============
7
8 This document provides a quickstart for developers of the Non-RT RIC parts.
9
10 Additional developer guides are available on the `O-RAN SC NONRTRIC Developer wiki <https://wiki.o-ran-sc.org/display/RICNR/Release+E>`_.
11
12 A1 Policy Management Service & SDNC/A1 Controller & A1 Adapter
13 --------------------------------------------------------------
14
15 The A1 Policy Management Service is implemented in ONAP. For documentation see `ONAP CCSDK documentation <https://docs.onap.org/projects/onap-ccsdk-oran/en/latest/index.html>`_.
16 and `wiki <https://wiki.onap.org/pages/viewpage.action?pageId=84672221>`_.
17
18 Information Coordinator Service
19 -------------------------------
20 The Information Coordinator Service is a Java 11 web application built using the Spring Framework. Using Spring Boot
21 dependencies, it runs as a standalone application.
22
23 Its main functionality is to act as a data subscription broker and to decouple data producer from data consumers.
24
25 See the ./config/README file in the *information-coordinator-service* directory Gerrit repo on how to create and setup
26 the certificates and private keys needed for HTTPS.
27
28 Start standalone
29 ++++++++++++++++
30
31 The project uses Maven. To start the Information Coordinator Service as a freestanding application, run the following
32 command in the *information-coordinator-service* directory:
33
34     +-----------------------------+
35     | mvn spring-boot:run         |
36     +-----------------------------+
37
38 There are a few files that needs to be available to run. These are referred to from the application.yaml file.
39 The following properties have to be modified:
40
41 * server.ssl.key-store=./config/keystore.jks
42 * app.webclient.trust-store=./config/truststore.jks
43 * app.vardata-directory=./target
44
45 Start in Docker
46 +++++++++++++++
47
48 To build and deploy the Information Coordinator Service, go to the "information-coordinator-service" folder and run the
49 following command:
50
51     +-----------------------------+
52     | mvn clean install           |
53     +-----------------------------+
54
55 Then start the container by running the following command:
56
57     +--------------------------------------------------------------------+
58     | docker run nonrtric-information-coordinator-service                |
59     +--------------------------------------------------------------------+
60
61 Initial Non-RT-RIC App Catalogue
62 --------------------------------
63
64 See the README.md file in the *r-app-catalogue* directory in the Gerrit repo for more details how to run the component.
65
66 DMaaP Adaptor Service
67 ---------------------
68
69 This Java implementation is run in the same way as the Information Coordinator Service.
70
71 The following properties in the application.yaml file have to be modified:
72 * server.ssl.key-store=./config/keystore.jks
73 * app.webclient.trust-store=./config/truststore.jks
74 * app.configuration-filepath=./src/test/resources/test_application_configuration.json
75
76 DMaaP Mediator Producer
77 -----------------------
78
79 To build and run this Go implementation, see the README.md file under the folder "dmaap-mediator-producer" in the "nonrtric" repo.
80
81 O-DU & O-RU fronthaul recovery
82 ------------------------------
83
84 See the page in Wiki: `O-RU Fronthaul Recovery usecase <https://wiki.o-ran-sc.org/display/RICNR/O-RU+Fronthaul+Recovery+usecase>`_.
85
86 O-DU Slicing use cases
87 ----------------------
88
89 See the page in Wiki: `O-DU Slice Assurance usecase <https://wiki.o-ran-sc.org/display/RICNR/O-DU+Slice+Assurance+usecase>`_.
90
91 Helm Manager
92 ------------
93
94 See the page in Wiki: `Release E <https://wiki.o-ran-sc.org/display/RICNR/Release+E>`_.
95
96 Kubernetes deployment
97 =====================
98
99 Non-RT RIC can be also deployed in a Kubernetes cluster, `it/dep repository <https://gerrit.o-ran-sc.org/r/admin/repos/it/dep>`_.
100 hosts deployment and integration artifacts. Instructions and helm charts to deploy the Non-RT-RIC functions in the
101 OSC NONRTRIC integrated test environment can be found in the *./nonrtric* directory.
102
103 For more information on installation of NonRT-RIC in Kubernetes, see `Deploy NONRTRIC in Kubernetes <https://wiki.o-ran-sc.org/display/RICNR/Deploy+NONRTRIC+in+Kubernetes>`_.
104
105 For more information see `Integration and Testing documentation on the O-RAN-SC wiki <https://docs.o-ran-sc.org/projects/o-ran-sc-it-dep/en/latest/index.html>`_.
106