RESTConf Collector (BBS Usecase)

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 Name

Description

Parameter Name

Description

rcc.keystore.file.location

Keystore file

rcc.keystore.passwordfile

Keystore password file

rcc.truststore.file.location

Truststore file

rcc.truststore.passwordfile

Truststore password file

rcc_policy

Controllers configuration (List)

controller_name

Name of controller

controller_restapiUrl

Ip and port of the controller

controller_restapiUser

Rest API username

controller_restapiPassword

Rest API password

controller_accessTokenUrl

Rest URL to fetch access Token

controller_accessTokenFile

Template to get access token

controller_accessTokenMethod

Method name such as Post/Put to fetch access token

controller_subsMethod

Method name such as Get/Put etc. to subscribe

controller_subscriptionUrl

Rest URL to subscribe for event

controller_disableSsl

Discable SSL handshake. For test not for production

event_details

List of events for a controller (List

event_name

Name of the event

event_sseventUrlEmbed

If SSE event URL is embeded in th event subscription reponse

event_subscriptionTemplate

Event subscription template

event_ruleId

Rule id to attach (optional)

modifyData

whether to modify data. (True/False)

modifyMethod

If modify data is true should provide modify method name and implementation

Deployment Steps

Task

 

Task

 

Download code

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

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

Build

mvn clean install

Run

docker 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