From 596e7c047dde2a04d9deb20b99f0312b9e762141 Mon Sep 17 00:00:00 2001 From: Stavros Kanarakis Date: Thu, 4 Apr 2019 13:55:13 +0300 Subject: Documentation stubs for BBS-ep Change-Id: Id32f23c1cd74cb6209f1ab6babba47c716e17400 Issue-ID: DCAEGEN2-1393 Signed-off-by: Stavros Kanarakis --- .../sections/apis/swagger-bbs-event-processor.yaml | 164 +++++++++++++++++++++ docs/sections/images/bbs-ep-cpe-authentication.png | Bin 0 -> 38084 bytes docs/sections/images/bbs-ep-pnf-relocation.png | Bin 0 -> 36978 bytes .../bbs-event-processor/development_info.rst | 30 ++++ .../services/bbs-event-processor/functionality.rst | 13 ++ .../services/bbs-event-processor/index.rst | 36 +++++ .../services/bbs-event-processor/installation.rst | 64 ++++++++ docs/sections/services/serviceindex.rst | 3 +- 8 files changed, 309 insertions(+), 1 deletion(-) create mode 100644 docs/sections/apis/swagger-bbs-event-processor.yaml create mode 100644 docs/sections/images/bbs-ep-cpe-authentication.png create mode 100644 docs/sections/images/bbs-ep-pnf-relocation.png create mode 100644 docs/sections/services/bbs-event-processor/development_info.rst create mode 100644 docs/sections/services/bbs-event-processor/functionality.rst create mode 100644 docs/sections/services/bbs-event-processor/index.rst create mode 100644 docs/sections/services/bbs-event-processor/installation.rst diff --git a/docs/sections/apis/swagger-bbs-event-processor.yaml b/docs/sections/apis/swagger-bbs-event-processor.yaml new file mode 100644 index 00000000..d1fa002d --- /dev/null +++ b/docs/sections/apis/swagger-bbs-event-processor.yaml @@ -0,0 +1,164 @@ +--- +swagger: '2.0' +info: + description: This page lists bbs-event-processor REST API details + version: '1.0' + title: BBS Event Processor +host: localhost:32100 +basePath: "/" +tags: +- name: bbs-event-processor-controller + description: Manage bbs-event-processor microService +paths: + "/cancel-tasks": + post: + tags: + - bbs-event-processor-controller + summary: Returns result of request to cancel running microservice tasks + operationId: cancelTasksUsingPOST + consumes: + - application/json + produces: + - "*/*" + responses: + '200': + description: Tasks were successfully cancelled + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '201': + description: Created + '401': + description: Not authorized to view the resource + '403': + description: Resource access is forbidden + '404': + description: Resource is not found + '406': + description: Cancellation failed. Check logs + "/heartbeat": + get: + tags: + - bbs-event-processor-controller + summary: Returns liveness of bbs-event-processor microService + operationId: handleHeartBeatUsingGET + produces: + - "*/*" + responses: + '200': + description: bbs-event-processor microService is alive + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '401': + description: Not authorized to view the resource + '403': + description: Resource access is forbidden + '404': + description: Resource is not found + "/logging/{level}": + post: + tags: + - bbs-event-processor-controller + summary: Returns result of request to change application logging level + operationId: changeLoggingLevelUsingPOST + consumes: + - application/json + produces: + - "*/*" + parameters: + - name: level + in: path + description: level + required: true + type: string + responses: + '200': + description: Application logging level was successfully changed + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '201': + description: Created + '401': + description: Unauthorized + '403': + description: Forbidden + '404': + description: Not Found + '406': + description: Application logging level change failure. Check logs + "/poll-cpe-authentication-events": + post: + tags: + - bbs-event-processor-controller + summary: Returns result of request submission. CPE authentication polling will + occur asynchronously + operationId: handleCpeAuthenticationRestCallUsingPOST + consumes: + - application/json + produces: + - "*/*" + responses: + '200': + description: CPE authentication task submitted successfully + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '201': + description: Created + '401': + description: Not authorized to view the resource + '403': + description: Resource access is forbidden + '404': + description: Resource is not found + "/poll-reregistration-events": + post: + tags: + - bbs-event-processor-controller + summary: Returns result of request submission. PNF re-registration polling will + occur asynchronously + operationId: handleReRegistrationRestCallUsingPOST + consumes: + - application/json + produces: + - "*/*" + responses: + '200': + description: Polling Re-registration events task submitted successfully + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '201': + description: Created + '401': + description: Not authorized to view the resource + '403': + description: Resource access is forbidden + '404': + description: Resource is not found + "/start-tasks": + post: + tags: + - bbs-event-processor-controller + summary: Returns result of request to start microservice tasks + operationId: reScheduleTasksUsingPOST + consumes: + - application/json + produces: + - "*/*" + responses: + '200': + description: Tasks were successfully started + schema: + "$ref": "#/definitions/Mono«ResponseEntity«string»»" + '201': + description: Created + '401': + description: Not authorized to view the resource + '403': + description: Resource access is forbidden + '404': + description: Resource is not found + '406': + description: Task initiation failed. Check logs +definitions: + Mono«ResponseEntity«string»»: + type: object + title: Mono«ResponseEntity«string»» diff --git a/docs/sections/images/bbs-ep-cpe-authentication.png b/docs/sections/images/bbs-ep-cpe-authentication.png new file mode 100644 index 00000000..91eff9d5 Binary files /dev/null and b/docs/sections/images/bbs-ep-cpe-authentication.png differ diff --git a/docs/sections/images/bbs-ep-pnf-relocation.png b/docs/sections/images/bbs-ep-pnf-relocation.png new file mode 100644 index 00000000..76e0f72a Binary files /dev/null and b/docs/sections/images/bbs-ep-pnf-relocation.png differ diff --git a/docs/sections/services/bbs-event-processor/development_info.rst b/docs/sections/services/bbs-event-processor/development_info.rst new file mode 100644 index 00000000..4f4b4b1b --- /dev/null +++ b/docs/sections/services/bbs-event-processor/development_info.rst @@ -0,0 +1,30 @@ +Compiling BBS-EP +================ + +BBS-ep is a sub-project of dcaegen2/services (inside components directory). +To build just the BBS-ep component, run the following maven command from within **components/bbs-event-processor** directory +`mvn clean install` + + +API Endpoints +============= + +Running with dev-mode of BBS-EP + - Heartbeat: **GET http://:8100/heartbeat** + - Start Polling for events: **POST http://:8100/start-tasks** + - Stop Polling for events: **POST http://:8100/cancel-tasks** + - Execute just one polling for PNF re-registration internal events: **POST http://:8100/poll-reregistration-events** + - Execute just one polling for CPE authentication events: **POST http://:8100/poll-cpe-authentication-events** + - Change application logging level: **POST http://:8100/logging/{level}** + +More detailed API specifications can be found in :doc:`../../apis/swagger-bbs-event-processor`. + +Maven GroupId: +============== + +org.onap.dcaegen2.services.components + +Maven Parent ArtifactId: +======================== + +org.onap.oparen:oparent:1.2.3 \ No newline at end of file diff --git a/docs/sections/services/bbs-event-processor/functionality.rst b/docs/sections/services/bbs-event-processor/functionality.rst new file mode 100644 index 00000000..8ddf18d2 --- /dev/null +++ b/docs/sections/services/bbs-event-processor/functionality.rst @@ -0,0 +1,13 @@ +Functionality +============= + +PNF re-registration processing logic + +.. image:: ../../images/bbs-ep-pnf-relocation.png + +CPE authentication processing logic + +.. image:: ../../images/bbs-ep-cpe-authentication.png + +For more details about the exact flows and where BBS-EP fits in the overall BBS use case flows, visit +* https://wiki.onap.org/display/DW/BBS+Notifications \ No newline at end of file diff --git a/docs/sections/services/bbs-event-processor/index.rst b/docs/sections/services/bbs-event-processor/index.rst new file mode 100644 index 00000000..6d54474d --- /dev/null +++ b/docs/sections/services/bbs-event-processor/index.rst @@ -0,0 +1,36 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +===================================== +BBS-EP (BBS use case event processor) +===================================== + +:Date: 2019-04-11 + +.. contents:: + :depth: 3 +.. + +Overview +======== + +BBE-ep is responsible for handling two types of events for the BBS use case. + +First are PNF re-registration internal events published by PRH. BBS-ep must process these internal events to understand if they +actually constitute ONT(CPE) relocation events. In the relocation case, it publishes an event towards unauthenticated.DCAE_CL_OUTPUT +DMaaP topic to trigger further Policy actions related to BBS use case. + +Second type of events are CPE authentication events originally published by the Edge SDN M&C component of BBS use case architecture. +Through RestConf-Collector or VES-Collector, these events are consumed by BBS-ep and they are forwared towards unauthenticated.DCAE_CL_OUTPUT +DMaaP topic to trigger further Policy actions related to BBS use case. + +BBE-ep periodically polls for the two events. Polling interval is configurable and can be changed dynamically from Consul. Its implementation +is based on Reactive Streams (Reactor library), so it is fully asynchronous and non-blocking. + + +.. toctree:: + :maxdepth: 1 + + ./installation + ./functionality + ./development_info diff --git a/docs/sections/services/bbs-event-processor/installation.rst b/docs/sections/services/bbs-event-processor/installation.rst new file mode 100644 index 00000000..5c00c0d3 --- /dev/null +++ b/docs/sections/services/bbs-event-processor/installation.rst @@ -0,0 +1,64 @@ +Installation +============ + +BBS-ep is delivered as a Spring-Boot application ready to be deployed in Docker (via docker-compose). + +The following docker-compose-yaml file shows a default configuration. The file can be run using `docker compose up` command: + +.. code-block:: yaml + +version: '3' +services: + bbs-event-processor: + image: onap/org.onap.dcaegen2.services.components.bbs-event-processor:latest + container_name: bbs-event-processor + hostname: bbs-event-processor + ports: + - 32100:8100 + environment: + CONFIGS_DMAAP_CONSUMER_RE-REGISTRATION_DMAAPHOSTNAME: 10.133.115.190 + CONFIGS_DMAAP_CONSUMER_RE-REGISTRATION_DMAAPPORTNUMBER: 30227 + CONFIGS_DMAAP_CONSUMER_RE-REGISTRATION_DMAAPTOPICNAME: /events/unauthenticated.PNF_UPDATE + CONFIGS_DMAAP_CONSUMER_RE-REGISTRATION_CONSUMERGROUP: foo + CONFIGS_DMAAP_CONSUMER_RE-REGISTRATION_CONSUMERID: bar + CONFIGS_DMAAP_CONSUMER_CPE-AUTHENTICATION_DMAAPHOSTNAME: 10.133.115.190 + CONFIGS_DMAAP_CONSUMER_CPE-AUTHENTICATION_DMAAPPORTNUMBER: 30227 + CONFIGS_DMAAP_CONSUMER_CPE-AUTHENTICATION_DMAAPTOPICNAME: /events/unauthenticated.CPE_AUTHENTICATION + CONFIGS_DMAAP_CONSUMER_CPE-AUTHENTICATION_CONSUMERGROUP: foo + CONFIGS_DMAAP_CONSUMER_CPE-AUTHENTICATION_CONSUMERID: bar + CONFIGS_DMAAP_PRODUCER_DMAAPHOSTNAME: 10.133.115.190 + CONFIGS_DMAAP_PRODUCER_DMAAPPORTNUMBER: 30227 + CONFIGS_DMAAP_PRODUCER_DMAAPTOPICNAME: /events/unauthenticated.DCAE_CL_OUTPUT + CONFIGS_AAI_CLIENT_AAIHOST: 10.133.115.190 + CONFIGS_AAI_CLIENT_AAIPORT: 30233 + CONFIGS_APPLICATION_PIPELINESPOLLINGINTERVALSEC: 30 + CONFIGS_APPLICATION_PIPELINESTIMEOUTSEC: 15 + CONFIGS_APPLICATION_RE-REGISTRATION_POLICYSCOPE: policyScope + CONFIGS_APPLICATION_RE-REGISTRATION_CLCONTROLNAME: controName + CONFIGS_APPLICATION_CPE-AUTHENTICATION_POLICYSCOPE: policyScope + CONFIGS_APPLICATION_CPE-AUTHENTICATION_CLCONTROLNAME: controlName + LOGGING_LEVEL_ORG_ONAP_BBS: TRACE + +For Dublin release, it will be a DCAE component that can dynamically be deployed via Cloudify blueprint installation. +Steps to deploy are shown below + +- Transfer blueprint component file in DCAE bootstrap POD under /blueprints directory. Blueprint can be found in + https://gerrit.onap.org/r/gitweb?p=dcaegen2/services.git;a=blob_plain;f=components/bbs-event-processor/dpo/blueprints/k8s-bbs-event-processor.yaml-template;hb=refs/heads/master +- Transfer blueprint component inputs file in DCAE bootstrap POD under / directory. Blueprint inputs file can be found in + https://gerrit.onap.org/r/gitweb?p=dcaegen2/services.git;a=blob_plain;f=components/bbs-event-processor/dpo/blueprints/bbs-event-processor-input.yaml;h=36e69cf64bee3b46ee2e1b95f1a16380b7046482;hb=refs/heads/master +- Enter the Bootstrap POD +- Validate blueprint + cfy blueprints validate /blueprints/k8s-bbs-event-processor.yaml-template +- Upload validated blueprint + cfy blueprints upload -b bbs-ep /blueprints/k8s-bbs-event-processor.yaml-template +- Create deployment + cfy deployments create -b bbs-ep -i /bbs-event-processor-input.yaml bbs-ep +- Deploy blueprint + cfy executions start -d bbs-ep install + +To undeploy BBS-ep, steps are shown below + +- Validate blueprint by running command + cfy uninstall bbs-ep +- Validate blueprint by running command + cfy blueprints delete bbs-ep \ No newline at end of file diff --git a/docs/sections/services/serviceindex.rst b/docs/sections/services/serviceindex.rst index 7c87f5c4..268c91bb 100644 --- a/docs/sections/services/serviceindex.rst +++ b/docs/sections/services/serviceindex.rst @@ -17,4 +17,5 @@ Service components under DCAE ./prh/index.rst ./dfc/index.rst ./heartbeat-ms/index.rst - ./pm-mapper/index.rst \ No newline at end of file + ./pm-mapper/index.rst + ./bbs-event-processor/index.rst -- cgit 1.2.3-korg