Skip to end of metadata
Go to start of metadata


Restconf collector is a microservice in ONAP DCAE. It subscribes to external controllers
and receives event data. After receiving event data it may modify it as per usecase's requirement and
produce a DMaaP event. This DMaap event usually consumed by VES mapper.
Restconf Collector can subscribe multiple events from multiple controllers.


Below diagram shows restconf interaction with an external controller.

Use cases:

  1. BBS
    * RestConf collector(RCC) subscribe for ONT (Optical network terminal) registration event from 3rd
    party Access Controller.
    * RCC requests to set up a persistent connection with the controller.
    * As the connection is standing, Access controller pushes registration event to RCC.
    * RCC receives event, convert it JSON event, modify and append some user data and publishes on
    DMaap with topic of DCAE_RCC_OUTPUT.
    * Ves Mapper consumes this event, convert it to VES event using Mapper
  2.  CCVPN
    * RestConf Collector (RCC)subscribes for remote failure alarm to SOTN Controller (SC)
    * RCC requests to set up a persistent connection with the 3rd party Controller.
    * As the connection is standing, SC pushes service route status data to the collector
    * RCC receives alarm data, converts it into JSON format and publishes on DMaap with topic of
    * VES Adapeter consumes the alarm message
    * VES requests the RestConf2VES mapping from the mapper. As of CCVPN use case proposal,
    the RestConf2VES.xml is manually uploaded to the mapper.
    * Mapper response back the mapping
    * UVA converts json alarm into VES event
    * UVA publishes the VES event on DMAAP for further correlation


Restconf Collector can be installed using cloudify blueprint (Master) 

Or (Dublin)

Image Path:  (Master) (Dublin)

Deployment Prerequisite/dependencies

There are several configuration paramters. Some of them are..

Parameter NameDescription
rcc.keystore.file.locationKeystore file
rcc.keystore.passwordfileKeystore password file
rcc.truststore.file.locationTruststore file
rcc.truststore.passwordfileTruststore password file
rcc_policyControllers configuration (List)
controller_nameName of controller
controller_restapiUrlIp and port of the controller
controller_restapiUserRest API username
controller_restapiPasswordRest API password
controller_accessTokenUrlRest URL to fetch access Token
controller_accessTokenFileTemplate to get access token
controller_accessTokenMethodMethod name such as Post/Put to fetch access token
controller_subsMethodMethod name such as Get/Put etc. to subscribe
controller_subscriptionUrlRest URL to subscribe for event
controller_disableSslDiscable SSL handshake. For test not for production
event_detailsList of events for a controller (List
event_nameName of the event
event_sseventUrlEmbedIf SSE event URL is embeded in th event subscription reponse
event_subscriptionTemplateEvent subscription template
event_ruleIdRule id to attach (optional)
modifyDatawhether to modify data. (True/False)
modifyMethodIf modify data is true should provide modify method name and implementation

Deployment Steps

Download code

git clone

[Modify the configuration parameters if required. Update the security files.]

Buildmvn clean install
Rundocker run onap/org.onap.dcaegen2.collectors.restconfcollector
Using cloudify

Install :

cfy blueprints validate /<blueprints-file-path>/k8s-rcc-policy.yaml

cfy blueprints upload -b restconfcollector /<blueprints-file-path>/k8s-rcc-policy.yaml

cfy deployments create -b restconfcollector

cfy executions start -d restconfcollector install

Un Install:

cfy uninstall restconfcollector

cfy deployments delete -f restconfcollector

cfy blueprints delete restconfcollector


Check if component is running.

The logs are stored in /opt/app/restconfcollector/logs/collector.log

  • No labels


  1. Swarup Nayak - Few comments based on the demo today; please address them

    1) Add steps to simulate/validate the flow (relevant postman and examples)

    2) Update Blueprint version (plugin version not current) and include ccvpn blueprint/configuration as reference

    3) Specify on documentation Event standards supported

    Future work

    a) Control Loop flow onboarding/integration – SDC/CLAMP/Policy

    b) Multiple controller/truststore - AAF integration

    e) Scaling work TBD

  2. Hi Swarup Nayak, do we need to update the installation steps here or create a new wiki page for Frankfurt release? e.g. which image we use 1.2.1-SNAPSHOT?

  3. Hi David Perez Caparros Swarup Nayak, can you please also update how to build docker image? As I do not see Dockerfile in the restconf repo. Is there some other approach?