BBS-EventProcessor Service (BBS Usecase)

Overview

The BBS-ep service is responsible for handling two types of events for the BBS use case.

The first type of event are PNF re-registration internal events that is published by PRH. The BBS-ep service processes the internal events to understand if they

actually constitute ONT(CPE) relocation events. In the relocation case, the BBS-ep service publishes an event towards unauthenticated.DCAE_CL_OUTPUT

DMaaP topic to trigger further Policy actions related to BBS use case.



The second type of event us the CPE authentication event originally published by the Edge SDN M&C component of BBS use case architecture.

Through the RestConf-Collector or VES-Collector, this event us consumed by the BBS-ep service and then forwarded towards unauthenticated.DCAE_CL_OUTPUT

DMaaP topic to trigger further Policy actions related to BBS use case.



The BBE-ep service periodically polls for the two events. The 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.

Blueprint/model/image



Βlueprint component 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/k8s-bbs-event-processor.yaml-template;hb=refs/heads/dublin
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/dublin

Docker image metadata for component can be found in

  https://nexus3.onap.org/repository/docker.snapshot/v2/onap/org.onap.dcaegen2.services.components.bbs-event-processor/manifests/1.0.0

Deployment Prerequisite/dependencies

The BBS-ep service requires DMaaP and A&AI to be functional in ONAP.

The BBS-ep service consumes/publishes messages from/to DMaaP and fetches (never updates) information from A&AI related to the BBS use-case logic.

Deployment Steps

To deploy

  • Transfer blueprint component file in DCAE bootstrap POD under /blueprints directory

  • Transfer blueprint component inputs file in DCAE bootstrap POD under / directory

  • Log-in to the DCAE bootstrap POD's main container

  • Validate blueprint

    Validate Blueprint

    cfy blueprints validate /blueprints/k8s-bbs-event-processor.yaml-template



  • Upload validated blueprint

    Upload validated blueprint

    cfy blueprints upload -b bbs-ep /blueprints/k8s-bbs-event-processor.yaml-template



  • Create Cloudify Deployment

    Create Cloudify deployment

    cfy deployments create -b bbs-ep -i /bbs-event-processor-input.yaml bbs-ep



  • Deploy component

    Deploy component



To un-deploy

  • Uninstall running component and delete deployment

    Uninstall component



  • Delete blueprint

    Delete blueprint



Initial Validation

After deployment, we can check if BBS-ep POD is running correctly

Verify BBS-ep is running



And then check the logs to see if it can connect to DMaaP, polling for events. Even in the absence of events, we can at least verify that there is nothing to consume for both PNF re-registration messages and CPE authentication messages.

Verify BBS-ep can poll DMaaP





Feed test data

To perform functional tests for BBS-ep, we must first populate test data to A&AI. This can be done by running the following Postman collection along with the required input file.

Postman Collection

JSON Input

Import the Collection JSON file into Postman and then execute it via the Runner utility after changing appropriately the external test-data input (for example give the appropriate A&AI IP address)

Populated objects inside A&AI are:

  • New business customer

  • New HSIA CFS service instance

  • New logical-link

  • New PNF related to logical-link and to the HSIA CFS service instance

Please note that new UUIDs for the test objects are automatically generated by the script.

Functional tests

With the test data successfully inside A&AI, we can perform two functional tests for BBS-ep

PNF re-registration handling

Send a triggering event to DMaaP topic 'unauthenticated.PNF_UPDATE

Before sending, make sure you have the

  • Correct DMaaP address

  • correlationId matches the 'pnf-name' in test data

  • attachment-point is different than the one found in test-data (otherwise it will not be considered as a true ONU relocation



Trigger a PNF re-registration event



Logs showing PNF re-registration event handling



We can check that a new DCAE_CL_OUTPUT event has been published (make sure you target the correct DMaaP IP address)

Fetch events from DCAE_CL_OUTPUT topic



Published event



CPE authentication handling

Send a triggering event to DMaaP topic 'unauthenticated.CPE_AUTHENTICATION

Before sending, make sure you have the

  • Correct DMaaP address

  • sourceName matches the 'pnf-name' in test data

  • macAddress matches the 'rgw-mac-address' in test data



Trigger a PNF re-registration event



Logs showing CPE authentication event handling



We can check that a new DCAE_CL_OUTPUT event has been published (make sure you target the correct DMaaP IP address)

Fetch events from DCAE_CL_OUTPUT topic



Published event