Merge "Documentation stubs for BBS-ep"
authorVijay Venkatesh Kumar <vv770d@att.com>
Fri, 12 Apr 2019 03:21:38 +0000 (03:21 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 12 Apr 2019 03:21:38 +0000 (03:21 +0000)
docs/sections/apis/swagger-bbs-event-processor.yaml [new file with mode: 0644]
docs/sections/images/bbs-ep-cpe-authentication.png [new file with mode: 0644]
docs/sections/images/bbs-ep-pnf-relocation.png [new file with mode: 0644]
docs/sections/services/bbs-event-processor/development_info.rst [new file with mode: 0644]
docs/sections/services/bbs-event-processor/functionality.rst [new file with mode: 0644]
docs/sections/services/bbs-event-processor/index.rst [new file with mode: 0644]
docs/sections/services/bbs-event-processor/installation.rst [new file with mode: 0644]
docs/sections/services/serviceindex.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 (file)
index 0000000..d1fa002
--- /dev/null
@@ -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 (file)
index 0000000..91eff9d
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 (file)
index 0000000..76e0f72
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 (file)
index 0000000..4f4b4b1
--- /dev/null
@@ -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 (file)
index 0000000..8ddf18d
--- /dev/null
@@ -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 (file)
index 0000000..6d54474
--- /dev/null
@@ -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 (file)
index 0000000..5c00c0d
--- /dev/null
@@ -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
index 7c87f5c..268c91b 100644 (file)
@@ -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