Overview

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
    file.
  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
    ROUTE_ALARM_OUTPUT
    * 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

Blueprint/model/image

Restconf Collector can be installed using cloudify blueprint  https://git.onap.org/dcaegen2/collectors/restconf/tree/dpo/blueprints/k8s-rcc-policy.yaml-template?h=master (Master) 

Or https://git.onap.org/dcaegen2/collectors/restconf/tree/dpo/blueprints/k8s-rcc-policy.yaml-template?h=dublin (Dublin)

Image Path: 

https://nexus.onap.org/content/repositories/snapshots/org/onap/dcaegen2/collectors/restconf/restconfcollector/1.2.0-SNAPSHOT/  (Master)

https://nexus.onap.org/content/repositories/snapshots/org/onap/dcaegen2/collectors/restconf/restconfcollector/1.1.1-SNAPSHOT/ (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

Task
Download code

git clone https://gerrit.onap.org/r/dcaegen2/collectors/restconf

[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

Validation

Check if component is running.

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




  • No labels

4 Comments

  1. user-f79d0 - 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 user-f79d0, 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 user-f79d0, 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?