From 9bb9a4c495eda5720fcb47e623f2967d54dae12e Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Thu, 8 Oct 2020 14:36:37 +0200 Subject: Add documentation for PMS Change-Id: I4b496142f1c21edd9a044b76d35592ba2ec8c083 Issue-ID: CCSDK-2833 Signed-off-by: elinuxhenrik --- docs/guide/developer-guide.rst | 49 +++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 8 deletions(-) (limited to 'docs/guide/developer-guide.rst') diff --git a/docs/guide/developer-guide.rst b/docs/guide/developer-guide.rst index 18182543..b6d4ce88 100644 --- a/docs/guide/developer-guide.rst +++ b/docs/guide/developer-guide.rst @@ -2,23 +2,26 @@ .. http://creativecommons.org/licenses/by/4.0 .. Copyright (C) 2020 Nordix Foundation. +.. _developer_guide: + Developer Guide =============== This document provides a quickstart for developers of the CCSDK ORAN parts. -A1 Adapter -++++++++++ +Source tree ++++++++++++ -TBD +This application provides CCSDK Policy Management Service and A1 Adapter as main functional resources. +Each resource is implemented independently in a package corresponding to its name. -The A1 Adapter can be accessed over the REST API. See :ref:`offered_apis` for how to use the API. +A1 Policy Management Service +++++++++++++++++++++++++++++ +The CCSDK Policy Management Service (PMS) is a Java 11 web application built over Spring Framework. +Using Spring Boot dependencies, it runs as a standalone application. -A1 Policy Management -++++++++++++++++++++ - -The CCSDK Policy Management Service (PMS) provides a REST API for management of policices. It provides support for: +PMS 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 @@ -31,8 +34,31 @@ The CCSDK Policy Management Service (PMS) provides a REST API for management of The Policy Management Service can be accessed over the REST API. See :ref:`pms_api` for how to use the API. +Dependencies +------------ +This project uses various frameworks which are managed with Maven +dependency management tool (see *pom.xml* file at root level) : + +- Swagger annotations +- `Spring Framework `_ +- `Springfox `_ Automated JSON API documentation for API's built with Spring +- `Immutable `_ to generate simple, safe and consistent value objects +- `JSON in Java `_ to parse JSON documents into Java objects +- `Apache Commons Net `_ for network utilities and protocol implementations +- `DCAE SDK `_ to get configuration from CBS +- `Lombok `_ to generate code, such as getters and setters +- `Awaitility `_ to test asynchronous functionality + +Configuration +------------- + +There are two configuration files for PMS, *config/application_configuration.json* and *config/application.yaml*. +The first one contains configuration of data needed by the application, such as which Near-RT RICs +that are available. The second contains logging and security configurations. + Configuration of certs ---------------------- + The Policy Management Service uses the default keystore and truststore that are built into the container. The paths and passwords for these stores are located in a yaml file: oran/a1-policy-management/config/application.yaml @@ -54,3 +80,10 @@ The target paths in the container should not be modified. Example docker run command for mounting new files (assuming they are located in the current directory): `docker run -p 8081:8081 -p 8433:8433 --name=policy-agent-container --network=nonrtric-docker-net --volume "$PWD/new_keystore.jks:/opt/app/policy-agent/etc/cert/keystore.jks" --volume "$PWD/new_truststore.jks:/opt/app/policy-agent/etc/cert/truststore.jks" --volume "$PWD/new_application.yaml:/opt/app/policy-agent/config/application.yaml" o-ran-sc/nonrtric-policy-agent:2.1.0-SNAPSHOT` + +A1 Adapter +++++++++++ + +TBD + +The A1 Adapter can be accessed over the REST API. See :ref:`offered_apis` for how to use the API. -- cgit 1.2.3-korg