X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=docs%2Fdeveloper-guide.rst;h=76d673e39207bb26ce281cb4e54af6444035fc43;hb=69f664024c3c053ff879768e0f3738c9205fff90;hp=b3651f43cc79e7d41ffd71fe8f7a541232daba6d;hpb=842b9d220588fba7fc17df0cf9c094f91005118b;p=nonrtric.git diff --git a/docs/developer-guide.rst b/docs/developer-guide.rst index b3651f43..76d673e3 100644 --- a/docs/developer-guide.rst +++ b/docs/developer-guide.rst @@ -1,95 +1,96 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. SPDX-License-Identifier: CC-BY-4.0 +.. Copyright (C) 2021 Nordix Developer Guide =============== -This document provides a quickstart for developers of the Non-RT RIC. +This document provides a quickstart for developers of the Non-RT RIC parts. -SDNC A1 Controller -================================== +Additional developer guides are available on the `O-RAN SC NONRTRIC Developer wiki `_. -Prerequisites -------------- +A1 Policy Management Service & SDNC/A1 Controller & A1 Adapter +-------------------------------------------------------------- -1. Java development kit (JDK), version 8 -2. Maven dependency-management tool, version 3.4 or later -3. Python, version 2 -4. Docker, version 19.03.1 or later -5. Docker Compose, version 1.24.1 or later +The A1 Policy Management Service is implemented in ONAP. For documentation see `ONAP CCSDK documentation `_. +and `wiki `_. -Build and run -------------- -Go to the northbound directory and run this command :: - mvn clean install +Information Coordinator Service +------------------------------- +The Information Coordinator Service is a Java 11 web application built using the Spring Framework. Using Spring Boot +dependencies, it runs as a standalone application. -This will build the project and create artifcats in maven repo +Its main functionality is to act as a data subscription broker and to decouple data producer from data consumers. -Go to oam/installation directory and run this command :: - mvn clean install -P docker +See the ./config/README file in the *information-coordinator-service* directory Gerrit repo on how to create and setup +the certificates and private keys needed for HTTPS. -This will create the docker images required for sdnc +Start standalone +++++++++++++++++ -After this step check for the docker images created by the maven build with this command :: - docker images | grep sdnc +The project uses Maven. To start the Information Coordinator Service as a freestanding application, run the following +command in the *information-coordinator-service* directory: -Go to oam/installation/src/main/yaml and run this command :: - docker-compose up -d sdnc + +-----------------------------+ + | mvn spring-boot:run | + +-----------------------------+ -This will create the docker containers with the sdnc image, you can check the status of the docker container using :: - docker-compose logs -f sdnc +There are a few files that needs to be available to run. These are referred to from the application.yaml file. +The following properties have to be modified: -The SDNC url to access the Northbound API, - http://localhost:8282/apidoc/explorer/index.html +* server.ssl.key-store=./config/keystore.jks +* app.webclient.trust-store=./config/truststore.jks +* app.vardata-directory=./target -Credentials: admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U +Start in Docker ++++++++++++++++ -Policy Agent -============================ -The O-RAN NonRT RIC PolicyAgent provides a REST API for management of policices. It provides support for: +To build and deploy the Information Coordinator Service, go to the "information-coordinator-service" folder and run the +following command: - * 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: + +-----------------------------+ + | mvn clean install | + +-----------------------------+ - * 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. +Then start the container by running the following command: -| 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. + +--------------------------------------------------------------------+ + | docker run nonrtric-information-coordinator-service | + +--------------------------------------------------------------------+ +DMaaP Adaptor Service +--------------------- -Near-RT RIC Simulator -===================================== +This Java implementation is run in the same way as the Information Coordinator Service. +The following properties in the application.yaml file have to be modified: +* server.ssl.key-store=./config/keystore.jks +* app.webclient.trust-store=./config/truststore.jks +* app.configuration-filepath=./src/test/resources/test_application_configuration.json -Prerequisites -------------- - 1. Java development kit (JDK), version 8 - 2. Maven dependency-management tool, version 3.4 or later +DMaaP Mediator Producer +----------------------- -Build and run -------------- +To build and run this Go implementation, see the README.md file under the folder "dmaap-mediator-producer" in the "nonrtric" repo. -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} +O-DU & O-RU fronthaul recovery +------------------------------ -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. +See the page in Wiki: `O-RU Fronthaul Recovery usecase `_. -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. +Helm Manager +------------ -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. +See the page in Wiki: `Release E `_. -End-to-end call -=============== +Kubernetes deployment +===================== + +Non-RT RIC can be also deployed in a Kubernetes cluster, `it/dep repository `_. +hosts deployment and integration artifacts. Instructions and helm charts to deploy the Non-RT-RIC functions in the +OSC NONRTRIC integrated test environment can be found in the *./nonrtric* directory. + +For more information on installation of NonRT-RIC in Kubernetes, see `Deploy NONRTRIC in Kubernetes `_. -In order to make a complete end-to-end call, follow the instructions given in this `guide`_. +For more information see `Integration and Testing documentation on the O-RAN-SC wiki `_. -.. _guide: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=12157166 \ No newline at end of file