Table of Contents |
---|
Overview
DCAE Controller/Platform offers generic functions for service component (MS) to leverage under DCAE umbrella. The platform simplifies and address common requirements, thereby facilitating easier integration for DCAE mS in standardized way.
DCAE ONAP El Alto release (R5), delivered new platform capability (through DMaaP plugin) for dynamic and secure DMaaP topic & feed provisioning support for Microservices (mS). This feature uses AAF role-based access enabling secure dataflow communication between microservices in DCAE and those externally. The benefit of Dynamic Feed/Topic provisioning is the flexibility provided for microservice owners and designers for constructing service assurance flow with ease, allowing data-flow binding handled via DCAE platform
The DMaaP plugin interfaces with Dmaap-DBCL component to carry out this request and provision AAF based topic (on Message router) / feed (on Data-Router). This feature ensures all DCAE microservice dataflow is supported on secure topic (MR) and feed (DR) in compliance with ONAP security standards
Design/Architecture
- Onboarding (design)
- The mS owner identifies the input and output stream in spec file. The actual topic/feed and access credentials are
- Runtime
- Plugins (Dmaap and K8SPlugin)
- These are cloudify plugins bootstrapped into DCAE Cloudify Manager during platform instantiation. The plugins provides interface/function to implement specific function. The plugins are referenced based on node type in the blueprint (deployment artifact for DCAE MS).
- DMaap Bus Controller (DBCL)
- DMaap Bus Controller provides API to serve new feed and topic creation requests
- ConfigBindingService
- DCAE Platform Component providing standardized API for DCAE Microservice to retrieve configuration including Dmaap topic/feed configuration dynamically provisioned.
- Consul KV
- Key-Value store where all service component configuration are stored during deployment.
- Plugins (Dmaap and K8SPlugin)
PlantUML Macro | ||
---|---|---|
| ||
@startuml
title DMAAP plugin sequence flow
box "DCAE Onboarding"
actor MS_Developer as a1 #green
participant "Bp-gen" as a2
entity DCAE_MS_Blueprint as a3 #blue
end box
box "DCAE-DMAAP Runtime" #f4c69f
participant "Dashboard" as c0
participant "Cloudify \n(K8S & DMaaP\n plugin)" as c
participant "DMAAP BC" as c1
participant "DMAAP" as c2
entity "TOPIC/FEED" as c3
database Consul as c4
participant "DCAE MS" as c5
end box
autonumber
a1 -> a2 : Creates component\n spec specifying \n publish/subscribes\n streams (topic/feed)
a2 -> a3 : Generates cloudify \nblueprint
a3 -> a1
a1 -> c0 : "Blueprint upload\n and deploy"
c0 -> c : "dcae.nodes.\nContainerized\nServiceComponent\nUsingDmaap"
c -> c1 : "invokes buscontroller api\n type=ccsdk.nodes.Feed\nccsdk.nodes.Topic\n"
c1 -> c1 : check AAF role/namespace
c1 <-> c2 : Provisions new feed/topic
c2 <-> c3
c1 -> c : returns topic/feed along\n with aaf credential
c -> c4 : KV store updated \n for corresponding service
c5 -> c4 : retrieves dmaap \nconfiguration using \ncbs api
c5 -> c3 : Publish/subscribes to topic/feed
@enduml |
EL-Alto Usecase
5G Bulk PM components, namely DataFile Collector and PM-Mapper were deployed using Dmaap Plugin integration for El-Alto as prototype to validate the secure & dynamic feed/topic provisioning feature.
The complete flow for the usecase 5G Bulk PM flow can be referred here - 5G - Bulk PM (Casablanca carry-over items).
This usecase enabled validation of both DMaap Message-router and Data-Router case for both publisher and subscriber MS.
DataFile Collector : Subscribe from MR topic, publish files into DR feed
PM-Mapper : Subscribes from DR Feed; publish into MR topic
Demo
Scope
- Review blueprint configuration for DFC
- Deployment for DFC (via dashboard)
- Validation of new feed created
- Review blueprint configuration for PM-Mapper
- Deployment of PM-Mapper (via dashboard)
- Validation of new feed/topic created
- Sample data flow
View file | ||||
---|---|---|---|---|
|
View file | ||||
---|---|---|---|---|
|
Helpful Resources
- Blueprint Generator
- Blueprints
- Datafile Collector DPO
- PM Mapper DPO
- Dmaap Plugin Integration
- Bus Controller API