RESTConf Collector (BBS Usecase)

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

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

 

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

 

 

 

Comments