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.

DMAAP plugin sequence flow DCAE Onboarding DCAE-DMAAP Runtime MS_Developer MS_Developer Bp-gen Bp-genDCAE_MS_Blueprint DCAE_MS_Blueprint Dashboard Dashboard Cloudify(K8S & DMaaPplugin) Cloudify(K8S & DMaaPplugin) DMAAP BC DMAAP BC DMAAP DMAAPTOPIC/FEED TOPIC/FEED Consul Consul DCAE MS DCAE MS 1Creates componentspec specifyingpublish/subscribesstreams (topic/feed) 2Generates cloudifyblueprint 3  4"Blueprint uploadand deploy" 5"dcae.nodes.ContainerizedServiceComponentUsingDmaap" 6"invokes buscontroller apitype=ccsdk.nodes.Feedccsdk.nodes.Topic" 7check AAF role/namespace 8Provisions new feed/topic 9  10returns topic/feed alongwith aaf credential 11KV store updatedfor corresponding service 12retrieves dmaapconfiguration usingcbs api 13Publish/subscribes to topic/feed

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

DMaaPPluginDemo.mp4


Helpful Resources



  • No labels

2 Comments

  1. Joe, Excellent demo!  So great to see all these components working together.  It is clearly explained, and the pacing was perfect.   Just want to emphasize that the topic created was the recommended authenticated topic.  This was evidenced by the fully qualified topic name seen in the list of topics on MR, and the requirement to pass user credentials in your simulated subscriber.

    1. Thanks Dom, I appreciate the feedback. Good points about the topic, I didn't explicitly say its authenticated and never really thought of referencing the name as a way to tell that its authenticated.