Merge "Improve unit tests and sonar fixes"
[clamp.git] / src / test / resources / example / sdc / blueprint-dcae / tca_2.yaml
1 #
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
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
19 tosca_definitions_version: cloudify_dsl_1_3
20
21 description: >
22   This blueprint deploys/manages the TCA module as a Docker container
23
24 imports:
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
29 inputs:
30   aaiEnrichmentHost:
31     type: string
32     default: "aai.onap.svc.cluster.local"
33   aaiEnrichmentPort:
34     type: string
35     default: "8443"
36   enableAAIEnrichment:
37     type: string
38     default: true
39   dmaap_host:
40     type: string
41     default: message-router.onap
42   dmaap_port:
43     type: string
44     default: "3904"
45   enableRedisCaching:
46     type: string
47     default: false
48   redisHosts:
49     type: string
50     default: dcae-redis.onap.svc.cluster.local:6379
51   tag_version:
52     type: string
53     default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.1"
54   consul_host:
55     type: string
56     default: consul-server.onap
57   consul_port:
58     type: string
59     default: "8500"
60   cbs_host:
61     type: string
62     default: "config-binding-servicel"
63   cbs_port:
64     type: string
65     default: "10000"
66   policy_id:
67     type: string
68     default: "onap.restart.tca"
69   external_port:
70     type: string
71     description: Kubernetes node port on which CDAPgui is exposed
72     default: "32012"
73   policy_model_id:
74     type: string
75     default: "onap.policies.monitoring.cdap.tca.hi.lo.app"
76 node_templates:
77   tca_k8s:
78     type: dcae.nodes.ContainerizedServiceComponent
79     relationships:
80       - target: tca_policy
81         type: cloudify.relationships.depends_on
82     properties:
83         service_component_type: 'dcaegen2-analytics-tca'
84         application_config: {}
85         docker_config: {}
86         image:
87           get_input: tag_version
88         log_info:
89           log_directory: "/opt/app/TCAnalytics/logs"
90         application_config:
91             app_config:
92                 appDescription: DCAE Analytics Threshold Crossing Alert Application
93                 appName: dcae-tca
94                 tcaAlertsAbatementTableName: TCAAlertsAbatementTable
95                 tcaAlertsAbatementTableTTLSeconds: '1728000'
96                 tcaSubscriberOutputStreamName: TCASubscriberOutputStream
97                 tcaVESAlertsTableName: TCAVESAlertsTable
98                 tcaVESAlertsTableTTLSeconds: '1728000'
99                 tcaVESMessageStatusTableName: TCAVESMessageStatusTable
100                 tcaVESMessageStatusTableTTLSeconds: '86400'
101                 thresholdCalculatorFlowletInstances: '2'
102             app_preferences:
103                 aaiEnrichmentHost:
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
112                 enableAAIEnrichment:
113                     get_input: enableAAIEnrichment
114                 enableRedisCaching:
115                     get_input: enableRedisCaching
116                 redisHosts:
117                     get_input: redisHosts
118                 enableAlertCEFFormat: 'false'
119                 publisherContentType: application/json
120                 publisherHostName:
121                     get_input: dmaap_host
122                 publisherHostPort:
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
132                 subscriberHostName:
133                     get_input: dmaap_host
134                 subscriberHostPort:
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
143     interfaces:
144       cloudify.interfaces.lifecycle:
145         start:
146           inputs:
147             envs:
148                 DMAAPHOST:
149                     { get_input: dmaap_host }
150                 DMAAPPORT:
151                     { get_input: dmaap_port }
152                 DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT"
153                 DMAAPSUBTOPIC: "unauthenticated.VES_MEASUREMENT_OUTPUT"
154                 AAIHOST:
155                     { get_input: aaiEnrichmentHost }
156                 AAIPORT:
157                     { get_input: aaiEnrichmentPort }
158                 CONSUL_HOST:
159                     { get_input: consul_host }
160                 CONSUL_PORT:
161                     { get_input: consul_port }
162                 CBS_HOST:
163                     { get_input: cbs_host }
164                 CBS_PORT:
165                     { get_input: cbs_port }
166                 CONFIG_BINDING_SERVICE: "config_binding_service"
167             ports:
168               - concat: ["11011:", { get_input: external_port }]
169   tca_policy:
170     type: clamp.nodes.policy
171     properties:
172       policy_id:
173            get_input: policy_id
174       policy_model_id: "onap.policies.monitoring.cdap.tca.hi.lo.app"