diff options
-rw-r--r-- | docs/sections/apis/swagger-bbs-event-processor.yaml | 164 | ||||
-rw-r--r-- | docs/sections/images/bbs-ep-cpe-authentication.png | bin | 0 -> 38084 bytes | |||
-rw-r--r-- | docs/sections/images/bbs-ep-pnf-relocation.png | bin | 0 -> 36978 bytes | |||
-rw-r--r-- | docs/sections/services/bbs-event-processor/development_info.rst | 30 | ||||
-rw-r--r-- | docs/sections/services/bbs-event-processor/functionality.rst | 13 | ||||
-rw-r--r-- | docs/sections/services/bbs-event-processor/index.rst | 36 | ||||
-rw-r--r-- | docs/sections/services/bbs-event-processor/installation.rst | 64 | ||||
-rw-r--r-- | docs/sections/services/serviceindex.rst | 3 |
8 files changed, 309 insertions, 1 deletions
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 Binary files differnew file mode 100644 index 00000000..91eff9d5 --- /dev/null +++ b/docs/sections/images/bbs-ep-cpe-authentication.png diff --git a/docs/sections/images/bbs-ep-pnf-relocation.png b/docs/sections/images/bbs-ep-pnf-relocation.png Binary files differnew file mode 100644 index 00000000..76e0f72a --- /dev/null +++ b/docs/sections/images/bbs-ep-pnf-relocation.png 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://<container_address>:8100/heartbeat** + - Start Polling for events: **POST http://<container_address>:8100/start-tasks** + - Stop Polling for events: **POST http://<container_address>:8100/cancel-tasks** + - Execute just one polling for PNF re-registration internal events: **POST http://<container_address>:8100/poll-reregistration-events** + - Execute just one polling for CPE authentication events: **POST http://<container_address>:8100/poll-cpe-authentication-events** + - Change application logging level: **POST http://<container_address>: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 |