2 # ============LICENSE_START====================================================
3 # =============================================================================
4 # Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
5 # =============================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END======================================================
19 tosca_definitions_version: cloudify_dsl_1_3
22 This blueprint deploys/manages the TCA module as a Docker container
25 - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
26 - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.12/k8splugin_types.yaml
27 # - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml
28 - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/clamppolicyplugin/1.0.0/clamppolicyplugin_types.yaml
32 default: "aai.onap.svc.cluster.local"
41 default: message-router.onap
50 default: dcae-redis.onap.svc.cluster.local:6379
53 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1"
56 default: consul-server.onap
62 default: "config-binding-servicel"
68 default: "onap.restart.tca"
71 description: Kubernetes node port on which CDAPgui is exposed
75 default: "onap.policies.monitoring.cdap.tca.hi.lo.app"
78 type: dcae.nodes.ContainerizedServiceComponent
81 type: cloudify.relationships.depends_on
83 service_component_type: 'dcaegen2-analytics-tca'
84 application_config: {}
87 get_input: tag_version
89 log_directory: "/opt/app/TCAnalytics/logs"
92 appDescription: DCAE Analytics Threshold Crossing Alert Application
94 tcaAlertsAbatementTableName: TCAAlertsAbatementTable
95 tcaAlertsAbatementTableTTLSeconds: '1728000'
96 tcaSubscriberOutputStreamName: TCASubscriberOutputStream
97 tcaVESAlertsTableName: TCAVESAlertsTable
98 tcaVESAlertsTableTTLSeconds: '1728000'
99 tcaVESMessageStatusTableName: TCAVESMessageStatusTable
100 tcaVESMessageStatusTableTTLSeconds: '86400'
101 thresholdCalculatorFlowletInstances: '2'
104 get_input: aaiEnrichmentHost
105 aaiEnrichmentIgnoreSSLCertificateErrors: 'true'
106 aaiEnrichmentPortNumber: '8443'
107 aaiEnrichmentProtocol: https
108 aaiEnrichmentUserName: dcae@dcae.onap.org
109 aaiEnrichmentUserPassword: demo123456!
110 aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query
111 aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf
113 get_input: enableAAIEnrichment
115 get_input: enableRedisCaching
117 get_input: redisHosts
118 enableAlertCEFFormat: 'false'
119 publisherContentType: application/json
121 get_input: dmaap_host
123 get_input: dmaap_port
124 publisherMaxBatchSize: '1'
125 publisherMaxRecoveryQueueSize: '100000'
126 publisherPollingInterval: '20000'
127 publisherProtocol: http
128 publisherTopicName: unauthenticated.DCAE_CL_OUTPUT
129 subscriberConsumerGroup: OpenDCAE-clamp
130 subscriberConsumerId: c12
131 subscriberContentType: application/json
133 get_input: dmaap_host
135 get_input: dmaap_port
136 subscriberMessageLimit: '-1'
137 subscriberPollingInterval: '30000'
138 subscriberProtocol: http
139 subscriberTimeoutMS: '-1'
140 subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT
141 # tca_policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VNF","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"}]}]}'
142 service_component_type: dcaegen2-analytics_tca
144 cloudify.interfaces.lifecycle:
149 { get_input: dmaap_host }
151 { get_input: dmaap_port }
152 DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT"
153 DMAAPSUBTOPIC: "unauthenticated.VES_MEASUREMENT_OUTPUT"
155 { get_input: aaiEnrichmentHost }
157 { get_input: aaiEnrichmentPort }
159 { get_input: consul_host }
161 { get_input: consul_port }
163 { get_input: cbs_host }
165 { get_input: cbs_port }
166 CONFIG_BINDING_SERVICE: "config_binding_service"
168 - concat: ["11011:", { get_input: external_port }]
170 type: clamp.nodes.policy
174 policy_model_id: "onap.policies.monitoring.cdap.tca.hi.lo.app"