...
Expand |
---|
title | Example DCAE blueprint (TCA) |
---|
|
aaaaa |
Control loop design and execution
Stages required to run control loop:
- AC blueprint design (SDC)
- AC blueprint distribution (SDC)
- AC/CL configuration (CLAMP)
- CL submit (CLAMP)
- CL deploy (CLAMP)
...
Code Block |
---|
#
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (c) 2018 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====================================================== |
|
...
tosca_definitions_version: cloudify_dsl_1_3 |
|
...
...
>
This blueprint deploys/manages the TCA module as a Docker container |
|
...
...
- http://www.getcloudify.org/spec/cloudify/3.4/types. |
|
...
yaml
- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/k8splugin/1.1.0/k8splugin_types. |
|
...
yaml
- https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R2/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types. |
|
...
yaml
inputs:
aaiEnrichmentHost:
type: string
default: "aai.onap.svc.cluster.local" |
|
...
...
type: string
default: "8443" |
|
...
...
type: string
default: true
dmaap_host: |
|
...
type: string
default: message-router
dmaap_port: |
|
...
type: string
default: "3904" |
|
...
...
type: string
default: false
redisHosts:
type: string
default: dcae-redis:6379
tag_version:
type: string
default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.1.0" |
|
...
...
type: string
default: consul-server
consul_port: |
|
...
type: string
default: "8500" |
|
...
...
type: string
default: config-binding- |
|
...
...
type: string
default: "10000" |
|
...
...
type: string
default: "none" |
|
...
...
type: string
description: Kubernetes node port on which CDAPgui is exposed
default: "32011"
node_templates:
tca_k8s:
type: dcae.nodes.ContainerizedServiceComponent
relationships:
- target: tca_policy
type: cloudify.relationships.depends_ |
|
...
on
properties:
service_component_type: dcaegen2-analytics- |
|
...
tca
application_config: {} |
|
...
...
...
...
log_directory: "/opt/app/TCAnalytics/logs" |
|
...
...
app_config:
appDescription: DCAE Analytics Threshold Crossing Alert Application
appName: dcae-tca-ak-serv
tcaAlertsAbatementTableName: TCAAlertsAbatementTable
tcaAlertsAbatementTableTTLSeconds: '1728000'
tcaSubscriberOutputStreamName: TCASubscriberOutputStream
tcaVESAlertsTableName: TCAVESAlertsTable
tcaVESAlertsTableTTLSeconds: '1728000'
tcaVESMessageStatusTableName: TCAVESMessageStatusTable
tcaVESMessageStatusTableTTLSeconds: '86400'
thresholdCalculatorFlowletInstances: '2'
app_preferences:
aaiEnrichmentHost:
get_input: aaiEnrichmentHost
aaiEnrichmentIgnoreSSLCertificateErrors: 'true'
aaiEnrichmentPortNumber: '8443'
aaiEnrichmentProtocol: https
aaiEnrichmentUserName: DCAE
aaiEnrichmentUserPassword: DCAE
aaiVMEnrichmentAPIPath: /aai/v11/search/nodes-query
aaiVNFEnrichmentAPIPath: /aai/v11/network/generic-vnfs/generic- |
|
...
vnf
enableAAIEnrichment:
get_input: enableAAIEnrichment
enableRedisCaching:
get_input: enableRedisCaching
redisHosts:
get_input: redisHosts
enableAlertCEFFormat: 'false'
publisherContentType: application/json
publisherHostName:
get_input: dmaap_host
publisherHostPort:
get_input: dmaap_port
publisherMaxBatchSize: '1'
publisherMaxRecoveryQueueSize: '100000'
publisherPollingInterval: '20000'
publisherProtocol: http
publisherTopicName: unauthenticated.DCAE_CL_OUTPUT
subscriberConsumerGroup: clamp
subscriberConsumerId: c12
subscriberContentType: application/json
subscriberHostName:
get_input: dmaap_host
subscriberHostPort:
get_input: dmaap_port
subscriberMessageLimit: '-1'
subscriberPollingInterval: '30000'
subscriberProtocol: http
subscriberTimeoutMS: '-1'
subscriberTopicName: unauthenticated.VES_MEASUREMENT_OUTPUT
tca_policy: '{ \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [ { \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", |
|
...
\"policyVersion\": \"v0.0.1\", |
|
...
...
[ { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", |
|
...
...
\"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", |
|
...
...
\"direction\": \"LESS_OR_EQUAL\", |
|
...
...
\"closedLoopEventStatus\": \"ONSET\" |
|
...
...
{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", |
|
...
...
\"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", |
|
...
...
\"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\", |
|
...
...
[ { \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", |
|
...
...
\"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", |
|
...
...
\"direction\": \"EQUAL\", |
|
...
...
\"closedLoopEventStatus\": \"ABATED\" |
|
...
...
{ \"closedLoopControlName\": \"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", |
|
...
...
\"fieldPath\": \"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value\", |
|
...
...
\"direction\": \"GREATER\", |
|
...
\"severity\": \"CRITICAL\", |
|
...
\"closedLoopEventStatus\": \"ONSET\" |
|
...
} ] } ]}'
service_component_type: dcaegen2-analytics_ |
|
...
tca
interfaces:
cloudify.interfaces.lifecycle: |
|
...
start:
inputs:
envs:
DMAAPHOST:
{ get_input: dmaap_host }
DMAAPPORT:
{ get_input: dmaap_port }
DMAAPPUBTOPIC: "unauthenticated.DCAE_CL_OUTPUT" |
|
...
DMAAPSUBTOPIC: "unauthenticated.VES_MEASUREMENT_OUTPUT" |
|
...
...
aaiEnrichmentHost }
AAIPORT:
{ get_input: aaiEnrichmentPort |
|
...
}
CONSUL_HOST:
{ get_input: consul_host |
|
...
}
CONSUL_PORT:
{ get_input: consul_port |
|
...
}
CBS_HOST:
{ get_input: cbs_host |
|
...
...
cbs_port }
CONFIG_BINDING_SERVICE: "config_binding_service" |
|
...
ports:
- concat: ["11011:", { get_input: external_port }] |
|
...
...
...
policy
properties:
policy_id: |
|
...