diff options
author | an4828 <nekrassov@att.com> | 2017-09-26 14:35:17 -0400 |
---|---|---|
committer | an4828 <nekrassov@att.com> | 2017-09-26 14:35:24 -0400 |
commit | 06044df56fb07f4b368888581752855595e7b147 (patch) | |
tree | 6400a3a6ede762887861a621b7fdbfadd25190d5 /dpo/tcaSpec.json | |
parent | 475cb8c867038acd73ff540173d54bac3947c610 (diff) |
TCA: Support for VES/A&AI enrichment
Change-Id: I75e0f8e034b9334e918304739e4d73dd12c1ff62
Signed-off-by: an4828 <nekrassov@att.com>
Issue-ID: DCAEGEN2-116
Diffstat (limited to 'dpo/tcaSpec.json')
-rw-r--r-- | dpo/tcaSpec.json | 530 |
1 files changed, 273 insertions, 257 deletions
diff --git a/dpo/tcaSpec.json b/dpo/tcaSpec.json index 9ffd687..c906395 100644 --- a/dpo/tcaSpec.json +++ b/dpo/tcaSpec.json @@ -1,310 +1,326 @@ -{ - "self": { - "name": "cdap.tca.hi.lo.app", - "version": "1.0.4", - "description": "cdap tca hi lo application", - "component_type": "cdap" - }, - "streams": { - "subscribes": [ - { - "config_key": "tca_handle_in", - "format": "VES_specification", - "version": "5.28.4", - "type": "message router" - } - ], - "publishes": [ - { - "config_key": "tca_handle_out", - "format": "TCA Alert Definition", - "version": "1.0.0", - "type": "message router" - } - ] - }, - "services": { - "calls": [], - "provides": [] - }, - "auxilary": { - "streamname": "TCASubscriberOutputStream", - "artifact_name": "dcae-analytics-cdap-tca", - "artifact_version": "2.0.0", - "namespace": "cdap_tca_hi_lo", - "programs": [ - { - "program_type": "flows", - "program_id": "TCAVESCollectorFlow" - }, - { - "program_type": "workers", - "program_id": "TCADMaaPMRSubscriberWorker" - }, - { - "program_type": "workers", - "program_id": "TCADMaaPMRPublisherWorker" - } - ] - }, - "artifacts": [ - { - "uri": "${nexusproxy}/repository/dcae-dev-raw/jar_files/dcae-analytics-tca-2.0.0.jar", - "type": "jar" - } - ], - "parameters": { - "app_config": [ - { - "name": "appName", - "description": "CDAP Application Name for TCA App", - "value": "dcae-tca" - }, - { - "name": "appDescription", - "description": "CDAP Application Description for TCA App", - "value": "DCAE Analytics Threshold Crossing Alert Application" +{
+ "self": {
+ "name": "cdap.tca.hi.lo.app",
+ "version": "1.0.5",
+ "description": "cdap tca hi lo application",
+ "component_type": "cdap"
+ },
+ "streams": {
+ "subscribes": [
+ {
+ "config_key": "tca_handle_in",
+ "format": "VES_specification",
+ "version": "5.28.4",
+ "type": "message router"
+ }
+ ],
+ "publishes": [
+ {
+ "config_key": "tca_handle_out",
+ "format": "TCA Alert Definition",
+ "version": "1.0.0",
+ "type": "message router"
+ }
+ ]
+ },
+ "services": {
+ "calls": [],
+ "provides": []
+ },
+ "auxilary": {
+ "streamname": "TCASubscriberOutputStream",
+ "artifact_name": "dcae-analytics-cdap-tca",
+ "artifact_version": "2.0.0",
+ "namespace": "cdap_tca_hi_lo",
+ "programs": [
+ {
+ "program_type": "flows",
+ "program_id": "TCAVESCollectorFlow"
+ },
+ {
+ "program_type": "workers",
+ "program_id": "TCADMaaPMRSubscriberWorker"
+ },
+ {
+ "program_type": "workers",
+ "program_id": "TCADMaaPMRPublisherWorker"
+ }
+ ]
+ },
+ "artifacts": [
+ {
+ "uri": "${nexusproxy}/repository/dcae-dev-raw/jar_files/dcae-analytics-tca-2.0.0.jar",
+ "type": "jar"
+ }
+ ],
+ "parameters": {
+ "app_config": [
+ {
+ "name": "appName",
+ "description": "CDAP Application Name for TCA App",
+ "value": "dcae-tca"
+ },
+ {
+ "name": "appDescription",
+ "description": "CDAP Application Description for TCA App",
+ "value": "DCAE Analytics Threshold Crossing Alert Application"
+ },
+ {
+ "name": "tcaSubscriberOutputStreamName",
+ "description": "Name of Stream where TCA DMaaP Subscriber pushes incoming messages to TCA App for processing",
+ "value": "TCASubscriberOutputStream"
+ },
+ {
+ "name": "thresholdCalculatorFlowletInstances",
+ "description": "Number of instances for Threshold Calculator",
+ "value": 2
+ },
+ {
+ "name": "tcaVESMessageStatusTableName",
+ "description": "TCA Message Status Table Name where status of each TCA message is stored",
+ "value": "TCAVESMessageStatusTable"
+ },
+ {
+ "name": "tcaVESMessageStatusTableTTLSeconds",
+ "description": "Time to Live for entries in Message Status Table",
+ "value": 86400
+ },
+ {
+ "name": "tcaVESAlertsTableName",
+ "description": "Table where TCA generated alerts are temporarily stored before published to DMaaP MR topic",
+ "value": "TCAVESAlertsTable"
+ },
+ {
+ "name": "tcaVESAlertsTableTTLSeconds",
+ "description": "Time to Live for entries in Alerts Table",
+ "value": 1728000
+ },
+ {
+ "name" : "tcaAlertsAbatementTableName",
+ "description" : "Table where information to determine sending of Abatement Alerts is stored",
+ "value" : "TCAAlertsAbatementTable"
+ },
+ {
+ "name" : "tcaAlertsAbatementTableTTLSeconds",
+ "description": "Time to Live for entries in Alerts Abatement Table",
+ "value" : 1728000
+ }
+ ],
+ "app_preferences": [
+ {
+ "name": "subscriberContentType",
+ "description": "Subscriber Content Type",
+ "value": "application/json"
+ },
+ {
+ "name": "subscriberConsumerId",
+ "description": "Subscriber Consumer Id",
+ "value": "c12"
+ },
+ {
+ "name": "subscriberConsumerGroup",
+ "description": "Subscriber Group Id",
+ "value": "OpenDCAE-c12"
+ },
+ {
+ "name": "subscriberTimeoutMS",
+ "description": "Subscriber timeout in milliseconds",
+ "value": -1
+ },
+ {
+ "name": "subscriberMessageLimit",
+ "description": "Subscriber max message fetch limit",
+ "value": -1
+ },
+ {
+ "name": "subscriberPollingInterval",
+ "description": "Subscriber Polling Interval in milliseconds",
+ "value": 30000
+ },
+ {
+ "name": "publisherContentType",
+ "description": "Publisher Content Type",
+ "value": "application/json"
+ },
+ {
+ "name": "publisherMaxBatchSize",
+ "description": "Publisher max batch size",
+ "value": 1
+ },
+ {
+ "name": "publisherMaxRecoveryQueueSize",
+ "description": "Publisher Max Recovery Queue Size",
+ "value": 100000
+ },
+ {
+ "name": "publisherPollingInterval",
+ "description": "Publisher Polling Interval in milliseconds",
+ "value": 20000
+ },
+ {
+ "name": "enableAlertCEFFormat",
+ "description": "Enable output alert to be in CEF Format",
+ "value": "false"
}, { - "name": "tcaSubscriberOutputStreamName", - "description": "Name of Stream where TCA DMaaP Subscriber pushes incoming messages to TCA App for processing", - "value": "TCASubscriberOutputStream" + "name": "enableAAIEnrichment", + "description": "Enable A&AI Enrichment of generated TCA Alerts", + "value": "true" }, { - "name": "thresholdCalculatorFlowletInstances", - "description": "Number of instances for Threshold Calculator", - "value": 2 + "name": "aaiEnrichmentHost", + "description": "A&AI Enrichment API Host name", + "value": "123.123.123.123" }, { - "name": "tcaVESMessageStatusTableName", - "description": "TCA Message Status Table Name where status of each TCA message is stored", - "value": "TCAVESMessageStatusTable" + "name": "aaiEnrichmentPortNumber", + "description": "A&AI Enrichment API Host port number", + "value": 8443 }, { - "name": "tcaVESMessageStatusTableTTLSeconds", - "description": "Time to Live for entries in Message Status Table", - "value": 86400 + "name": "aaiEnrichmentProtocol", + "description": "A&AI Enrichment API protocol", + "value": "https" }, { - "name": "tcaVESAlertsTableName", - "description": "Table where TCA generated alerts are temporarily stored before published to DMaaP MR topic", - "value": "TCAVESAlertsTable" + "name": "aaiEnrichmentUserName", + "description": "A&AI Enrichment API username", + "value": "DCAE" }, { - "name": "tcaVESAlertsTableTTLSeconds", - "description": "Time to Live for entries in Alerts Table", - "value": 1728000 + "name": "aaiEnrichmentUserPassword", + "description": "A&AI Enrichment API password", + "value": "DCAE" }, { - "name" : "tcaAlertsAbatementTableName", - "description" : "Table where information to determine sending of Abatement Alerts is stored", - "value" : "TCAAlertsAbatementTable" + "name": "aaiEnrichmentIgnoreSSLCertificateErrors", + "description": "A&AI Ignore SSL Certification Errors", + "value": "true" }, { - "name" : "tcaAlertsAbatementTableTTLSeconds", - "description": "Time to Live for entries in Alerts Abatement Table", - "value" : 1728000 - } - ], - "app_preferences": [ - { - "name": "subscriberContentType", - "description": "Subscriber Content Type", - "value": "application/json" + "name": "aaiVNFEnrichmentAPIPath", + "description": "A&AI VNF Enrichment API Path", + "value": "/aai/v11/network/generic-vnfs/generic-vnf" }, { - "name": "subscriberConsumerId", - "description": "Subscriber Consumer Id", - "value": "c12" + "name": "aaiVMEnrichmentAPIPath", + "description": "A&AI VM Enrichment API Path", + "value": "/aai/v11/search/nodes-query" }, { - "name": "subscriberConsumerGroup", - "description": "Subscriber Group Id", - "value": "OpenDCAE-c12" - }, - { - "name": "subscriberTimeoutMS", - "description": "Subscriber timeout in milliseconds", - "value": -1 - }, - { - "name": "subscriberMessageLimit", - "description": "Subscriber max message fetch limit", - "value": -1 - }, - { - "name": "subscriberPollingInterval", - "description": "Subscriber Polling Interval in milliseconds", - "value": 30000 - }, - { - "name": "publisherContentType", - "description": "Publisher Content Type", - "value": "application/json" - }, - { - "name": "publisherMaxBatchSize", - "description": "Publisher max batch size", - "value": 1 - }, - { - "name": "publisherMaxRecoveryQueueSize", - "description": "Publisher Max Recovery Queue Size", - "value": 100000 - }, - { - "name": "publisherPollingInterval", - "description": "Publisher Polling Interval in milliseconds", - "value": 20000 - }, - { - "name": "enableAlertCEFFormat", - "description": "", - "value": "false" - }, - { - "name": "tca_policy", - "description": "TCA Policy JSON", - "value": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"Mfvs_eNodeB_RANKPI\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"closedLoopEventStatus\":\"ABATED\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"CRITICAL\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}" - } - ], - "program_preferences": [], - "policy_schema": [ - { - "name": "domain", - "description": "Domain name to which TCA needs to be applied", - "type": "string", - "value": "measurementsForVfScaling", - "constraints": [ - { + "name": "aaiEnrichmentProxyURL", + "description": "A&AI Enrichment API Proxy URL", + "value": "http://username:password@proxyhost.com:8080" + },
+ {
+ "name": "tca_policy",
+ "description": "TCA Policy JSON",
+ "value": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"Mfvs_eNodeB_RANKPI\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vFirewall;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":4000,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":20000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"},{\"closedLoopControlName\":\"CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09\",\"closedLoopEventStatus\":\"ABATED\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"CRITICAL\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"resource=vLoadBalancer;type=configuration\",\"policyName\":\"configuration.dcae.microservice.tca.xml\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":500,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\"},{\"closedLoopControlName\":\"CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B\",\"closedLoopEventStatus\":\"ONSET\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated\",\"thresholdValue\":5000,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\"}]}]}",
+ "policy_editable": true, + "policy_schema": [{ + "name": "domain", + "description": "Domain name to which TCA needs to be applied", + "type": "string", + "value": "measurementsForVfScaling", + "constraints": [{ "equal": "measurementsForVfScaling" - } - ] - }, - { - "name": "metricsPerEventName", - "description": "Contains eventName and threshold details that need to be applied to given eventName", - "type": "list", - "entry_schema": [ - { + }] + }, { + "name": "metricsPerEventName", + "description": "Contains eventName and threshold details that need to be applied to given eventName", + "type": "list", + "entry_schema": [{ "name": "eventName", "description": "Event name to which thresholds need to be applied", "type": "string", "value": "" - }, - { + }, { "name": "controlLoopSchemaType", "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", "type": "string", "value": "", - "constraints": [ - { - "valid_value": [ - "VM", - "VNF" - ] - } - ] - }, - { + "constraints": [{ + "valid_values": ["VM", "VNF"] + }] + }, { "name": "policyScope", "description": "TCA Policy Scope", "type": "string", "value": "" - }, - { + }, { "name": "policyName", "description": "TCA Policy Scope Name", "type": "string", "value": "" - }, - { + }, { "name": "policyVersion", "description": "TCA Policy Scope Version", "type": "string", "value": "" - }, - { + }, { "name": "thresholds", "description": "Thresholds associated with eventName", "type": "list", - "entry_schema": [ - { - "name": "closedLoopControlName", - "description": "Closed Loop Control Name associated with the threshold", - "type": "string", - "value": "" - }, - { - "name": "version", - "description": "Version number associated with the threshold", - "type": "string", - "value": "" - }, - { - "name": "fieldPath", - "description": "Json field Path as per CEF message which needs to be analyzed for TCA", - "type": "string", - "value": "" - }, - { - "name": "thresholdValue", - "description": "Threshold value for the field Path inside CEF message", - "type": "number", - "value": "" - }, - { - "name": "direction", - "description": "Direction of the threshold", - "type": "string", - "value": "", - "constraints": [ - { - "valid_value": [ + "entry_schema": [{ + "name": "closedLoopControlName", + "description": "Closed Loop Control Name associated with the threshold", + "type": "string", + "value": "" + }, { + "name": "version", + "description": "Version number associated with the threshold", + "type": "string", + "value": "" + }, { + "name": "fieldPath", + "description": "Json field Path as per CEF message which needs to be analyzed for TCA", + "type": "string", + "value": "" + }, { + "name": "thresholdValue", + "description": "Threshold value for the field Path inside CEF message", + "type": "number", + "value": "" + }, { + "name": "direction", + "description": "Direction of the threshold", + "type": "string", + "value": "", + "constraints": [{ + "valid_values": [ "LESS", "LESS_OR_EQUAL", "GREATER", "GREATER_OR_EQUAL" - ] - } ] - }, - { - "name": "closedLoopEventStatus", - "description": "Closed Loop Event Status of the threshold", - "type": "string", - "value": "", - "constraints": [ - { - "valid_value": [ - "ONSET", - "ABATED" - ] - } + }] + }, { + "name": "closedLoopEventStatus", + "description": "Closed Loop Event Status of the threshold", + "type": "string", + "value": "", + "constraints": [{ + "valid_values": ["ONSET", "ABATED"] + }] + }, { + "name": "severity", + "description": "Threshold Event Severity", + "value": "", + "type": "string", + "constraints": [{ + "valid_values": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "NORMAL" ] - }, - { - "name": "severity", - "description": "Threshold Event Severity", - "value": "", - "type": "string", - "constraints": [ - { - "valid_value": [ - "CRITICAL", - "MAJOR", - "MINOR", - "WARNING", - "NORMAL" - ] - } - ] - } - ] - } - ] + }] + }] + }] + }] } - ] + ], + "program_preferences": [] } } - |