From 3c3c7ad09c02852cd0b4db03ecc9cc5c429cab08 Mon Sep 17 00:00:00 2001 From: Zlatko Murgoski Date: Thu, 9 May 2019 11:21:14 +0200 Subject: VES Collector - Event Ordering https://jira.onap.org/browse/DCAEGEN2-1483 Change-Id: I28b0e871ce570a3cf4c0d2e08d040b66eb6db3aa Issue-ID: DCAEGEN2-1483 Signed-off-by: Zlatko Murgoski --- dpo/blueprint/blueprint_ves.yaml | 387 +++++++++++++++++++++++---------------- 1 file changed, 229 insertions(+), 158 deletions(-) (limited to 'dpo/blueprint') diff --git a/dpo/blueprint/blueprint_ves.yaml b/dpo/blueprint/blueprint_ves.yaml index 2dbc5a66..43158f1c 100644 --- a/dpo/blueprint/blueprint_ves.yaml +++ b/dpo/blueprint/blueprint_ves.yaml @@ -15,169 +15,240 @@ # ============LICENSE_END========================================================= # # ECOMP is a trademark and service mark of AT&T Intellectual Property. -tosca_definitions_version: cloudify_dsl_1_3 - -description: > - This handcrafted blueprint will install the ves collector and provision the needed message router topics. This blueprint can be used to verify that a platform installation is operational and working correctly. +tosca_definitions_version: cloudify_dsl_1_3 imports: -- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml -- https://NEXUS_REPO_HOST:8443/repository/NEXUS_RAW/type_files/docker/2.2.0/node-type.yaml -- https://NEXUS_REPO_HOST:8443/repository/NEXUS_RAW/type_files/relationship/1.0.0/node-type.yaml -- http://NEXUS_REPO_HOST:8081/repository/NEXUS_RAW/type_files/dmaap/dmaap_mr.yaml - + - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.5/k8splugin_types.yaml + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/dcaepolicyplugin/2.3.0/dcaepolicyplugin_types.yaml inputs: - - service_id: - description: Unique id used for an instance of this DCAE service. Use deployment id - default: 'foobar' - location_id: - default: 'solutioning-central' - docker_host_override: - default: 'component_dockerhost' - - topic00_aaf_username: - topic00_aaf_password: - topic00_location: - default: mtc5 - topic00_client_role: - default: com.att.dcae.member - - topic01_aaf_username: - topic01_aaf_password: - topic01_location: - default: mtc5 - topic01_client_role: - default: com.att.dcae.member - - topic02_aaf_username: - topic02_aaf_password: - topic02_location: - default: mtc5 - topic02_client_role: - default: com.att.dcae.member - - topic03_aaf_username: - topic03_aaf_password: - topic03_location: - default: mtc5 - topic03_client_role: - default: com.att.dcae.member - + collector.dmaap.streamid: + type: string + default: "fault=ves-fault,ves-fault-secondary|syslog=ves-syslog,ves-syslog-secondary|heartbeat=ves-heartbeat,ves-heartbeat-secondary|measurementsForVfScaling=ves-measurement,ves-measurement-secondary|mobileFlow=ves-mobileflow,ves-mobileflow-secondary|other=ves-other,ves-other-secondary|stateChange=ves-statechange,ves-statechange-secondary|thresholdCrossingAlert=ves-thresholdCrossingAlert,ves-thresholdCrossingAlert-secondary|voiceQuality=ves-voicequality,ves-voicequality-secondary|sipSignaling=ves-sipsignaling,ves-sipsignaling-secondary|notification=ves-notification,ves-notification-secondary|pnfRegistration=ves-pnfRegistration,ves-pnfRegistration-secondary" + external_port: + type: string + description: Kubernetes node port on which collector is exposed + default: "30235" + header.authlist: + type: string + default: "sample1,$2a$10$pgjaxDzSuc6XVFEeqvxQ5u90DKJnM/u7TJTcinAlFJVaavXMWf/Zi|userid1,$2a$10$61gNubgJJl9lh3nvQvY9X.x4e5ETWJJ7ao7ZhJEvmfJigov26Z6uq|userid2,$2a$10$G52y/3uhuhWAMy.bx9Se8uzWinmbJa.dlm1LW6bYPdPkkywLDPLiy" + log_directory: + type: string + default: "/opt/app/VESCollector/logs" + replicas: + type: integer + description: number of instances + default: 1 + tag_version: + type: string + default: "nexus.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.3" + ves_fault_publish_url: + type: string + ves_fault_secondary_publish_url: + type: string + ves_heartbeat_publish_url: + type: string + ves_heartbeat_secondary_publish_url: + type: string + ves_measurement_publish_url: + type: string + ves_measurement_secondary_publish_url: + type: string + ves_mobileflow_publish_url: + type: string + ves_mobileflow_secondary_publish_url: + type: string + ves_notification_publish_url: + type: string + ves_notification_secondary_publish_url: + type: string + ves_other_publish_url: + type: string + ves_other_secondary_publish_url: + type: string + ves_pnfRegistration_publish_url: + type: string + ves_pnfRegistration_secondary_publish_url: + type: string + ves_sipsignaling_publish_url: + type: string + ves_sipsignaling_secondary_publish_url: + type: string + ves_statechange_publish_url: + type: string + ves_statechange_secondary_publish_url: + type: string + ves_syslog_publish_url: + type: string + ves_syslog_secondary_publish_url: + type: string + ves_thresholdCrossingAlert_publish_url: + type: string + ves_thresholdCrossingAlert_secondary_publish_url: + type: string + ves_voicequality_publish_url: + type: string + ves_voicequality_secondary_publish_url: + type: string node_templates: - - topic00: - type: dcae.nodes.Topic - properties: - topic_name: sec-fault-unsecure - - topic01: - type: dcae.nodes.Topic - properties: - topic_name: sec-measurement - - topic02: - type: dcae.nodes.Topic - properties: - topic_name: sec-measurement-unsecure - - topic03: - type: dcae.nodes.Topic - properties: - topic_name: sec-fault - - component00: - type: dcae.nodes.DockerContainerForComponentsUsingDmaap - properties: - service_component_type: - 'dcae-controller-ves-collector' - service_id: - { get_input: service_id } - location_id: - { get_input: location_id } - application_config: - collector.keystore.passwordfile: "/opt/app/dcae-certificate/.password" - collector.service.secure.port: -1 - tomcat.maxthreads: '200' - collector.keystore.file.location: "/opt/app/dcae-certificate/keystore.jks" - auth.method: "noAuth" - collector.service.port: 8080 - streams_publishes: - sec_fault_unsecure: - aaf_password: { get_input: topic00_aaf_password } - dmaap_info: "<>" - type: message_router - aaf_username: { get_input: topic00_aaf_username } - sec_measurement: - aaf_password: { get_input: topic01_aaf_password } - aaf_username: { get_input: topic01_aaf_username } - type: message_router - dmaap_info: "<>" - sec_measurement_unsecure: - aaf_password: { get_input: topic02_aaf_password } - aaf_username: { get_input: topic02_aaf_username } - dmaap_info: "<>" - type: message_router - sec_fault: - aaf_password: { get_input: topic03_aaf_password } - aaf_username: { get_input: topic03_aaf_username } - dmaap_info: "<>" - type: message_router - services_calls: {} - collector.schema.checkflag: 1 - collector.dmaap.streamid: fault=sec_fault,roadm-sec-to-hp|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert - header.authlist: userid1,base64encodepwd1|userid2,base64encodepwd2 - streams_subscribes: {} - collector.inputQueue.maxPending: 8096 - collector.schema.file: "./etc/CommonEventFormat_27.2.json" - image: - NEXUS_REPO_HOST:18443/dcae-dev-raw/dcae-controller-ves-collector:1.1.3 - docker_config: - healthcheck: - type: "http" - interval: "15s" - timeout: "1s" - endpoint: "/" - streams_publishes: - - name: topic00 - location: { get_input: topic00_location } - client_role: { get_input: topic00_client_role } - type: message_router - - name: topic01 - location: { get_input: topic01_location } - client_role: { get_input: topic01_client_role } - type: message_router - - name: topic02 - location: { get_input: topic02_location } - client_role: { get_input: topic02_client_role } - type: message_router - - name: topic03 - location: { get_input: topic03_location } - client_role: { get_input: topic03_client_role } - type: message_router - streams_subscribes: [] - relationships: - - type: dcae.relationships.component_contained_in - target: docker_host - - type: dcae.relationships.publish_events - target: topic00 - - type: dcae.relationships.publish_events - target: topic01 - - type: dcae.relationships.publish_events - target: topic02 - - type: dcae.relationships.publish_events - target: topic03 + dcae-ves-collector: + type: dcae.nodes.ContainerizedPlatformComponent interfaces: cloudify.interfaces.lifecycle: - stop: + start: inputs: - cleanup_image: - True - - docker_host: - type: dcae.nodes.SelectedDockerHost + ports: + - concat: ["8443:", {get_input: external_port }] properties: - location_id: - { get_input: location_id } - docker_host_override: - { get_input: docker_host_override } + application_config: + service_calls: [] + stream_publishes: + ves-fault: + dmaap_info: + topic_url: + get_input: ves_fault_publish_url + type: message router + ves-fault-secondary: + dmaap_info: + topic_url: + get_input: ves_fault_secondary_publish_url + type: message router + ves-heartbeat: + dmaap_info: + topic_url: + get_input: ves_heartbeat_publish_url + type: message router + ves-heartbeat-secondary: + dmaap_info: + topic_url: + get_input: ves_heartbeat_secondary_publish_url + type: message router + ves-measurement: + dmaap_info: + topic_url: + get_input: ves_measurement_publish_url + type: message router + ves-measurement-secondary: + dmaap_info: + topic_url: + get_input: ves_measurement_secondary_publish_url + type: message router + ves-mobileflow: + dmaap_info: + topic_url: + get_input: ves_mobileflow_publish_url + type: message router + ves-mobileflow-secondary: + dmaap_info: + topic_url: + get_input: ves_mobileflow_secondary_publish_url + type: message router + ves-notification: + dmaap_info: + topic_url: + get_input: ves_notification_publish_url + type: message router + ves-notification-secondary: + dmaap_info: + topic_url: + get_input: ves_notification_secondary_publish_url + type: message router + ves-other: + dmaap_info: + topic_url: + get_input: ves_other_publish_url + type: message router + ves-other-secondary: + dmaap_info: + topic_url: + get_input: ves_other_secondary_publish_url + type: message router + ves-pnfRegistration: + dmaap_info: + topic_url: + get_input: ves_pnfRegistration_publish_url + type: message router + ves-pnfRegistration-secondary: + dmaap_info: + topic_url: + get_input: ves_pnfRegistration_secondary_publish_url + type: message router + ves-sipsignaling: + dmaap_info: + topic_url: + get_input: ves_sipsignaling_publish_url + type: message router + ves-sipsignaling-secondary: + dmaap_info: + topic_url: + get_input: ves_sipsignaling_secondary_publish_url + type: message router + ves-statechange: + dmaap_info: + topic_url: + get_input: ves_statechange_publish_url + type: message router + ves-statechange-secondary: + dmaap_info: + topic_url: + get_input: ves_statechange_secondary_publish_url + type: message router + ves-syslog: + dmaap_info: + topic_url: + get_input: ves_syslog_publish_url + type: message router + ves-syslog-secondary: + dmaap_info: + topic_url: + get_input: ves_syslog_secondary_publish_url + type: message router + ves-thresholdCrossingAlert: + dmaap_info: + topic_url: + get_input: ves_thresholdCrossingAlert_publish_url + type: message router + ves-thresholdCrossingAlert-secondary: + dmaap_info: + topic_url: + get_input: ves_thresholdCrossingAlert_secondary_publish_url + type: message router + ves-voicequality: + dmaap_info: + topic_url: + get_input: ves_voicequality_publish_url + type: message router + ves-voicequality-secondary: + dmaap_info: + topic_url: + get_input: ves_voicequality_secondary_publish_url + type: message router + stream_subcribes: {} + auth.method: noAuth + collector.dmaap.streamid: + get_input: collector.dmaap.streamid + collector.keystore.file.location: /opt/app/dcae-certificate/keystore.jks + collector.keystore.passwordfile: /opt/app/dcae-certificate/.password + collector.schema.checkflag: 1 + collector.schema.file: {"v1":"./etc/CommonEventFormat_27.2.json","v2":"./etc/CommonEventFormat_27.2.json","v3":"./etc/CommonEventFormat_27.2.json","v4":"./etc/CommonEventFormat_27.2.json","v5":"./etc/CommonEventFormat_28.4.1.json","v7":"./etc/CommonEventFormat_30.json"} + collector.service.port: 8080 + collector.service.secure.port: 8443 + collector.truststore.file.location: /opt/app/dcae-certificate/truststore.jks + collector.truststore.passwordfile: /opt/app/dcae-certificate/.trustpassword + event.transform.flag: 1 + header.authlist: + get_input: header.authlist + tomcat.maxthreads: 200 + docker_config: + interval: 15s + timeout: 1s + type: https + endpoint: /healthcheck + image: + get_input: tag_version + log_info: + get_input: log_directory + dns_name: dcae-ves-collector + replicas: + get_input: replicas + name: dcae-ves-collector -- cgit 1.2.3-korg