1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (C) 2019-2021 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======================================================
#k8s-tca-gen2-v3.yaml
tosca_definitions_version: cloudify_dsl_1_3
imports:
- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
- plugin:k8splugin?version=>=3.4.3,<4.0.0
- plugin:clamppolicyplugin?version=1.1.1
inputs:
service_name:
type: string
default: 'dcae-tcagen2'
log_directory:
type: string
default: "/opt/logs/dcae-analytics-tca"
replicas:
type: integer
description: number of instances
default: 1
spring.data.mongodb.uri:
type: string
default: "mongodb://dcae-mongohost/dcae-tcagen2"
tag_version:
type: string
default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.1"
tca.aai.password:
type: string
default: "DCAE"
tca.aai.url:
type: string
default: "https://aai.onap.svc.cluster.local:8443"
tca.aai.username:
type: string
default: "DCAE"
tca_handle_in_subscribe_url:
type: string
default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT"
tca_handle_out_publish_url:
type: string
default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.DCAE_CL_OUTPUT"
tca_consumer_group:
type: string
default: "cg1"
policy_model_id:
type: string
default: "onap.policies.monitoring.tcagen2"
policy_id:
type: string
default: "onap.restart.tca"
cpu_limit:
type: string
default: "2000m"
cpu_request:
type: string
default: "1000m"
memory_limit:
type: string
default: "2048Mi"
memory_request:
type: string
default: "1024Mi"
node_templates:
docker.tca:
type: dcae.nodes.ContainerizedServiceComponent
relationships:
- target: tcagen2_policy
type: cloudify.relationships.depends_on
interfaces:
cloudify.interfaces.lifecycle:
start:
inputs:
ports:
- concat: ["9091:", "0"]
properties:
application_config:
service_calls: []
streams_publishes:
tca_handle_out:
dmaap_info:
topic_url:
get_input: tca_handle_out_publish_url
type: message_router
streams_subscribes:
tca_handle_in:
dmaap_info:
topic_url:
get_input: tca_handle_in_subscribe_url
type: message_router
spring.data.mongodb.uri:
get_input: spring.data.mongodb.uri
streams_subscribes.tca_handle_in.consumer_group:
get_input: tca_consumer_group
streams_subscribes.tca_handle_in.consumer_ids[0]: c0
streams_subscribes.tca_handle_in.consumer_ids[1]: c1
streams_subscribes.tca_handle_in.message_limit: 50000
streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000
streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000
streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000
streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000
streams_subscribes.tca_handle_in.polling.fixed_rate: 0
streams_subscribes.tca_handle_in.timeout: -1
tca.aai.enable_enrichment: true
tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf
tca.aai.node_query_path: aai/v11/search/nodes-query
tca.aai.password:
get_input: tca.aai.password
tca.aai.url:
get_input: tca.aai.url
tca.aai.username:
get_input: tca.aai.username
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
tca.enable_abatement: true
tca.enable_ecomp_logging: true
docker_config:
healthcheck:
endpoint: /actuator/health
interval: 30s
timeout: 10s
type: http
image:
get_input: tag_version
resource_config:
limits:
cpu:
get_input: cpu_limit
memory:
get_input: memory_limit
requests:
cpu:
get_input: cpu_request
memory:
get_input: memory_request
log_info:
log_directory:
get_input: log_directory
tls_info:
use_tls: true
cert_directory: '/etc/tca-gen2/ssl'
replicas:
get_input: replicas
service_component_type: { get_input: service_name }
tcagen2_policy:
type: clamp.nodes.policy
properties:
policy_id:
get_input: policy_id
policy_model_id:
get_input: policy_model_id
|