From 58ea3d24013292ac2180aa56878e45bf0e1c4865 Mon Sep 17 00:00:00 2001 From: vagrant Date: Tue, 3 Apr 2018 18:01:23 +0000 Subject: review k8s blueprint Change-Id: Idf5391125f3ff48b3084c0efcccafd70d0f030ff Signed-off-by: Vijay Venkatesh Kumar Issue-ID: DCAEGEN2-428 --- blueprints/k8s-tca.yaml-template | 113 ++++++++++++++++++++++++++++++--------- blueprints/k8s-ves.yaml-template | 20 +++---- 2 files changed, 96 insertions(+), 37 deletions(-) diff --git a/blueprints/k8s-tca.yaml-template b/blueprints/k8s-tca.yaml-template index faff504..5d36312 100644 --- a/blueprints/k8s-tca.yaml-template +++ b/blueprints/k8s-tca.yaml-template @@ -1,26 +1,21 @@ -# -*- indent-tabs-mode: nil -*- # vi: set expandtab: # -# ============LICENSE_START========================================== -# org.onap.dcae -# =================================================================== -# Copyright © 2018 AT&T Intellectual Property. All rights reserved. -# =================================================================== +# ============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 +# 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 +# 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============================================ -# -# ECOMP and OpenECOMP are trademarks -# and service marks of AT&T Intellectual Property. -# +# ============LICENSE_END====================================================== + tosca_definitions_version: cloudify_dsl_1_3 @@ -29,15 +24,24 @@ description: > imports: - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml - - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.0.0/k8splugin_types.yaml - + - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.0.0/k8splugin_types.yaml + - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/dcaepolicyplugin/2.2.1/dcaepolicyplugin_types.yaml inputs: - tca_image: + aaiEnrichmentHost: + type: string + enableAAIEnrichment: type: string - default: {{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.deployments.tca-cdap-container.tca-cdap-container:1.0.0 + default: false dmaap_host: type: string - default: dmaap.onap-message-router + default: dmaap.onap-message-router + enableRedisCaching: + type: string + redisHosts: + type: string + tag_version: + type: string + default: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.deployments.tca-cdap-container:1.0.0" consul_host: type: string default: consul-server.onap-consul @@ -50,20 +54,75 @@ inputs: cbs_port: type: string default: "10000" + policy_id: + type: string + default: "none" node_templates: - - # TCA - tca: - type: dcae.nodes.ContainerizedServiceComponent + tca_k8s: + type: dcae.nodes.ContainerizedServiceComponent + relationships: + - target: tca_policy + type: cloudify.relationships.depends_on properties: service_component_type: 'tca' - image: 'dcae.onap.org/dcae/tca:latest' application_config: {} docker_config: {} + image: + get_input: tag_version log_info: log_directory: "/opt/app/TCAAnalytics/logs" - + application_config: + app_config: + appDescription: DCAE Analytics Threshold Crossing Alert Application + appName: dcae-tca + 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: '3904' + publisherMaxBatchSize: '1' + publisherMaxRecoveryQueueSize: '100000' + publisherPollingInterval: '20000' + publisherProtocol: http + publisherTopicName: unauthenticated.DCAE_CL_OUTPUT + subscriberConsumerGroup: OpenDCAE-c12 + subscriberConsumerId: c12 + subscriberContentType: application/json + subscriberHostName: + get_input: dmaap_host + subscriberHostPort: '3904' + subscriberMessageLimit: '-1' + subscriberPollingInterval: '30000' + subscriberProtocol: http + subscriberTimeoutMS: '-1' + subscriberTopicName: unauthenticated.SEC_MEASUREMENT_OUTPUT + tca_policy_property: '{"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":"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.vNicUsageArray[*].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"}]}]}' + service_component_type: dcaegen2-analytics_tca interfaces: cloudify.interfaces.lifecycle: start: @@ -78,3 +137,9 @@ node_templates: CONFIG_BINDING_SERVICE: "config_binding_service" ports: - "11011:0" + tca_policy: + type: dcae.nodes.policy + properties: + policy_id: + get_input: policy_id + diff --git a/blueprints/k8s-ves.yaml-template b/blueprints/k8s-ves.yaml-template index 9ef11d4..021e21e 100644 --- a/blueprints/k8s-ves.yaml-template +++ b/blueprints/k8s-ves.yaml-template @@ -1,9 +1,8 @@ # -*- indent-tabs-mode: nil -*- # vi: set expandtab: # -# ============LICENSE_START==================================================== -# org.onap.dcae +# ============LICENSE_START====================================================s # ============================================================================= -# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved. +# 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. @@ -23,7 +22,7 @@ tosca_definitions_version: cloudify_dsl_1_3 imports: - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml" - - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.0.0/k8splugin_types.yaml + - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.0.0/k8splugin_types.yaml inputs: ves_other_publish_url: @@ -40,23 +39,20 @@ inputs: default: "http://10.0.11.1:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT" tag_version: type: string - default: {{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1-latest + default: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.2.0" external_port: type: string description: Kubernetes node port on which collector is exposed default: "0" - node_templates: - ves: interfaces: cloudify.interfaces.lifecycle: start: inputs: ports: - - concat: ["8080:", { get_input: external_port }] + - concat: ["8080:", { get_input: external_port }] properties: - always_pull_image: True application_config: collector.dmaap.streamid: fault=ves_fault|syslog=ves_syslog|heartbeat=ves_heartbeat|measurementsForVfScaling=ves_measurement|mobileFlow=ves_mobileflow|other=ves_other|stateChange=ves_statechange|thresholdCrossingAlert=ves_thresholdCrossingAlert|voiceQuality=ves_voicequality|sipSignaling=ves_sipsignaling collector.inputQueue.maxPending: "8096" @@ -89,11 +85,9 @@ node_templates: interval: 15s timeout: 1s type: http - image: + image: get_input: tag_version + service_component_type: dcaegen2-collectors-ves log_info: log_directory: "/opt/app/VESCollector/logs/ecomp" - - service_component_type: dcaegen2-collectors-ves - type: dcae.nodes.ContainerizedServiceComponentUsingDmaap -- cgit 1.2.3-korg