From 230d6b64f8513992d89b2c460bacfc4f3fe30488 Mon Sep 17 00:00:00 2001 From: vagrant Date: Wed, 21 Mar 2018 10:16:04 +0000 Subject: draft blueprints for new services This is yet to be validated as underlying services development not completed yet This will serve as base for creating K8S blueprint. Change-Id: Ib911aa1ecc420b733ab618ef543c825ae1579034 Signed-off-by: Vijay Venkatesh Kumar Issue-ID: DCAEGEN2-405 --- blueprints/heartbeat-service.yaml-template | 56 ++++++++++++ blueprints/prh-service.yaml-template | 55 ++++++++++++ blueprints/snmptrap-collector.yaml-template | 89 +++++++++++++++++++ blueprints/tcadocker-service.yaml-template | 133 ++++++++++++++++++++++++++++ 4 files changed, 333 insertions(+) create mode 100644 blueprints/heartbeat-service.yaml-template create mode 100644 blueprints/prh-service.yaml-template create mode 100644 blueprints/snmptrap-collector.yaml-template create mode 100644 blueprints/tcadocker-service.yaml-template diff --git a/blueprints/heartbeat-service.yaml-template b/blueprints/heartbeat-service.yaml-template new file mode 100644 index 0000000..9d8c59e --- /dev/null +++ b/blueprints/heartbeat-service.yaml-template @@ -0,0 +1,56 @@ +tosca_definitions_version: cloudify_dsl_1_3 +imports: +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dockerplugin/2/dockerplugin_types.yaml" +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationshipplugin/1/relationshipplugin_types.yaml" +inputs: + dcae_CL_publish_url: + type: string + default: "http://10.0.11.1:3904/events/unauthenticated.DCAE_CL_OUTPUT" + ves_heartbeat_url: + type: string + default: "http://10.0.11.1:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT" + docker_host_override: + type: string + default: "component_dockerhost" + dh_location_id: + type: string + default: "zone1" +node_templates: + docker_service_host: + type: dcae.nodes.SelectedDockerHost + properties: + docker_host_override: + get_input: docker_host_override + location_id: + get_input: dh_location_id + heartbeatService: + type: dcae.nodes.DockerContainerForComponentsUsingDmaap + properties: + application_config: + heartbeat_config: '{"vnfs":[{"heartbeatcountmissed":3, "heartbeatinterval": 60, "closedLoopControlName":"ControlLoopEvent1"},{"heartbeatcountmissed":3, "heartbeatinterval": 60, "closedLoopControlName":"ControlLoopEvent1"},{"heartbeatcountmissed":3, "heartbeatinterval": 60, "closedLoopControlName":"ControlLoopEvent1"}]}' + streams_publishes: + dcae_cl_out: + dmaap_info: + topic_url: + get_input: dcae_CL_publish_url + type: message_router + streams_subscribes: + heartbeat_input: + dmaap_info: + topic_url: + get_input: ves_heartbeat_url + type: message_router + docker_config: + healthcheck: + script: /app/bin/check_health.py + interval: 18s + timeout: 30s + type: docker + image: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.platform.heartbeat:2.0" + location_id: + get_input: dh_location_id + service_component_type: dcaegen2-services-heartbeat + relationships: + - target: docker_service_host + type: dcae.relationships.component_contained_in + diff --git a/blueprints/prh-service.yaml-template b/blueprints/prh-service.yaml-template new file mode 100644 index 0000000..51810f1 --- /dev/null +++ b/blueprints/prh-service.yaml-template @@ -0,0 +1,55 @@ +tosca_definitions_version: cloudify_dsl_1_3 +imports: +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dockerplugin/2/dockerplugin_types.yaml" +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationshipplugin/1/relationshipplugin_types.yaml" +inputs: + prh_publish_url: + type: string + default: "http://10.0.11.1:3904/events/unauthenticated.SO_OUTPUT" + prh_subcribe_url: + type: string + default: "http://10.0.11.1:3904/events/unauthenticated.SEC_OTHER_OUTPUT" + docker_host_override: + type: string + default: "component_dockerhost" + dh_location_id: + type: string + default: "zone1" +node_templates: + docker_service_host: + type: dcae.nodes.SelectedDockerHost + properties: + docker_host_override: + get_input: docker_host_override + location_id: + get_input: dh_location_id + heartbeatService: + type: dcae.nodes.DockerContainerForComponentsUsingDmaap + properties: + application_config: + streams_publishes: + dcae_cl_out: + dmaap_info: + topic_url: + get_input: prh_publish_url + type: message_router + streams_subscribes: + heartbeat_fault: + dmaap_info: + topic_url: + get_input: prh_subcribe_url + type: message_router + docker_config: + healthcheck: + script: /app/bin/check_health.py + interval: 18s + timeout: 30s + type: docker + image: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.services.prh:1.0" + location_id: + get_input: dh_location_id + service_component_type: dcaegen2-services-prh + relationships: + - target: docker_service_host + type: dcae.relationships.component_contained_in + diff --git a/blueprints/snmptrap-collector.yaml-template b/blueprints/snmptrap-collector.yaml-template new file mode 100644 index 0000000..062ac1d --- /dev/null +++ b/blueprints/snmptrap-collector.yaml-template @@ -0,0 +1,89 @@ +tosca_definitions_version: cloudify_dsl_1_3 +imports: +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dockerplugin/2/dockerplugin_types.yaml" +- "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationshipplugin/1/relationshipplugin_types.yaml" +inputs: + snmp_publish_url: + type: string + default: "http://10.0.11.1:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP" + docker_host_override: + type: string + default: "component_dockerhost" + dh_location_id: + type: string + default: "zone1" +node_templates: + docker_service_host: + type: dcae.nodes.SelectedDockerHost + properties: + docker_host_override: + get_input: docker_host_override + location_id: + get_input: dh_location_id + heartbeatService: + type: dcae.nodes.DockerContainerForComponentsUsingDmaap + properties: + application_config: + streams_publishes: + dcae_cl_out: + dmaap_info: + topic_url: + get_input: snmp_publish_url + type: message_router + snmptrap.version: "1.3.0" + snmptrap.title: "ONAP SNMP Trap Receiver" + protocols.transport: "udp" + protocols.ipv4_interface: "0.0.0.0" + protocols.ipv4_port: 162 + protocols.ipv6_interface: "::1" + protocols.ipv6_port: 162 + cache.dns_cache_ttl_seconds: 60 + publisher.http_timeout_milliseconds: 1500 + publisher.http_retries: 3 + publisher.http_milliseconds_between_retries: 750 + publisher.http_primary_publisher: "true" + publisher.http_peer_publisher: "unavailable" + publisher.max_traps_between_publishes: 10 + publisher.max_milliseconds_between_publishes: 10000 + files.runtime_base_dir: "/opt/app/snmptrap" + files.log_dir: "logs" + files.data_dir: "data" + files.pid_dir: "tmp" + files.arriving_traps_log: "snmptrapd_arriving_traps.log" + files.snmptrapd_diag: "snmptrapd_prog_diag.log" + files.traps_stats_log: "snmptrapd_stats.csv" + files.perm_status_file: "snmptrapd_status.log" + files.eelf_base_dir: "/opt/app/snmptrap/logs" + files.eelf_error: "error.log" + files.eelf_debug: "debug.log" + files.eelf_audit: "audit.log" + files.eelf_metrics: "metrics.log" + files.roll_frequency: "hour" + files.minimum_severity_to_log: 2 + trap_def.1.trap_oid" : ".1.3.6.1.4.1.74.2.46.12.1.1" + trap_def.1.trap_category: "DCAE-SNMP-TRAPS" + trap_def.2.trap_oid" : "*" + trap_def.2.trap_category: "DCAE-SNMP-TRAPS" + stormwatch.1.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.1" + stormwatch.1.low_water_rearm_per_minute" : "5" + stormwatch.1.high_water_arm_per_minute" : "100" + stormwatch.2.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.2" + stormwatch.2.low_water_rearm_per_minute" : "2" + stormwatch.2.high_water_arm_per_minute" : "200" + stormwatch.3.stormwatch_oid" : ".1.3.6.1.4.1.74.2.46.12.1.2" + stormwatch.3.low_water_rearm_per_minute" : "2" + stormwatch.3.high_water_arm_per_minute" : "200" + docker_config: + healthcheck: + script: /app/bin/check_health.py + interval: 18s + timeout: 30s + type: docker + image: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.collectors.snmptrap:1.3" + location_id: + get_input: dh_location_id + service_component_type: dcaegen2-collectors-snmptrap + relationships: + - target: docker_service_host + type: dcae.relationships.component_contained_in + diff --git a/blueprints/tcadocker-service.yaml-template b/blueprints/tcadocker-service.yaml-template new file mode 100644 index 0000000..25c1424 --- /dev/null +++ b/blueprints/tcadocker-service.yaml-template @@ -0,0 +1,133 @@ +# +# ============LICENSE_START==================================================== +# org.onap.dcae +# ============================================================================= +# Copyright (c) 2017 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 + + +imports: + - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml" + - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dockerplugin/2/dockerplugin_types.yaml" + - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/relationshipplugin/1/relationshipplugin_types.yaml" + +inputs: + aaiEnrichmentHost: + type: string + enableAAIEnrichment: + type: string + default: false + subscriberHostName: + type: string + publisherHostName: + type: string + enableRedisCaching: + type: string + redisHosts: + type: string + dh_override: + type: string + default: "component_dockerhost" + dh_location_id: + type: string + default: "zone1" +node_templates: + docker_service_host: + properties: + docker_host_override: + get_input: dh_override + location_id: + get_input: dh_location_id + type: dcae.nodes.SelectedDockerHost + + tca_docker: + relationships: + - type: dcae.relationships.component_contained_in + target: docker_service_host + type: dcae.nodes.DockerContainerForComponentsUsingDmaap + properties: + 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: publisherHostName + 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: subscriberHostName + subscriberHostPort: '3904' + subscriberMessageLimit: '-1' + subscriberPollingInterval: '30000' + subscriberProtocol: http + subscriberTimeoutMS: '-1' + subscriberTopicName: unauthenticated.SEC_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":"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"}]}]}' + artifact_name: dcae-analytics-cdap-tca + artifact_version: 2.0.0 + jar_url: https://nexus.onap.org/service/local/repositories/releases/content/org/onap/dcaegen2/analytics/tca/dcae-analytics-cdap-tca/2.0.0/dcae-analytics-cdap-tca-2.0.0.jar + namespace: cdap_tca_hi_lo + programs: + - program_id: TCAVESCollectorFlow + program_type: flows + - program_id: TCADMaaPMRSubscriberWorker + program_type: workers + - program_id: TCADMaaPMRPublisherWorker + program_type: workers + streamname: TCASubscriberOutputStream + service_component_type: dcaegen2-analytics_tca + interfaces: + cloudify.interfaces.lifecycle: + stop: + inputs: + cleanup_image: true + docker_config: + healthcheck: + endpoint: /healthcheck + interval: 15s + timeout: 1s + type: http + image: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.analytics:v1.1.0" + + -- cgit 1.2.3-korg