Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

(warning) Work in progress


Brief introduction

Definitions and abbreviations

AC = analytic component

CL = control loop

TCA

Holmes

ONAP artifacts descriptions

Describes ONAP artifacts used in various scenarios in this document.

DCAE blueprint

  • used in SDC to describe AC
  • TOSCA-based (YAML)
  • artifact name needs to end with event_proc.bp
    • example name: dcae_blueprint.event_proc_bp.yaml



 Example DCAE blueprint (TCA)

aaaaa



Control loop design and execution

Stages required to run control loop:

  1. AC blueprint design (SDC)
  2. AC blueprint distribution (SDC)
  3. AC/CL configuration (CLAMP)
  4. CL submit (CLAMP)
  5. CL deploy (CLAMP)

## ============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
description: >  This blueprint deploys/manages the TCA module as a Docker container
imports:  - 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.yamlinputs:  aaiEnrichmentHost:    type: string    default: "aai.onap.svc.cluster.local"  aaiEnrichmentPort:    type: string    default: "8443"  enableAAIEnrichment:    type: string    default: true  dmaap_host:    type: string    default: message-router  dmaap_port:    type: string    default: "3904"  enableRedisCaching:    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"  consul_host:    type: string    default: consul-server  consul_port:    type: string    default: "8500"  cbs_host:    type: string    default: config-binding-service  cbs_port:    type: string    default: "10000"  policy_id:    type: string    default: "none"  external_port:    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: {}        docker_config: {}        image:          get_input: tag_version        log_info:          log_directory: "/opt/app/TCAnalytics/logs"        application_config:            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\",   \"thresholds\": [    {     \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\",     \"version\": \"1.0.2\",     \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].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.vNicUsageArray[*].receivedTotalPacketsDelta\",     \"thresholdValue\": 700,     \"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\"    }   ]  } ]}'        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"                AAIHOST:                    { get_input: 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:                    { get_input: cbs_port }                CONFIG_BINDING_SERVICE: "config_binding_service"            ports:              - concat: ["11011:", { get_input: external_port }]  tca_policy:    type: dcae.nodes.policy    properties:      policy_id:           get_input: policy_id

  • No labels