VESCollector V3 spec updates 70/125170/3
authorVijay Venkatesh Kumar <vv770d@att.com>
Thu, 21 Oct 2021 01:28:35 +0000 (21:28 -0400)
committerVijay Venkatesh Kumar <vv770d@att.com>
Tue, 4 Jan 2022 22:01:10 +0000 (22:01 +0000)
Issue-ID: DCAEGEN2-2876
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Change-Id: I64582053065ad6e47ef3f42a8f35499826e316b7
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
dpo/spec/vescollector-componentspec-v3.json [new file with mode: 0644]

diff --git a/dpo/spec/vescollector-componentspec-v3.json b/dpo/spec/vescollector-componentspec-v3.json
new file mode 100644 (file)
index 0000000..8d4839e
--- /dev/null
@@ -0,0 +1,406 @@
+{
+    "self": {
+        "version": "1.10.2",
+        "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": "7.30.2",
+                "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.2",
+                "type": "message router",
+                "config_key": "ves-pnfRegistration"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-notification"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-perf3gpp"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-3gpp-fault-supervision"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-3gpp-provisioning"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-3gpp-heartbeat"
+            },
+            {
+                "format": "VES_specification",
+                "version": "7.30.2",
+                "type": "message router",
+                "config_key": "ves-3gpp-performance-assurance"
+            }
+        ]
+    },
+    "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.2"
+                },
+                "response": {
+                    "format": "ves.coll.response",
+                    "version": "1.0.0"
+                }
+            }
+        ]
+    },
+    "parameters": [{
+            "name": "streams_publishes",
+            "value": "{\"ves-3gpp-fault-supervision\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT\"},\"type\":\"message_router\"},\"ves-3gpp-heartbeat\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT\"},\"type\":\"message_router\"},\"ves-3gpp-performance-assurance\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT\"},\"type\":\"message_router\"},\"ves-3gpp-provisioning\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT\"},\"type\":\"message_router\"},\"ves-fault\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_FAULT_OUTPUT\"},\"type\":\"message_router\"},\"ves-heartbeat\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_HEARTBEAT_OUTPUT\"},\"type\":\"message_router\"},\"ves-measurement\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.VES_MEASUREMENT_OUTPUT\"},\"type\":\"message_router\"},\"ves-notification\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.VES_NOTIFICATION_OUTPUT\"},\"type\":\"message_router\"},\"ves-other\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.SEC_OTHER_OUTPUT\"},\"type\":\"message_router\"},\"ves-pnfRegistration\":{\"dmaap_info\":{\"topic_url\":\"http:\/\/message-router:3904\/events\/unauthenticated.VES_PNFREG_OUTPUT\"},\"type\":\"message_router\"}}",
+            "description": "standard http port collector will open for listening;",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        },
+        {
+            "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|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance",
+            "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.2.1_ONAP.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
+        },
+        {
+            "name": "collector.externalSchema.checkflag",
+            "value": 1,
+            "description": "Schema stndDefined validation flag. When enabled, collector will validate stndDefined fields in stndDefined domain events against mapped local schemas listed in file from property collector.externalSchema.mappingFileLocation.",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": true
+        },
+        {
+            "name": "collector.externalSchema.schemasLocation",
+            "value": "./etc/externalRepo/",
+            "description": "External schemas repository. Path to schemas storage directory.",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        },
+        {
+            "name": "collector.externalSchema.mappingFileLocation",
+            "value": "./etc/externalRepo/schema-map.json",
+            "description": "Path to JSON file containing mapping of externally located stndDefined schemas to local schema files.",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        },
+        {
+            "name": "event.externalSchema.schemaRefPath",
+            "value": "$.event.stndDefinedFields.schemaReference",
+            "description": "An internal path from validated JSON. Defines which field is taken as public schema reference, which is later mapped.",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        },
+        {
+            "name": "event.externalSchema.stndDefinedDataPath",
+            "value": "$.event.stndDefinedFields.data",
+            "description": "An internal path from validated JSON. Defines which field of event will be validated during stndDefined validation.",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        },
+        {
+            "name": "collector.description.api.version.location",
+            "value": "etc/api_version_description.json",
+            "description": "Path to the file containing description of api versions",
+            "sourced_at_deployment": false,
+            "policy_editable": false,
+            "designer_editable": false
+        }
+    ],
+    "auxilary": {
+        "helm": {
+            "service": {
+                "type": "NodePort",
+                "name": "dcae-ves-collector",
+                "has_internal_only_ports": true,
+                "ports": [{
+                    "name": "http",
+                    "port": 8443,
+                    "plain_port": 8080,
+                    "port_protocol": "http",
+                    "nodePort": 17,
+                    "useNodePortExt": true
+                }]
+            }
+        },
+        "healthcheck": {
+            "type": "HTTP",
+            "interval": "15s",
+            "timeout": "1s",
+            "port": 8080,
+            "endpoint": "/healthcheck"
+        },
+        "volumes": [{
+            "config_volume": {
+                "name": "dcae-external-repo-configmap-schema-map"
+            },
+            "container": {
+                "bind": "/opt/app/VESCollector/etc/externalRepo/"
+            }
+        }, {
+            "config_volume": {
+                "name": "dcae-external-repo-configmap-sa88-rel16"
+            },
+            "container": {
+                "bind": "/opt/app/VESCollector/etc/externalRepo/3gpp/rep/sa5/MnS/blob/SA88-Rel16/OpenAPI/"
+            }
+        }],
+        "ports": [
+            "8080:0",
+            "8443:0"
+        ],
+        "log_info": {
+            "log_directory": "/opt/app/VESCollector/logs/"
+        },
+        "tls_info": {
+            "cert_directory": "/opt/app/dcae-certificate/",
+            "use_tls": true,
+            "use_external_tls": false
+        }
+    },
+    "artifacts": [{
+        "type": "docker image",
+        "uri": "onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.2"
+    }]
+}