Merge "Update dynamic configuration info"
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 0000000..d1fa002
--- /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 0000000..91eff9d
--- /dev/null
+++ b/docs/sections/images/bbs-ep-cpe-authentication.png
Binary files 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 0000000..76e0f72
--- /dev/null
+++ b/docs/sections/images/bbs-ep-pnf-relocation.png
Binary files 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 0000000..4f4b4b1
--- /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 0000000..8ddf18d
--- /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 0000000..6d54474
--- /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 0000000..242f9f9
--- /dev/null
+++ b/docs/sections/services/bbs-event-processor/installation.rst
@@ -0,0 +1,83 @@
+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;hb=refs/heads/master
+- Enter the Bootstrap POD
+- Validate blueprint
+    .. code-block:: bash
+        
+        cfy blueprints validate /blueprints/k8s-bbs-event-processor.yaml-template
+- Upload validated blueprint
+    .. code-block:: bash
+        
+
+        cfy blueprints upload -b bbs-ep /blueprints/k8s-bbs-event-processor.yaml-template
+- Create deployment
+    .. code-block:: bash
+        
+
+        cfy deployments create -b bbs-ep -i /bbs-event-processor-input.yaml bbs-ep
+- Deploy blueprint
+    .. code-block:: bash
+        
+
+        cfy executions start -d bbs-ep install
+
+To undeploy BBS-ep, steps are shown below
+
+- Uninstall running BBS-ep and delete deployment
+    .. code-block:: bash
+        
+
+        cfy uninstall bbs-ep
+- Delete blueprint
+    .. code-block:: bash
+        
+
+        cfy blueprints delete bbs-ep
\ No newline at end of file
diff --git a/docs/sections/services/dfc/architecture.rst b/docs/sections/services/dfc/architecture.rst
index 1ee922a..7359754 100644
--- a/docs/sections/services/dfc/architecture.rst
+++ b/docs/sections/services/dfc/architecture.rst
@@ -6,7 +6,8 @@
 
 Introduction
 """"""""""""
-DataFile Collector (DFC) is a part of DCAEGEN2. Some information about DFC and the reasons of its implementation can be found here: `5G bulk PM wiki page`_.
+DataFile Collector (DFC) is a part of DCAEGEN2. Some information about DFC and the reasons of its implementation can be
+found here: `5G bulk PM wiki page`_.
 
 .. _5G bulk PM wiki page: https://wiki.onap.org/display/DW/5G+-+Bulk+PM
 
@@ -29,3 +30,13 @@
 """""""""""
 DFC will interact with the DMaaP Message Router and with the Data Router via secured protocol, using json files.
 So far, the implemented protocols are sftp and ftp(e)s.
+
+Retry mechanism
+"""""""""""""""
+DFC is designed to retry downloading and publishing of files in order to recover from temporary faults.
+Each time an event is received, DFC will try to download and and publish each previously unpublished file in the event.
+The event is received from the Message Router (MR), the files are fetched from a PNF and are published to Data Router
+(DR).
+Both fetching of a file and publishing is retried a number of times with an increasing delay between each attempt.
+After a number of attempts, the DFC will log an error message and give up. Failing of processing of one file does not
+affect the handling of others.
\ No newline at end of file
diff --git a/docs/sections/services/dfc/configuration.rst b/docs/sections/services/dfc/configuration.rst
index d57a85f..22f50ee 100644
--- a/docs/sections/services/dfc/configuration.rst
+++ b/docs/sections/services/dfc/configuration.rst
@@ -48,9 +48,21 @@
 .. code-block:: json

 

   "keyCert": <path to DFC certificate>

-  "keyPassword": <pssword for DFC certificate>

-  "trustedCA": <path to xNF certificate>

-  "trustedCAPassword": <password for xNF certificate>

+  "keyPassword": <password for DFC certificate>

+  "trustedCa": <path to xNF certificate>

+  "trustedCaPassword": <password for xNF certificate>

+

+securityConfiguration

+"""""""""""""""""""""

+

+.. code-block:: json

+

+  "trustStorePath": <path to trust store>

+  "trustStorePasswordPath": <path to trsust store password>

+  "keyStorePath": <path to key store>

+  "keyStorePasswordPath": <path to key store password>

+  "enableDmaapCertAuth": <boolean>. If false, all information above are ignored.

+

 

 

 Sample JSON configuration

@@ -87,12 +99,19 @@
         }

       },

       "ftp": {

-        "ftpesConfiguration": {

-          "keyCert": "config/ftpKey.jks",

-          "keyPassword": "secret",

-          "trustedCA": "config/cacerts",

-          "trustedCAPassword": "secret"

+            "ftpesConfiguration": {

+                "keyCert": "config/dfc.jks",

+                "keyPassword": "secret",

+                "trustedCa": "config/ftp.jks",

+                "trustedCaPassword": "secret"

+            }

+      },

+        "security": {

+            "trustStorePath" : "change it",

+            "trustStorePasswordPath" : "change it",

+            "keyStorePath" : "change it",

+            "keyStorePasswordPath" : "change it",

+            "enableDmaapCertAuth" : "false"

         }

-      }

     }

   }

diff --git a/docs/sections/services/dfc/delivery.rst b/docs/sections/services/dfc/delivery.rst
index 233e254..b2d9425 100644
--- a/docs/sections/services/dfc/delivery.rst
+++ b/docs/sections/services/dfc/delivery.rst
@@ -7,6 +7,14 @@
 Docker Container

 ----------------

 

-**datafile** is delivered as a docker container that can be downloaded from onap:

+**datafile** is delivered as a docker container. The latest onap automatically built version can be downloaded from nexus:

 

-    ``docker run -d -p 8100:8100 -p 8433:8433  nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile``

+    ``docker run -d -p 8100:8100 -p 8433:8433

+    nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest``

+

+

+Another option is to pull the container first, and then run it with the image ID:

+

+    ``docker pull nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest``

+    ``docker images | grep 'datafile'``

+    ``docker run -d -p 8100:8100 -p 8433:8433 <image ID>``
\ No newline at end of file
diff --git a/docs/sections/services/dfc/installation.rst b/docs/sections/services/dfc/installation.rst
index ffaa580..a0fe442 100644
--- a/docs/sections/services/dfc/installation.rst
+++ b/docs/sections/services/dfc/installation.rst
@@ -22,4 +22,5 @@
 The following command will download the latest datafile container from

 nexus and launch it in the container named "datafile":

 

-    ``docker run -d -p 8100:8100 -p 8433:8433  nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile``

+    ``docker run -d -p 8100:8100 -p 8433:8433

+    nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest``

diff --git a/docs/sections/services/dfc/logging.rst b/docs/sections/services/dfc/logging.rst
index b6ac793..480f53b 100644
--- a/docs/sections/services/dfc/logging.rst
+++ b/docs/sections/services/dfc/logging.rst
@@ -10,4 +10,4 @@
 

 **Where is the log file?**

 

-The log file is located under /opt/log and called application.log.

+The log file is located under /var/log/ONAP/ and called application.log.
\ No newline at end of file
diff --git a/docs/sections/services/dfc/release-notes.rst b/docs/sections/services/dfc/release-notes.rst
index 18ee106..e9db0af 100644
--- a/docs/sections/services/dfc/release-notes.rst
+++ b/docs/sections/services/dfc/release-notes.rst
@@ -4,7 +4,19 @@
 Release Notes
 =============
 
-Version: 1.0.5
+Version 1.2.0
+-------------
+
+:Release Date: 2019-04-11 (Dublin, M4)
+
+Messages are now handled in parallel
+
+Retry mechanism implemented
+
+Adapting to ONAP logging standard
+
+
+Version: 1.1.1
 --------------
 
 :Release Date: 2019-01-30 (Casablanca Maintenance fixes)
@@ -13,7 +25,9 @@
 **Bug Fixes**
 
 DCAEGEN2-940  - Larger files of size 100Kb publish to DR
+
 DCAEGEN2-941  - DFC error after running over 12 hours
+
 DCAEGEN2-1001 - Multiple Fileready notification not handled
 
 
diff --git a/docs/sections/services/pm-mapper/architecture.rst b/docs/sections/services/pm-mapper/architecture.rst
index 78011f7..d7fa495 100644
--- a/docs/sections/services/pm-mapper/architecture.rst
+++ b/docs/sections/services/pm-mapper/architecture.rst
@@ -26,4 +26,4 @@
 
 Interaction
 """""""""""
-PM Mapper will interact with the DMaaP Bus Controller for Subscribing to Data Router feeds and publishing to Message Router. PM Mapper also intracts with the Config Binding Service to get configuration information.
+PM Mapper interacts with the Config Binding Service to get configuration information.
diff --git a/docs/sections/services/pm-mapper/configuration.rst b/docs/sections/services/pm-mapper/configuration.rst
index 88d2ccc..3e1b6b4 100644
--- a/docs/sections/services/pm-mapper/configuration.rst
+++ b/docs/sections/services/pm-mapper/configuration.rst
@@ -1,42 +1,46 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.

-.. http://creativecommons.org/licenses/by/4.0

-

-Configuration

-=============

-

-Filtering

-"""""""""

-PM mapper maps PM XML files to performance VES event by applying the mapper filtering information. Mapper filtering is configured during instantiation through cloudify manager.

-Mapper filtering is based on the PM dictionary fields.

-PM mapper expects the filter in the following JSON format:

-

-::

-

-

-         "filters":[{

-            "pmDefVsn": "1.3",

-            "nfType": "gnb",

-            "vendor": "Ericsson",

-            "measTypes": [ "attTCHSeizures", "succTCHSeizures" ]

-        }]

-

-

-

-====================   ============================      ================================

-Field                  Description                       Type

-====================   ============================      ================================

-pmDefVsn               PM Dictionary version.            String

-vendor                 Vendor of the xNF type.           String

-nfType                 nfType is vendor                  String

-                       defined and should match the

-                       string used in file ready

-                       eventName.

-measTypes              Measurement name used in PM       Array of String

-                       file in 3GPP format where

-                       specified, else vendor

-                       defined.

-====================   ============================      ================================

-

-Feed Name

-"""""""""

-A default feed name "bulk_pm_feed" is configured in PM Mapper blueprint but the feed name can be changed to a user defined value through cloudify manager.
\ No newline at end of file
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Configuration
+=============
+
+Filtering
+"""""""""
+PM mapper maps PM XML files to performance VES event by applying the mapper filtering information. Mapper filtering is configured during instantiation through cloudify manager.
+Mapper filtering is based on the PM dictionary fields.
+PM mapper expects the filter in the following JSON format:
+
+::
+
+
+         "filters":[{
+            "pmDefVsn": "1.3",
+            "nfType": "gnb",
+            "vendor": "Ericsson",
+            "measTypes": [ "attTCHSeizures", "succTCHSeizures" ]
+        }]
+
+
+
+====================   ============================      ================================
+Field                  Description                       Type
+====================   ============================      ================================
+pmDefVsn               PM Dictionary version.            String
+vendor                 Vendor of the xNF type.           String
+nfType                 nfType is vendor                  String
+                       defined and should match the
+                       string used in file ready
+                       eventName.
+measTypes              Measurement name used in PM       Array of String
+                       file in 3GPP format where
+                       specified, else vendor
+                       defined.
+====================   ============================      ================================
+
+Message Router Topic Name
+"""""""""
+PM Mapper publishes the perf3gpp VES PM Events to the following authenticated MR topic;
+
+::
+
+        topic.org.onap.dmaap.mr.PM_MAPPER
diff --git a/docs/sections/services/pm-mapper/delivery.rst b/docs/sections/services/pm-mapper/delivery.rst
index 0a03237..56ca4a6 100644
--- a/docs/sections/services/pm-mapper/delivery.rst
+++ b/docs/sections/services/pm-mapper/delivery.rst
@@ -1,12 +1,14 @@
-.. This work is licensed under a Creative Commons Attribution 4.0 International License.

-.. http://creativecommons.org/licenses/by/4.0

-

-Delivery

-========

-

-Docker Container

-----------------

-

-**PM Mapper** is delivered as a docker image that can be downloaded from ONAP docker registry:

-

-    ``docker run -d --name pmmapper -e CONFIG_BINDING_SERVICE_SERVICE_HOST=<IP Required> -e CONFIG_BINDING_SERVICE_SERVICE_PORT=<Port Required> -e HOSTNAME=<HOSTNAME>  nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.0-SNAPSHOT``

+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Delivery
+========
+
+Docker Container
+----------------
+
+**PM Mapper** is delivered as a docker image that can be downloaded from ONAP docker registry:
+
+::
+
+    ``docker run -d --name pmmapper -e CONFIG_BINDING_SERVICE_SERVICE_HOST=<IP Required> -e CONFIG_BINDING_SERVICE_SERVICE_PORT=<Port Required> -e HOSTNAME=<HOSTNAME>  nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.0-SNAPSHOT``
diff --git a/docs/sections/services/pm-mapper/troubleshooting.rst b/docs/sections/services/pm-mapper/troubleshooting.rst
index ed0b398..c025fb0 100644
--- a/docs/sections/services/pm-mapper/troubleshooting.rst
+++ b/docs/sections/services/pm-mapper/troubleshooting.rst
@@ -127,33 +127,4 @@
 
 **PM Mapper** logs this information when connected to Consul, but cannot find a valid JSON configuration.
 
-====
-
-**Unable to Subscriber to Data Router Feed**
-
-::
-
-        2019-02-11T16:44:37.012Z	main	DEBUG	org.onap.dcaegen2.services.pmmapper.config.ConfigHandler		Mapper configuration:\nMapperConfig(messageRouterTopicName=unauthenticated.PM_VES_OUTPUT, busControllerConfig=BusControllerConfig(dcaeLocation=dcaeLocation, deliveryURL=deliveryURL, feedId=2, lastMod=lastMod, username=username, password=password, dataRouterSubscribeEndpoint=null), streamsSubscribes=MapperConfig.StreamsSubscribes(dmaapSubscriber=MapperConfig.DmaapSubscriber(dmaapInfo=MapperConfig.DmaapInfo(location=location, username=username, password=password, deliveryUrl=delivery_url, subscriberId=subsriber_id))))
-        2019-02-11T16:44:37.013Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Starting subscription to DataRouter		ENTRY
-        2019-02-11T16:44:37.013Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		e04d9fb4-5bc3-405b-89ea-6b824de8f137		INVOKE [ SYNCHRONOUS ]
-        2019-02-11T16:44:37.061Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Request to bus controller executed with Response Code: '404' and Response Event: 'Not Found'.
-        2019-02-11T16:44:39.062Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		d4982d98-574d-42e4-9922-640610ffa34d		INVOKE [ SYNCHRONOUS ]
-        2019-02-11T16:44:39.071Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Request to bus controller executed with Response Code: '404' and Response Event: 'Not Found'.
-        2019-02-11T16:44:43.079Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		05c73228-d04c-47c2-b897-8e936de5c8fd		INVOKE [ SYNCHRONOUS ]
-        2019-02-11T16:44:43.089Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Request to bus controller executed with Response Code: '404' and Response Event: 'Not Found'.
-        2019-02-11T16:44:51.129Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		c898b5c7-a347-496a-af3b-aeac661d4f1b		INVOKE [ SYNCHRONOUS ]
-        2019-02-11T16:44:51.138Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Request to bus controller executed with Response Code: '404' and Response Event: 'Not Found'.
-        2019-02-11T16:45:07.220Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		b190fbc1-ab91-44da-b393-727810925374		INVOKE [ SYNCHRONOUS ]
-        2019-02-11T16:45:07.234Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber		Request to bus controller executed with Response Code: '404' and Response Event: 'Not Found'.
-        2019-02-11T16:45:07.235Z	main	INFO	org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber				EXIT
-        Exception in thread "main" org.onap.dcaegen2.services.pmmapper.exceptions.TooManyTriesException: Failed to subscribe within appropriate amount of attempts
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.subscribe(DataRouterSubscriber.java:152)
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.subscribe(DataRouterSubscriber.java:150)
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.subscribe(DataRouterSubscriber.java:150)
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.subscribe(DataRouterSubscriber.java:150)
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.subscribe(DataRouterSubscriber.java:150)
-        at org.onap.dcaegen2.services.pmmapper.datarouter.DataRouterSubscriber.start(DataRouterSubscriber.java:97)
-        at org.onap.dcaegen2.services.pmmapper.App.main(App.java:53)
-
-This log is printed when pm mapper couldn't subscribe to the data router.
 
diff --git a/docs/sections/services/serviceindex.rst b/docs/sections/services/serviceindex.rst
index 7c87f5c..268c91b 100644
--- a/docs/sections/services/serviceindex.rst
+++ b/docs/sections/services/serviceindex.rst
@@ -17,4 +17,5 @@
    ./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
diff --git a/docs/sections/tls_enablement.rst b/docs/sections/tls_enablement.rst
index 2d7b007..5d4925c 100644
--- a/docs/sections/tls_enablement.rst
+++ b/docs/sections/tls_enablement.rst
@@ -10,6 +10,10 @@
 -----------------
 1. Certificate generation:
     This step is done manually currently using Test AAF instance in POD25. Required namespace,  DCAE identity (dcae@dcae.onap.org), roles and Subject Alternative Names for all components are preset. Using the procedure desribed by AAF (using ``agent.sh``), the certificates are generated. Using the Java keystore file  (``.jks``)  generated from AAF, create the .pem files and load them into tls-init-container under dcaegen2/deployment repository. The image has a script that runs when the image is deployed. The script copies the certificate artifacts into a Kubernetes volume. The container is used as an "init-container" included in the Kubernetes pod for a component that needs to use TLS.
+
+    Current SAN listing::
+
+        bbs-event-processor, bbs-event-processor.onap, bbs-event-processor.onap.svc.cluster.local, config-binding-service, config-binding-service.onap, config-binding-service.onap.svc.cluster.local, dcae-cloudify-manager, dcae-cloudify-manager.onap, dcae-cloudify-manager.onap.svc.cluster.local, dcae-datafile-collector, dcae-datafile-collector.onap, dcae-datafile-collector.onap.svc.cluster.local, dcae-hv-ves-collector, dcae-hv-ves-collector.onap, dcae-hv-ves-collector.onap.svc.cluster.local, dcae-pm-mapper, dcae-pm-mapper.onap, dcae-pm-mapper.onap.svc.cluster.local, dcae-prh, dcae-prh.onap, dcae-prh.onap.svc.cluster.local, dcae-tca-analytics, dcae-tca-analytics.onap, dcae-tca-analytics.onap.svc.cluster.local, dcae-ves-collector, dcae-ves-collector.onap, dcae-ves-collector.onap.svc.cluster.local, deployment-handler, deployment-handler.onap, deployment-handler.onap.svc.cluster.local, holmes-engine-mgmt, holmes-engine-mgmt.onap, holmes-engine-mgmt.onap.svc.cluster.local, holmes-rule-mgmt, holmes-rules-mgmt.onap, holmes-rules-mgmt.onap.svc.cluster.local, inventory, inventory.onap, inventory.onap.svc.cluster.local, policy-handler, policy-handler.onap, policy-handler.onap.svc.cluster.local
  
 2. Plugin and Blueprint:
     Update blueprint to include new (optional) node property (tls_info) to the type definitions for the Kubernetes component types. The property is a dictionary with two elements: