Overview
Restconf collector is a component 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 adapter or VES mapper.
Restconf Collector can subscribe multiple events from multiple controllers.
Below diagram shows restconf interaction with an external controller.
Use cases:
- 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. - 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 k8-rcc-policy.yaml
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