# # ============LICENSE_START==================================================== # ============================================================================= # Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved. # ============================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============LICENSE_END====================================================== tosca_definitions_version: cloudify_dsl_1_3 description: > This blueprint deploys/manages the TCA module as a Docker container imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml inputs: aaiEnrichmentHost: type: string default: "aai.onap.svc.cluster.local" aaiEnrichmentPort: type: string default: "8443" enableAAIEnrichment: type: string default: "true" dmaap_host: type: string default: "message-router.onap.svc.cluster.local" dmaap_port: type: string default: "3904" enableRedisCaching: type: string default: "false" redisHosts: type: string default: dcae-redis.onap.svc.cluster.local:6379 tag_version: type: string default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.2.2" consul_host: type: string default: "consul-server.onap" consul_port: type: string default: "8500" cbs_host: type: string default: "config-binding-service" cbs_port: type: string default: "10000" policy_id: type: string default: "none" external_port: type: string description: Kubernetes node port on which CDAPgui is exposed default: "32010" node_templates: tca_k8s: type: dcae.nodes.ContainerizedPlatformComponent properties: name: 'dcae-tca-analytics' dns_name: 'dcae-tca-analytics' image: get_input: tag_version log_info: log_directory: "/opt/app/TCAnalytics/logs" resource_config: limits: cpu: '1' requests: cpu: '0.5' application_config: app_config: appDescription: DCAE Analytics Threshold Crossing Alert Application appName: dcae-tca tcaAlertsAbatementTableName: TCAAlertsAbatementTable tcaAlertsAbatementTableTTLSeconds: '1728000' tcaSubscriberOutputStreamName: TCASubscriberOutputStream tcaVESAlertsTableName: TCAVESAlertsTable tcaVESAlertsTableTTLSeconds: '1728000' tcaVESMessageStatusTableName: TCAVESMessageStatusTable tcaVESMessageStatusTableTTLSeconds: '86400' thresholdCalculatorFlowletInstances: '2' app_preferences: aaiEnrichmentHost: get_input: aaiEnrichmentHost aaiEnrichmentIgnoreSSLCertificateErrors: 'true' aaiEnrichmentPortNumber: '8443' aaiEnrichmentProtocol: https aaiEnrichmentUserName: dcae@dcae.onap.org aaiEnrichmentUserPassword: demo123456! aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf enableAAIEnrichment: get_input: enableAAIEnrichment enableRedisCaching: get_input: enableRedisCaching redisHosts: get_input: redisHosts enableAlertCEFFormat: 'false' publisherContentType: application/json publisherHostName: get_input: dmaap_host publisherHostPort: get_input: dmaap_port publisherMaxBatchSize: '1' publisherMaxRecoveryQueueSize: '100000' publisherPollingInterval: '20000' publisherProtocol: http publisherTopicName: unauthenticated.DCAE_CL_OUTPUT subscriberConsumerGroup: OpenDCAE-c12 subscriberConsumerId: c12 subscriberContentType: application/json subscriberHostName: get_input: dmaap_host subscriberHostPort: get_input: dmaap_port subscriberMessageLimit: '-1' subscriberPollingInterval: '30000' subscriberProtocol: http subscriberTimeoutMS: '-1' subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT 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"}]}]}' interfaces: cloudify.interfaces.lifecycle: start: inputs: envs: DMAAPHOST: { get_input: dmaap_host } DMAAPPORT: "3904" DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT" DMAAPSUBTOPIC: "unauthenticated.VES_MEASUREMENT_OUTPUT" AAIHOST: { get_input: aaiEnrichmentHost } AAIPORT: "8443" CONSUL_HOST: { get_input: consul_host } CONSUL_PORT: "8500" CBS_HOST: { get_input: cbs_host } CBS_PORT: "10000" CONFIG_BINDING_SERVICE: "config_binding_service" ports: - concat: ["11011:", "0"]