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:
- 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 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:
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