Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Overview

VES-Mapper microservice of DCAE can help to collect telemetry data / events / alerts from VNFs and collectors of DCAE and convert them into VES compliant events. It supports both VES-5.4 and VES-7.0 specifications.

Based on the configuration, the VES-Mapper subscribes to non-VES notifications published on the DMaaP. By using mapping files, the mapper converts the received notifications into VES events and publish them back on DMaaP on the configured topic. It uses a Java framework called Smooks (smooks.org) for the mapping files.

In case of BroadBand Service (BBS), VES-Mapper will receive the PNF registration notifications from DMaaP that are published by RestConf Collector, convert them into VES-7.0 events and publish them back on DMaaP for PNF registration handler service to pick them.

Blueprint/model/image

...



Deployment Prerequisite/dependencies

VES-Mapper can be deployed individually though it will throw errors if it can not reach to DMaaP instance's APIs. To functionally test the mapper, only DMaaP is needed.

Deployment Steps

  • Transfer blueprint file in DCAE bootstrap POD under /blueprints directory
  • Log-in to the DCAE bootstrap POD's main container


To Deploy::

  1. Validate blueprint

    Code Block
    languagebash
    themeMidnight
    cfy blueprints validate /blueprints/k8s-vesmapper.yaml-template.yaml


  2. Upload validated blueprint

    Code Block
    languagebash
    themeMidnight
    cfy blueprints upload -b ves-mapper /blueprints/k8s-vesmapper.yaml-template.yaml


  3. Create Cloudify Deployment

    Code Block
    languagebash
    themeMidnight
    cfy deployments create -b ves-mapper ves-mapper


  4. Deploy component

    Code Block
    languagebash
    themeMidnight
    cfy executions start -d ves-mapper install



To Undeploy::

  1. Uninstall component

    Code Block
    languagebash
    themeMidnight
    cfy uninstall ves-mapper


  2. Delete blueprint

    Code Block
    languagebash
    themeMidnight
    cfy blueprints delete ves-mapper


Validation


  1. Check that VES-Mapper POD is created and it is in running state

    Code Block
    languagebash
    themeMidnight
    kubectl get pods -n onap | grep mapper
    dep-s36f1a2fadd614a42872bd680516e271a-dcaegen2-svc-mapper-l2cms 1/1 Running 0 1d


  2. Check the logs. Here are some important log statements that could be looked for.

    Code Block
    languagebash
    themeMidnight
    kubectl logs -n onap dep-s36f1a2fadd614a42872bd680516e271a-dcaegen2-svc-mapper-l2cms | more
    11:10:12.078 [main] INFO debugLogger - Triggering controller's start url
    11:10:12.078 [main] INFO debugLogger - Running curl command for url:http://localhost:8085/start
    11:10:12.186 [http-nio-8085-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
    11:10:12.186 [http-nio-8085-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
    11:10:12.200 [http-nio-8085-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 14 ms
    11:10:12.243 [http-nio-8085-exec-1] INFO metricsLogger - UniversalVesAdapter Application starting...
    11:10:12.243 [http-nio-8085-exec-1] INFO debugLogger - Creating Subcriber and Publisher with creator.............
    ...
    ...
    ...
    11:10:13.219 [http-nio-8085-exec-1] INFO debugLogger - Created scriber topic:unauthenticated.DCAE_RCC_OUTPUTpublisher topic:unauthenticated.VES_PNFREG_OUTPUT
    11:10:13.230 [rcc-notification] INFO metricsLogger - fetch and publish from and to Dmaap started:rcc-notification
    ...
    ...
    ...
    11:10:13.322 [http-nio-8085-exec-1] INFO debugLogger - Created scriber topic:unauthenticated.ONAP-COLLECTOR-SNMPTRAPpublisher topic:unauthenticated.SEC_FAULT_OUTPUT
    11:10:13.326 [snmp-notification] INFO metricsLogger - fetch and publish from and to Dmaap started:snmp-notification
    ...
    ...
    ...
    11:13:11.873 [snmp-notification] DEBUG debugLogger - number of messages to be converted :0
    11:13:13.044 [rcc-notification] DEBUG debugLogger - number of messages to be converted :0


Functional testing of VES-Mapper individually

  1. Send a PNF registration notification on behalf of RestConf Collector by calling DMaaP API

    Code Block
    languagebash
    themeMidnight
    curl -v -k -H 'Content-Type:application/json' -POST http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_RCC_OUTPUT -d @rcc_noti.json

    rcc_noti.json

  2. Invoke DMaaP API to fetch message on the topic unauthenticated.VES_PNFREG_OUTPUT . VES-Mapper should have published converted VES event on this topic.

    Code Block
    languagebash
    themeMidnight
    curl -X GET 'http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT/grp2/con2?timeout=1600'


    Converted VES event

  3. VES-Mapper logs

    Code Block
    languagebash
    themeMidnight
    12:35:27.886 [rcc-notification] DEBUG debugLogger - number of messages to be converted :1
    12:35:27.889 [rcc-notification] INFO debugLogger - Retrieved JsonArray from Collector Config File
    12:35:27.889 [rcc-notification] INFO debugLogger - returning identifier array from Collector Config
    12:35:27.890 [rcc-notification] DEBUG debugLogger - Using Default Mapping file as Mapping file is not available for Enterprise Id / identifer ID:2541256
    12:35:28.075 [rcc-notification] INFO debugLogger - Transforming incoming json
    12:35:28.114 [rcc-notification] INFO debugLogger - Context created
    12:35:28.125 [rcc-notification] DEBUG debugLogger - consversion successful to VES Event
    12:35:28.125 [rcc-notification] INFO debugLogger - Incoming json transformed to VES format successfully:rcc-notification
    12:35:28.137 [rcc-notification] INFO debugLogger - Serialized VES json
    12:35:28.138 [rcc-notification] DEBUG debugLogger - Batch Queue capacity exceeds messages size. Flushing of all pending messages to DMaaP MR Publisher Topic.
    12:35:28.138 [rcc-notification] DEBUG debugLogger - Force publishing messages to DMaaP MR Topic. Messages Size: 1
    12:35:28.138 [rcc-notification] DEBUG debugLogger - DMaaP MR Publisher Authentication is disabled as username or password is not present.
    12:35:28.167 [rcc-notification] DEBUG debugLogger - DMaaP MR Messages published successfully. DMaaP Response Code: 200. DMaaP Response Body: {
    "serverTimeMs": 0,
    "count": 1
    }, Number of Messages published: 1
    12:35:28.168 [rcc-notification] INFO metricsLogger - Message successfully published to DMaaP Topic-
    {"event":{"commonEventHeader":{"domain":"pnfRegistration","eventId":"registration_1556627728115","eventName":"pnfRegistration","eventType":"pnfRegistration","lastEpochMicrosec":1.556627728115E12,"priority":"Normal","reportingEntityName":"VESMapper","sequence":0,"sourceName":"Huawei-HWTCC01B7504","startEpochMicrosec":1.556627728115E12,"version":"4.0.1","vesEventListenerVersion":"7.0.1"},"pnfRegistrationFields":{"additionalFields":{"remote-id":"some-remote-id","attachment-point":"NE=167772165-5-1","cvlan":"1005","svlan":"100"},"lastServiceDate":"somestring","manufactureDate":"","modelNumber":" somestring","oamV4IpAddress":"somestring","oamV6IpAddress":"somestring","pnfRegistrationFieldsVersion":"2.0","serialNumber":"HWTCC01B7504","softwareVersion":"v1","unitFamily":"somestring","unitType":"somestring","vendorName":"Huawei"}}}