blob: 0d3ea04625adcc7df32a97a6aad603237f66b76f [file] [log] [blame]
Krysiak Adamcdfe48c2019-01-29 15:59:00 +01001#
2# ============LICENSE_START====================================================
3# =============================================================================
4# Copyright (c) 2018 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
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
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======================================================
18
19tosca_definitions_version: cloudify_dsl_1_3
20
21description: >
22 This blueprint deploys/manages the TCA module as a Docker container
23
24imports:
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.4/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
28inputs:
29 aaiEnrichmentHost:
30 type: string
31 default: "aai.onap.svc.cluster.local"
32 aaiEnrichmentPort:
33 type: string
34 default: "8443"
35 enableAAIEnrichment:
36 type: string
37 default: true
38 dmaap_host:
39 type: string
40 default: message-router
41 dmaap_port:
42 type: string
43 default: "3904"
44 enableRedisCaching:
45 type: string
46 default: false
47 redisHosts:
48 type: string
49 default: dcae-redis:6379
50 tag_version:
51 type: string
52 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0"
53 consul_host:
54 type: string
55 default: consul-server
56 consul_port:
57 type: string
58 default: "8500"
59 cbs_host:
60 type: string
61 default:
62 test:
63 test: test
64 cbs_port:
65 type: string
66 default: "10000"
67 policy_id:
68 type: string
69 default: "none"
70 external_port:
71 type: string
72 description: Kubernetes node port on which CDAPgui is exposed
73 default: "32010"
74
75node_templates:
76 tca_k8s:
77 type: dcae.nodes.ContainerizedServiceComponent
78 relationships:
79 - target: tca_policy
80 type: cloudify.relationships.depends_on
81 properties:
82 service_component_type: 'dcaegen2-analytics-tca'
83 docker_config: {}
84 image:
85 get_input: tag_version
86 log_info:
87 log_directory: "/opt/app/TCAnalytics/logs"
88 application_config:
89 app_config:
90 appDescription: DCAE Analytics Threshold Crossing Alert Application
91 appName: dcae-tca-ak-serv
92 tcaAlertsAbatementTableName: TCAAlertsAbatementTable
93 tcaAlertsAbatementTableTTLSeconds: '1728000'
94 tcaSubscriberOutputStreamName: TCASubscriberOutputStream
95 tcaVESAlertsTableName: TCAVESAlertsTable
96 tcaVESAlertsTableTTLSeconds: '1728000'
97 tcaVESMessageStatusTableName: TCAVESMessageStatusTable
98 tcaVESMessageStatusTableTTLSeconds: '86400'
99 thresholdCalculatorFlowletInstances: '2'
100 app_preferences:
101 aaiEnrichmentHost:
102 get_input: aaiEnrichmentHost
103 aaiEnrichmentIgnoreSSLCertificateErrors: 'true'
104 aaiEnrichmentPortNumber: '8443'
105 aaiEnrichmentProtocol: https
106 aaiEnrichmentUserName: DCAE
107 aaiEnrichmentUserPassword: DCAE
108 aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query
109 aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic-vnf
110 enableAAIEnrichment:
111 get_input: enableAAIEnrichment
112 enableRedisCaching:
113 get_input: enableRedisCaching
114 redisHosts:
115 get_input: redisHosts
116 enableAlertCEFFormat: 'false'
117 publisherContentType: application/json
118 publisherHostName:
119 get_input: dmaap_host
120 publisherHostPort:
121 get_input: dmaap_port
122 publisherMaxBatchSize: '1'
123 publisherMaxRecoveryQueueSize: '100000'
124 publisherPollingInterval: '20000'
125 publisherProtocol: http
126 publisherTopicName: unauthenticated.DCAE_CL_OUTPUT
127 subscriberConsumerGroup: OpenDCAE-c12
128 subscriberConsumerId: c12
129 subscriberContentType: application/json
130 subscriberHostName:
131 get_input: dmaap_host
132 subscriberHostPort:
133 get_input: dmaap_port
134 subscriberMessageLimit: '-1'
135 subscriberPollingInterval: '30000'
136 subscriberProtocol: http
137 subscriberTimeoutMS: '-1'
138 subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT
139 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"}]}]}'
140 interfaces:
141 cloudify.interfaces.lifecycle:
142 start:
143 inputs:
144 envs:
145 DMAAPHOST:
146 { get_input: dmaap_host }
147 DMAAPPORT:
148 { get_input: dmaap_port }
149 DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT"
150 DMAAPSUBTOPIC: "unauthenticated.VES_MEASUREMENT_OUTPUT"
151 AAIHOST:
152 { get_input: aaiEnrichmentHost }
153 AAIPORT:
154 { get_input: aaiEnrichmentPort }
155 CONSUL_HOST:
156 { get_input: consul_host }
157 CONSUL_PORT:
158 { get_input: consul_port }
159 CBS_HOST:
160 { get_input: cbs_host }
161 CBS_PORT:
162 { get_input: cbs_port }
163 CONFIG_BINDING_SERVICE: "config_binding_service"
164 ports:
165 - concat: ["11011:", { get_input: external_port }]
166 tca_policy:
167 type: dcae.nodes.policy
168 properties:
169 policy_id:
170 get_input: policy_id