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
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)