blob: e7d967a26a1e2e63c1839d142dc730f2bc43b18d [file] [log] [blame]
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (C) 2019-2020 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.2
- plugin:clamppolicyplugin?version=1.1.0
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.2.1"
tca.aai.password:
type: string
default: "DCAE"
tca.aai.url:
type: string
default: "http://aai.onap.svc.cluster.local"
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"
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
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