Versions Compared

Key

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

Table of Contents

Overview


The TCA-gen2 is docker based mS intended to replace TCA/cdap version, which was first delivered as part of ONAP R0. Functionality of TCA-gen2 is identical to that of TCA - where meaurement events are subscribed from DMAAP in VES structure, once events are recieved TCA-gen2 performs a comparison of an incoming performance metric(s) against both a high and low threshold defined and generates CL events when threshold are exceeded. When the original threshold defined are cleared, TCA-Gen2 will generate an ABATEMENT event to notify the downstream system on original problem being cleared.


Artifacts

Βlueprint (deployment artifact) :  https://git.onap.org/dcaegen2/platform/blueprints/tree/blueprints/k8s-tcagen2.yaml

...

Docker image                            :   nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.0.1



Deployment Prerequisite/dependencies

  • DCAE and DMaaP pods should be up and running.
  • MongoDB should be up and running


Code Block
languagetext
themeMidnight
titlemongodb
 root@onap2-nfs:~# kubectl get pods -n onap | grep mongo
 dev-dcae-mongo-0 1/1 Running 0 5d22h

...

Code Block
languagebash
themeMidnight
titleConfiguration
{
	"spring.data.mongodb.uri": "mongodb://dcae-mongohost/dcae-tcagen2",
	"streams_subscribes": {
		"tca_handle_in": {
			"type": "message_router",
			"dmaap_info": {
				"topic_url": "http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT/"
			}
		}
	},
	"tca.enable_ecomp_logging": true,
	"tca.enable_abatement": true,
	"tca.aai.password": "DCAE",
	"streams_subscribes.tca_handle_in.consumer_group": "cg1",
	"streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up": 10000,
	"tca.aai.node_query_path": "aai/v11/search/nodes-query",
	"streams_publishes": {
		"tca_handle_out": {
			"type": "message_router",
			"dmaap_info": {
				"topic_url": "http://message-router:3904/events/unauthenticated.TCAGEN2_OUTPUT/"
			}
		}
	},
	"streams_subscribes.tca_handle_in.consumer_ids[1]": "c1",
	"tca.aai.generic_vnf_path": "aai/v11/network/generic-vnfs/generic-vnf",
	"streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down": 30000,
	"streams_subscribes.tca_handle_in.polling.auto_adjusting.max": 60000,
	"tca.aai.username": "DCAE",
	"streams_subscribes.tca_handle_in.polling.auto_adjusting.min": 30000,
	"tca.aai.url": "http://aai.onap.svc.cluster.local",
	"streams_subscribes.tca_handle_in.timeout": -1,
	"tca.aai.enable_enrichment": true,
	"tca.policy": "{\"domain\":\"measurementsForVfScaling\",\"metricsPerEventName\":[{\"eventName\":\"vFirewallBroadcastPackets\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"LESS_OR_EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ONSET\"},{\"closedLoopControlName\":\"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":700,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"vLoadBalancer\",\"controlLoopSchemaType\":\"VM\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta\",\"thresholdValue\":300,\"direction\":\"GREATER_OR_EQUAL\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]},{\"eventName\":\"Measurement_vGMUX\",\"controlLoopSchemaType\":\"VNF\",\"policyScope\":\"DCAE\",\"policyName\":\"DCAE.Config_tca-hi-lo\",\"policyVersion\":\"v0.0.1\",\"thresholds\":[{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"EQUAL\",\"severity\":\"MAJOR\",\"closedLoopEventStatus\":\"ABATED\"},{\"closedLoopControlName\":\"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\",\"version\":\"1.0.2\",\"fieldPath\":\"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\",\"thresholdValue\":0,\"direction\":\"GREATER\",\"severity\":\"CRITICAL\",\"closedLoopEventStatus\":\"ONSET\"}]}]}",
	"tca.processing_batch_size": 10000,
	"streams_subscribes.tca_handle_in.polling.fixed_rate": 0,
	"streams_subscribes.tca_handle_in.message_limit": 50000,
	"service_calls": [],
	"streams_subscribes.tca_handle_in.consumer_ids[0]": "c0"
}



TCA Control Loop configuration


Code Block
themeMidnight
titleCL configuration
{
	"domain": "measurementsForVfScaling",
	"metricsPerEventName": [{
		"eventName": "vFirewallBroadcastPackets",
		"controlLoopSchemaType": "VM",
		"policyScope": "DCAE",
		"policyName": "DCAE.Config_tca-hi-lo",
		"policyVersion": "v0.0.1",
		"thresholds": [{
			"closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
			"version": "1.0.2",
			"fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
			"thresholdValue": 300,
			"direction": "LESS_OR_EQUAL",
			"severity": "MAJOR",
			"closedLoopEventStatus": "ONSET"
		}, {
			"closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
			"version": "1.0.2",
			"fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
			"thresholdValue": 700,
			"direction": "GREATER_OR_EQUAL",
			"severity": "CRITICAL",
			"closedLoopEventStatus": "ONSET"
		}]
	}, {
		"eventName": "vLoadBalancer",
		"controlLoopSchemaType": "VM",
		"policyScope": "DCAE",
		"policyName": "DCAE.Config_tca-hi-lo",
		"policyVersion": "v0.0.1",
		"thresholds": [{
			"closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
			"version": "1.0.2",
			"fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
			"thresholdValue": 300,
			"direction": "GREATER_OR_EQUAL",
			"severity": "CRITICAL",
			"closedLoopEventStatus": "ONSET"
		}]
	}, {
		"eventName": "Measurement_vGMUX",
		"controlLoopSchemaType": "VNF",
		"policyScope": "DCAE",
		"policyName": "DCAE.Config_tca-hi-lo",
		"policyVersion": "v0.0.1",
		"thresholds": [{
			"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
			"version": "1.0.2",
			"fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
			"thresholdValue": 0,
			"direction": "EQUAL",
			"severity": "MAJOR",
			"closedLoopEventStatus": "ABATED"
		}, {
			"closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
			"version": "1.0.2",
			"fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
			"thresholdValue": 0,
			"direction": "GREATER",
			"severity": "CRITICAL",
			"closedLoopEventStatus": "ONSET"
		}]
	}]
}


To simulate the event flow and trigger missing tca-gen2 event, we can simulate a VES event into tca-gen2 subscription topic (using curl).

...