Versions Compared

Key

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

...

a) Get the artifacts to test and onboard.

 

Let's fetch the artifacts/ spec files 


A sample Component DCAE-VES-Collector : https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/spec/vescollector-componentspec.json

A sample Data Format : https://git.onap.org/dcaegen2/collectors/ves/tree/dpo/data-formats/VES-4.27.2-dataformat.json


For the purpose of onboarding, a Sample Request body should be of the type -

{ "owner": "<some value>", "spec": <some json object> }

 where the json object inside the spec field can be a component spec json.

You would have to use a request body Request bodies of this type will be used in the onboarding requests you make using curl or the onboarding swagger interface.


The prepared Sample Request body for a component dcae-ves-collector looks like so

...

Expand


JSON Viewer
width1000
height1000
{

  "spec": {

    "self": {

      "version": "1.5.4",

      "name": "dcae-ves-collector",

      "description": "Collector for receiving VES events through restful interface",

      "component_type": "docker"

    },

    "streams": {

      "subscribes": [

       

      ],

      "publishes": [

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-fault"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-measurement"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-syslog"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-heartbeat"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-other"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-mobileflow"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-statechange"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-thresholdCrossingAlert"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-voicequality"

        },

        {

          "format": "VES_specification",

          "version": "5.28.4",

          "type": "message router",

          "config_key": "ves-sipsignaling"

        },

        {

          "format": "VES_specification",

          "version": "7.30.1",

          "type": "message router",

          "config_key": "ves-pnfRegistration"

        },

        {

          "format": "VES_specification",

          "version": "7.30.1",

          "type": "message router",

          "config_key": "ves-notification"

        },

        {

          "format": "VES_specification",

          "version": "7.30.1",

          "type": "message router",

          "config_key": "ves-perf3gpp"

        }

      ]

    },

    "services": {

      "calls": [

       

      ],

      "provides": [

        {

          "route": "/eventListener/v1",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "4.27.2"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        },

        {

          "route": "/eventListener/v2",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "4.27.2"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        },

        {

          "route": "/eventListener/v3",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "4.27.2"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        },

        {

          "route": "/eventListener/v4",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "4.27.2"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        },

        {

          "route": "/eventListener/v5",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "5.28.4"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        },

        {

          "route": "/eventListener/v7",

          "verb": "POST",

          "request": {

            "format": "VES_specification",

            "version": "7.30.1"

          },

          "response": {

            "format": "ves.coll.response",

            "version": "1.0.0"

          }

        }

      ]

    },

    "parameters": [

      {

        "name": "collector.service.port",

        "value": 8080,

        "description": "standard http port collector will open for listening;",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.service.secure.port",

        "value": 8443,

        "description": "secure http port collector will open for listening ",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": true

      },

      {

        "name": "collector.keystore.file.location",

        "value": "/opt/app/dcae-certificate/cert.jks",

        "description": "fs location of keystore file in vm",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.keystore.passwordfile",

        "value": "/opt/app/dcae-certificate/jks.pass",

        "description": "location of keystore password file in vm",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.truststore.file.location",

        "value": "/opt/app/dcae-certificate/trust.jks",

        "description": "fs location of truststore file in vm",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.truststore.passwordfile",

        "value": "/opt/app/dcae-certificate/trust.pass",

        "description": "location of truststore password file in vm",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.dmaap.streamid",

        "value": "fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurementsForVfScaling=ves-measurement|measurement=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|perf3gpp=ves-perf3gpp",

        "description": "domain-to-streamid mapping used by VESCollector to distributes events based on domain. Both primary and secondary config_key are included for resilency (multiple streamid can be included commma separated). The streamids MUST match to topic config_keys. For single site without resiliency deployment - configkeys with -secondary suffix can be removed",

        "sourced_at_deployment": true,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "auth.method",

        "value": "noAuth",

        "description": "Property to manage application mode, possible configurations: noAuth - default option - no security (http) , certOnly - auth by certificate (https), basicAuth - auth by basic auth username and password (https),certBasicAuth - auth by certificate and basic auth username / password (https),",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "header.authlist",

        "value": "sample1,$2a$10$pgjaxDzSuc6XVFEeqvxQ5u90DKJnM/u7TJTcinAlFJVaavXMWf/Zi|userid1,$2a$10$61gNubgJJl9lh3nvQvY9X.x4e5ETWJJ7ao7ZhJEvmfJigov26Z6uq|userid2,$2a$10$G52y/3uhuhWAMy.bx9Se8uzWinmbJa.dlm1LW6bYPdPkkywLDPLiy",

        "description": "List of id and base 64 encoded password.For each onboarding VNF - unique userid and password should be assigned and communicated to VNF owner. Password value should be base64 encoded in config here",

        "policy_editable": false,

        "sourced_at_deployment": true,

        "designer_editable": true

      },

      {

        "name": "collector.schema.checkflag",

        "value": 1,

        "description": "Schema check validation flag. When enabled, collector will validate input VES events against VES Schema defined on collector.schema.file ",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "collector.schema.file",

        "value": "{\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.1.1.json\"}",

        "description": "VES schema file name per version used for validation",

        "designer_editable": true,

        "sourced_at_deployment": false,

        "policy_editable": false

      },

      {

        "name": "event.transform.flag",

        "value": 1,

        "description": "flag to enable tranformation rules defined under eventTransform.json; this is applicable when event tranformation rules preset should be activated for transforming <VES5.4 events to 5.4",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      },

      {

        "name": "tomcat.maxthreads",

        "value": "200",

        "description": "Tomcat control for concurrent request",

        "sourced_at_deployment": false,

        "policy_editable": false,

        "designer_editable": false

      }

    ],

    "auxilary": {

      "healthcheck": {

        "type": "http",

        "interval": "15s",

        "timeout": "1s",

        "endpoint": "/healthcheck"

      },

      "volumes": [

        {

          "container": {

            "bind": "/opt/app/dcae-certificate"

          },

          "host": {

            "path": "/opt/app/dcae-certificate"

          }

        },

        {

          "container": {

            "bind": "/opt/app/VESCollector/logs"

          },

          "host": {

            "path": "/opt/logs/DCAE/VESCollector/logs"

          }

        },

        {

          "container": {

            "bind": "/opt/app/VESCollector/etc"

          },

          "host": {

            "path": "/opt/logs/DCAE/VESCollector/etc"

          }

        }

      ],

      "ports": [

        "8080:0",

        "8443:0"

      ],

      "log_info": {

        "log_directory": "/opt/app/VESCollector/logs/"

      },

      "tls_info": {

        "cert_directory": "/opt/app/dcae-certificate/",

        "use_tls": true

      }

    },

    "artifacts": [

      {

        "type": "docker image",

        "uri": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:latest"

      }

    ]

  },

  "owner": "onboarding_dev"

}



A The prepared Sample request body for a sample data format  looks like so -

...