From 86000084e453d581c029b4362f259c503e309425 Mon Sep 17 00:00:00 2001 From: elinuxhenrik Date: Tue, 26 Jan 2021 13:46:02 +0100 Subject: [PATCH] Docs updates for Guilin Maintenance Change-Id: If0000cc4be08d5f5a96ba0485dcd088a45dbd6bd Issue-ID: CCSDK-3085 Issue-ID: CCSDK-3109 Signed-off-by: elinuxhenrik Signed-off-by: JohnKeeney --- docs/architecture/architecture.rst | 12 +++-- docs/consumedapis/consumedapis.rst | 26 +++++----- docs/guide/developer-guide.rst | 71 +++++++++++++++++++++++---- docs/humaninterfaces/humaninterfaces.rst | 4 +- docs/media/ONAP-A1ControllerArchitecture.png | Bin 80069 -> 34848 bytes docs/offeredapis/offeredapis.rst | 62 +++++++---------------- docs/offeredapis/swagger/pms-api.json | 12 ++--- docs/offeredapis/swagger/pms-api.yaml | 36 +++++++++++--- docs/releasenotes/release-notes.rst | 22 ++++----- 9 files changed, 145 insertions(+), 100 deletions(-) diff --git a/docs/architecture/architecture.rst b/docs/architecture/architecture.rst index bfe827bd..6447facc 100644 --- a/docs/architecture/architecture.rst +++ b/docs/architecture/architecture.rst @@ -1,5 +1,5 @@ .. SPDX-License-Identifier: CC-BY-4.0 -.. Copyright 2020 Nordix Foundation +.. Copyright 2021 Nordix Foundation .. _architecture: @@ -11,14 +11,16 @@ Introduction ************ -The CCSDK ORAN components provides handling of the O-RAN A1 interface. +The CCSDK ORAN components add support for handling "A1 Policies" as defined for the O-RAN A1 interface. + +The O-RAN A1 interface is defined by the `O-RAN Alliance `_ ********************************************* -Global NBI architecture for Frankfurt release +Architecture for ONAP Guilin release ********************************************* -Following illustration provides a global view about Non-Real-Time-RIC architecture, +This picture provides a overview of ONAP's A1 Controller architecture, integration with other ONAP components and API resource/operation provided. .. image:: ../media/ONAP-A1ControllerArchitecture.png @@ -29,5 +31,5 @@ integration with other ONAP components and API resource/operation provided. Developer Guide *************** -Technical information about the ORAN components (dependencies, configuration, running & testing) could be found in :ref:`developer_guide`. +Technical information about the O-RAN components (dependencies, configuration, running & testing) can be found in :ref:`developer_guide`. diff --git a/docs/consumedapis/consumedapis.rst b/docs/consumedapis/consumedapis.rst index 8357e43d..48d3af2b 100644 --- a/docs/consumedapis/consumedapis.rst +++ b/docs/consumedapis/consumedapis.rst @@ -1,5 +1,5 @@ .. SPDX-License-Identifier: CC-BY-4.0 -.. Copyright 2020 Nordix Foundation +.. Copyright 2021 Nordix Foundation Consumed APIs ============= @@ -11,26 +11,22 @@ Policy Management Service application is interacting with two ONAP APIs and the CBS API ******* -The CBS API is used to get the dynamic configuration of the service, such as available Near-RT RICs. - -:: - - CBS_GET_ALL +If *Consul* is used for configuring the A1 Policy Management Service the `ONAP DCAE Config Binding Service `_ is used. ********* DMAAP API ********* -The DMaaP API is used to provide the possibility to interact with the Policy Management Service through DMaaP Message -Router. +The A1 Policy Management Service API can also be accessed using *ONAP DMaaP*. To support this the `DMaaP Message Router API `_ is used. -:: +***************************************** +O-RAN A1 interface for A1 Policies (A1-P) +***************************************** - DMAAP_GET_EVENTS +Southbound, the ONAP A1 Policy functions communicate with *near-RT-RIC* RAN functions using the **A1** interface, as defined by the `O-RAN Alliance `_ +The *A1 Interface - Application Protocol Specification (A1-AP)* describe this interface. The specification can be viewed from the `O-RAN Alliance `_ website. -******** -A1-P API -******** +The **Guilin** ONAP A1 Policy functions implement the *A1 Policy* parts (*A1-P*) of A1-AP versions *v1.1* and *v2.0* + +An opensource implementation of a `near-RT-RIC `_ is available from `O-RAN Software Community `_. It supports a pre-spec version of the A1-AP. The ONAP A1 Policy functions described here also supports this A1 version (A1-OSC). -The A1-P API is used to communicate with the Near-RT RICs (north bound). All endpoints of the OSC A1 REST API and the -standard A1 REST API version 1.1 are used. diff --git a/docs/guide/developer-guide.rst b/docs/guide/developer-guide.rst index f067a3fa..f2c8b25e 100644 --- a/docs/guide/developer-guide.rst +++ b/docs/guide/developer-guide.rst @@ -1,27 +1,27 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2020 Nordix Foundation. +.. Copyright (C) 2021 Nordix Foundation. .. _developer_guide: Developer Guide =============== -This document provides a quickstart for developers of the CCSDK ORAN parts. +This document provides a quickstart for developers of the CCSDK functions for O-RAN A1 Policies. Source tree +++++++++++ -This application provides CCSDK Policy Management Service and A1 Adapter as main functional resources. +This provides CCSDK with "A1 Policy Management Service" and "A1 Adapter" functions. Each resource is implemented independently in a package corresponding to its name. A1 Policy Management Service ++++++++++++++++++++++++++++ -The CCSDK Policy Management Service (PMS) is a Java 11 web application built over Spring Framework. +The ONAP CCSDK A1 Policy Management Service is a Java 11 web application built using the Spring Framework. Using Spring Boot dependencies, it runs as a standalone application. -PMS provides a REST API for management of policices. It provides support for: +A1 Policy Management Service provides a REST API for management of policies. 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 @@ -32,7 +32,7 @@ PMS provides a REST API for management of policices. It provides support for: * 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 Policy Management Service can be accessed over the REST API. See :ref:`pms_api` for how to use the API. +The Policy Management Service can be accessed over the REST API, and with an equivalent interface using DMaaP. See :ref:`pms_api` for more information about the API. Dependencies ------------ @@ -53,10 +53,63 @@ dependency management tool (see *pom.xml* file at root level) : Configuration ------------- -There are two configuration files for PMS, *config/application_configuration.json* and *config/application.yaml*. +There are two configuration files for A1 Policy Management Service, *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. +For more information about these configuration files can be found as comments in the sample files provided with the source code, or on the `ONAP wiki `_ + +Static configuration (application.yaml) +--------------------------------------- + +The file *./config/application.yaml* is read by the application at startup. It provides the following configurable features: + + * server; configuration for the WEB server + + * used port for HTTP/HTTPS, this is however not the port numbers visible outside the container + * SSL parameters for setting up using of key store and trust store databases. + * webclient; configuration parameters for a web client used by the component + + * SSL parameters for setting up using of key store and trust store databases. + * Usage of HTTP Proxy; if configured, the proxy will be used for accessing the NearRT-RICs + + * logging; setting of of which information that is logged. + * filepath; the local path to a file used for dynamic configuration (if used). See next chapter. + +For details about the parameters in this file, see documentation in the file. + +Dynamic configuration +--------------------- + +The component has configuration that can be updated in runtime. This configuration can either be loaded from a file (accessible from the container) or from a CBS/Consul database (Cloudify). The configuration is re-read and refreshed at regular intervals. + +The configuration includes: + + * Controller configuration, which includes information on how to access the a1-adapter + * One entry for each NearRT-RIC, which includes: + + * The base URL of the NearRT RIC + * A list of O1 identifiers that the NearRT RIC is controlling. An application can query this service which NearRT RIC should be addressed for controlling (for instance) a given Cell. + * An optional reference to the controller to use, or excluded if the NearRT-RIC can be accessed directly from this component. + + * Optional configuration for using of DMAAP. There can be one stream for requests to the component and an other stream for responses. + +For details about the syntax of the file, there is an example in source code repository */config/application_configuration.json*. This file is also included in the docker container */opt/app/policy-agent/data/application_configuration.json_example*. + +Using CBS/Consul database for dynamic configuration +--------------------------------------------------- + +The access of CBS is setup by means of environment variables. There is currently no support for setting these at on boarding. + +The following variables are required by the CBS: + + * CONSUL_HOST + * CONSUL_PORT + * CONFIG_BINDING_SERVICE + * SERVICE_NAME + + + Configuration of certs ---------------------- @@ -90,6 +143,6 @@ Example docker run command for mounting new files (assuming they are located in A1 Adapter (Internal) +++++++++++++++++++++ -The O-RAN A1 Adapter provides an internal REST CONF API for management of A1 policices, useful for test and verification. +The O-RAN A1 Adapter provides an **internal** RESTCONF API that is used by the A1 Policy Management System when accessing the A1 Interface. This API is useful for test and verification but should not used otherwise. -The A1 Adapter can be accessed over the REST CONF API. See :ref:`a1_adapter_api` for how to use the API. +See :ref:`a1_adapter_api` for details of this internal API. diff --git a/docs/humaninterfaces/humaninterfaces.rst b/docs/humaninterfaces/humaninterfaces.rst index ab7d421f..f050f44f 100644 --- a/docs/humaninterfaces/humaninterfaces.rst +++ b/docs/humaninterfaces/humaninterfaces.rst @@ -6,6 +6,6 @@ Human Interfaces ================ The NON-RT RIC Control Panel in O-RAN-SC can be used to interact with the Policy Management Service. -See `NON-RT RIC Control Panel repo `_. +See `NON-RT RIC Control Panel repo `_ from the `O-RAN-SC NONRTRIC Project `_. -Any "Rest Client" application may be used (Postman, ...) to interact with the Policy Management Service application. +Any "Rest Client" application may be used (Postman, ...) to interact with the Policy Management Service application via the :ref:`A1 Policy Management Service API`_ diff --git a/docs/media/ONAP-A1ControllerArchitecture.png b/docs/media/ONAP-A1ControllerArchitecture.png index 595166285cc48511a5a02a8cfccd95808f31f1a3..1285e2d860f813e5d9bbd48ee24a1a478c696d3b 100644 GIT binary patch literal 34848 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 literal 80069 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 diff --git a/docs/offeredapis/offeredapis.rst b/docs/offeredapis/offeredapis.rst index b6b2cd66..99f59e9b 100644 --- a/docs/offeredapis/offeredapis.rst +++ b/docs/offeredapis/offeredapis.rst @@ -1,7 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright 2020 Nordix Foundation +.. Copyright 2021 Nordix Foundation .. _offered_apis: @@ -10,54 +10,22 @@ Offered APIs ============ Introduction -************ +------------ -The north bound REST API of the Policy Management Service provides convenient methods to handle policies. +The north bound REST API of the A1 Policy Management Service provides convenient methods to handle policies. -Global ORAN architecture -************************ +Overall architecture for O-RAN A1 Policy functions +-------------------------------------------------- -Following illustration provides a global view about **ORAN** architecture, +This picture provides a overview of ONAP's A1 Controller architecture, integration with other ONAP components and API resource/operation provided. .. image:: ../media/ONAP-A1ControllerArchitecture.png :width: 500pt - -API Version -*********** - -APIs are described with a state version with "v" following the API Name, -e.g.: ``v2/policy``. -The schema associated with a REST API must have its version number aligned -with that of the REST API. - -The version number has major, minor and revision numbers. E.g. v1.0.0 -The version number (without the revision number) is held in the URI. - -The major version number is incremented for an incompatible change. -The minor version number is incremented for a compatible change. -For minor modifications of the API, version numbering must not be updated, -provided the following backward compatibility rules are respected: - -- New elements in a data type must be optional (``minOccurs=0``) -- Changes in the cardinality of an attribute in a data type must be from - mandatory to optional or from lower to greater -- New attributes defined in an element must be optional (absence of - ``use="required"``). -- If new enumerated values are included, the former ones and its meaning must - be kept. -- If new operations are added, the existing operations must be kept -- New parameters added to existing operations must be optional and existing - parameters must be kept - -For major modifications of the API, not backward compatible and forcing client -implementations to be changed, the version number must be updated. - - API Table -********* +--------- .. |swagger-icon| image:: ../media/swagger.png :width: 40px @@ -70,19 +38,23 @@ API Table :header: "API name", "|swagger-icon|", "|yaml-icon|" :widths: 10,5, 5 - "PMS API", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`" + "A1 Policy Management Service API (NBI)", ":download:`link <./swagger/pms-api.json>`", ":download:`link <./swagger/pms-api.yaml>`" "A1 ADAPTER API (Internal)", ":download:`link <./swagger/a1-adapter-api.json>`", ":download:`link <./swagger/a1-adapter-api.yaml>`" - .. _pms_api: -PMS API -....... -`PMS API <./pms-api.html>`_ +A1 Policy Management Service API +................................ + +The A1 Policy Management Service API is described in more detail in `A1 Policy Management Service API (html) <./pms-api.html>`_ + .. _a1_adapter_api: A1 ADAPTER API .............. -`A1 ADAPTER API (Internal) <./a1-adapter-api.html>`_ + +The O-RAN A1 Adapter provides an **internal** RESTCONF API that is used by the A1 Policy Management System when accessing the A1 Interface. This API is useful for test and verification but should not be used otherwise. + +The A1 Adapter API is described in more detail in `A1 ADAPTER API (html) <./a1-adapter-api.html>`_ diff --git a/docs/offeredapis/swagger/pms-api.json b/docs/offeredapis/swagger/pms-api.json index 1837e098..72eaa977 100644 --- a/docs/offeredapis/swagger/pms-api.json +++ b/docs/offeredapis/swagger/pms-api.json @@ -1,7 +1,7 @@ { "openapi": "3.0.1", "info": { - "title": "A1 Policy management service", + "title": "A1 Policy Management Service", "description": "The O-RAN Non-RT 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 of A1 policices.", "version": "1.0" }, @@ -16,19 +16,19 @@ "tags": [ { "name": "A1 Policy Management", - "description": "Policy Controller" + "description": "This is the north bound API of the A1 Policy Management Service (\"Policy Agent\"). This API allows *services* to interact with the Policy Agent using REST. By registering with the Policy Agent, the Policy Agent takes responsibility for synchronizing the policies created by the service in the Near RT RICs. This means that if a Near RT RIC restarts, the Policy Agent will try to recreate all the policies residing in the Near RT RIC once it is started again. If this is not possible, it will remove all policies belonging to the Near RT RIC. The Policy Agent also keeps an updated view of the policy types available, and which Near RT RICs that support which types. Also, the Policy Agent can tell if a Managed Element is managed by a certain Near RT RIC." }, { "name": "Health check", - "description": "Status Controller" + "description": "The status of the A1 Policy Management Service" }, { "name": "RIC Repository", - "description": "Ric Repository Controller" + "description": "The A1 Policy Management Service keeps an updated view of the Near RT RICs that are available in the system. A service can find out which Near RT RIC that manages a specific element in the network or which Near RT RICs that support a specific policy type." }, { "name": "Service registry and supervision", - "description": "Service Controller" + "description": "A service can register itself in the A1 Policy Management Service. By providing a callback URL the service can get notifications from the A1 Policy Management Service. A service can also register a \"*Keep Alive Interval*\", in seconds. By doing this the service promises to call the A1 Policy Management Service's \"*Keep Alive*\" method, or else create or delete policies, more often than the \"*Keep Alive Interval*\" measured in seconds. If the service, for some reason, is not able to do this, the A1 Policy Management Service will consider that the service has died or vanished and will then delete all its policies, both in the internal repository and in the Near RT RICs where they were earlier created. **Note!** If the service does not provide a value for \"*Keep Alive Interval*\", then the service maintains full responsibility to delete all of its policies when they are no longer needed." } ], "paths": { @@ -1130,7 +1130,7 @@ }, "keepAliveIntervalSeconds": { "type": "integer", - "description": "keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.", + "description": "Keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically deregistered and its policies will be deleted. Value 0 means no timeout supervision.", "format": "int64" }, "serviceName": { diff --git a/docs/offeredapis/swagger/pms-api.yaml b/docs/offeredapis/swagger/pms-api.yaml index 3bf13a21..865eb770 100644 --- a/docs/offeredapis/swagger/pms-api.yaml +++ b/docs/offeredapis/swagger/pms-api.yaml @@ -1,7 +1,7 @@ --- openapi: 3.0.1 info: - title: A1 Policy management service + title: A1 Policy Management Service description: 'The O-RAN Non-RT 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 @@ -16,13 +16,36 @@ servers: - url: http://localhost:8081/ tags: - name: A1 Policy Management - description: Policy Controller + description: This is the north bound API of the A1 Policy Management Service ("Policy + Agent"). This API allows *services* to interact with the Policy Agent using REST. + By registering with the Policy Agent, the Policy Agent takes responsibility for + synchronizing the policies created by the service in the Near RT RICs. This means + that if a Near RT RIC restarts, the Policy Agent will try to recreate all the + policies residing in the Near RT RIC once it is started again. If this is not + possible, it will remove all policies belonging to the Near RT RIC. The Policy + Agent also keeps an updated view of the policy types available, and which Near + RT RICs that support which types. Also, the Policy Agent can tell if a Managed + Element is managed by a certain Near RT RIC. - name: Health check - description: Status Controller + description: The status of the A1 Policy Management Service - name: RIC Repository - description: Ric Repository Controller + description: The A1 Policy Management Service keeps an updated view of the Near + RT RICs that are available in the system. A service can find out which Near RT + RIC that manages a specific element in the network or which Near RT RICs that + support a specific policy type. - name: Service registry and supervision - description: Service Controller + description: A service can register itself in the A1 Policy Management Service. + By providing a callback URL the service can get notifications from the A1 Policy + Management Service. A service can also register a "*Keep Alive Interval*", in + seconds. By doing this the service promises to call the A1 Policy Management Service's + "*Keep Alive*" method, or else create or delete policies, more often than the + "*Keep Alive Interval*" measured in seconds. If the service, for some reason, + is not able to do this, the A1 Policy Management Service will consider that the + service has died or vanished and will then delete all its policies, both in the + internal repository and in the Near RT RICs where they were earlier created. **Note!** + If the service does not provide a value for "*Keep Alive Interval*", then the + service maintains full responsibility to delete all of its policies when they + are no longer needed. paths: "/policies": get: @@ -759,7 +782,7 @@ components: description: callback for notifying of RIC synchronization keepAliveIntervalSeconds: type: integer - description: keep alive interval for the service. This is a heartbeat supervision + description: Keep alive interval for the service. This is a heartbeat supervision of the service, which in regular intevals must invoke a 'keepAlive' REST call. When a service does not invoke this call within the given time, it is considered unavailble. An unavailable service will be automatically @@ -849,4 +872,3 @@ components: ueId: '1' statement: priorityLevel: 1 - diff --git a/docs/releasenotes/release-notes.rst b/docs/releasenotes/release-notes.rst index 1bee897e..d57a2331 100644 --- a/docs/releasenotes/release-notes.rst +++ b/docs/releasenotes/release-notes.rst @@ -1,7 +1,7 @@ .. This work is licensed under a Creative Commons Attribution .. 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 -.. Copyright (C) 2020 Nordix Foundation. +.. Copyright (C) 2021 Nordix Foundation. .. _release_notes: ============= @@ -18,14 +18,15 @@ of the ORAN project. Version history Policy Management Service ========================================= -+------------+----------+-------------+----------------+ -| **Date** | **Ver.** | **Author** | **Comment** | -| | | | | -+------------+----------+-------------+----------------+ -| 2020-09-10 | 1.0.0 | Dan Timoney | First version | -| | | | Guilin Release | -+------------+----------+-------------+----------------+ - ++------------+----------+-------------+----------------------------+ +| **Date** | **Ver.** | **Author** | **Comment** | ++------------+----------+-------------+----------------------------+ +| 2020-09-10 | 1.0.0 | Dan Timoney | First version | +| | | | Guilin Release | ++------------+----------+-------------+----------------------------+ +| 2021-01-29 | 1.0.0 | Dan Timoney | Guilin Maintenance Release | +| | | | Only documentation updates | ++------------+----------+-------------+----------------------------+ Summary ------- @@ -36,9 +37,8 @@ Version history A1 Adapter +------------+----------+-------------+----------------+ | **Date** | **Ver.** | **Author** | **Comment** | -| | | | | +------------+----------+-------------+----------------+ -| 2019-09-10 | 1.0.0 | Dan Timoney | First version | +| 2020-09-10 | 1.0.0 | Dan Timoney | First version | | | | | Guilin Release | +------------+----------+-------------+----------------+ -- 2.16.6