From 8cae76ef66f1928b3d5afb9a67bb330c5cd513c4 Mon Sep 17 00:00:00 2001 From: YongchaoWu Date: Tue, 4 Jun 2019 08:34:39 +0000 Subject: Blueprint alignment Blueprint is aligned with the dmaap topic configuration Change-Id: I4303724eed21047b87a8b7438970625b08811d22 Issue-ID: DCAEGEN2-1145 Signed-off-by: YongchaoWu --- .../dpo/blueprints/k8s-datafile.yaml | 119 +++++++++------------ datafile-app-server/dpo/policy.yaml | 27 +++-- .../dpo/spec/datafile-component-spec.json | 15 ++- datafile-app-server/dpo/spec/dmaap.json | 4 +- datafile-app-server/dpo/tosca_models/schema.yaml | 10 +- datafile-app-server/dpo/tosca_models/template.yaml | 29 +---- .../dpo/tosca_models/translate.yaml | 36 ++----- 7 files changed, 94 insertions(+), 146 deletions(-) diff --git a/datafile-app-server/dpo/blueprints/k8s-datafile.yaml b/datafile-app-server/dpo/blueprints/k8s-datafile.yaml index d1a2d4ea..1a855484 100644 --- a/datafile-app-server/dpo/blueprints/k8s-datafile.yaml +++ b/datafile-app-server/dpo/blueprints/k8s-datafile.yaml @@ -2,7 +2,7 @@ # # ============LICENSE_START==================================================== # ============================================================================= -# Copyright (C) 2019 Nordix Foundation. +# Copyright (c) 2018-2019 AT&T Intellectual Property, 2019 Nordix Foundation. 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. @@ -21,7 +21,8 @@ tosca_definitions_version: cloudify_dsl_1_3 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/R3/k8splugin/1.4.4/k8splugin_types.yaml" + - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R4/k8splugin/1.4.13/k8splugin_types.yaml" + - "https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml" inputs: dmaap_mr_host: @@ -32,100 +33,83 @@ inputs: type: integer description: dmaap messagerouter port default: 3904 - dmaap_mr_user: + dmaap_mr_protocol: type: string - description: dmaap messagerouter user name - default: "" - dmaap_mr_passwd: - type: string - description: dmaap messagerouter password - default: "" - dmaap_buscontroller_service_host: - type: string - description: DMAAP Bus Controller host address - default: "dmaap-bc.onap.svc.cluster.local" - dmaap_buscontroller_service_port: - type: string - description: DMAAP bus Controller host port - default: "6666" - dmaap_dr_feed_id: - type: string - description: ID of the data router feed that datafile will publish - default: "bulk_pm_feed" - dmaap_dr_host: - type: string - description: dmaap datarouter host - default: dmaap-dr-prov.onap.svc.cluster.local - dmaap_dr_port: - type: integer - description: dmaap datarouter port - default: 8443 - dmaap_dr_user: - type: string - description: dmaap datarouter user name - default: "dradmin" - dmaap_dr_passwd: - type: string - description: dmaap datarouter password - default: "dradmin" + description: dmaap messagerouter protocol + default: "http" tag_version: type: string - default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2-SNAPSHOT" + description: DFC image tag/version + default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0" replicas: type: integer description: number of instances default: 1 - host_port: - type: integer - description: port on Kubernetes host where datafile API will be exposed - default: 30223 - host_port_secure: - type: integer - description: secure port on Kubernetes host where datafile API will be exposed - default: 30224 secureEnableCert: type: boolean description: enable certificate base connection with PNF and DMaap default: false + feedName: + type: string + description: feed name for dmaap producerconfiguration + default: "bulk_pm_feed" + feedDescription: + type: string + default: "Feed for Bulk PM files" + changeIdentifier: + type: string + description: type of different files + default: "PM_MEAS_FILES" + node_templates: + bulk_pm_feed: + type: ccsdk.nodes.Feed + properties: + feed_name: { get_input: feedName } + feed_description: { get_input: feedDescription } + datafile-collector: + type: dcae.nodes.ContainerizedServiceComponentUsingDmaap + + relationships: + - type: ccsdk.relationships.publish_files + target: bulk_pm_feed + interfaces: cloudify.interfaces.lifecycle: start: inputs: ports: - - concat: ["8100:", { get_input: host_port }] - - concat: ["8433:", { get_input: host_port_secure}] + - concat: ["8100:0"] + - concat: ["8433:0"] + properties: + service_component_type: 'dcae-datafile' application_config: - dmaap.ftp.ftpesConfiguration.keyCert: "/config/dfc.jks" - dmaap.ftp.ftpesConfiguration.keyPassword: "secret" - dmaap.ftp.ftpesConfiguration.trustedCa: "/config/ftp.jks" - dmaap.ftp.ftpesConfiguration.trustedCaPassword: "secret" + dmaap.ftpesConfig.keyCert: "/opt/app/datafile/config/dfc.jks" + dmaap.ftpesConfig.keyPassword: "secret" + dmaap.ftpesConfig.trustedCa: "/opt/app/datafile/config/ftp.jks" + dmaap.ftpesConfig.trustedCaPassword: "secret" dmaap.security.trustStorePath: "/opt/app/datafile/etc/cert/trust.jks" dmaap.security.trustStorePasswordPath: "/opt/app/datafile/etc/cert/trust.pass" dmaap.security.keyStorePath: "/opt/app/datafile/etc/cert/key.p12" dmaap.security.keyStorePasswordPath: "/opt/app/datafile/etc/cert/key.pass" dmaap.security.enableDmaapCertAuth: { get_input: secureEnableCert } + dmaap.dmaapProducerConfiguration: + changeIdentifier: {get_input: changeIdentifier} + feedName: {get_input: feedName} streams_subscribes: dmaap_subscriber: type: "message_router" dmmap_info: topic_url: - "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/" - streams_publishes: - dmaap_publisher: - type: - "data_router" - dmaap_info: - username: - get_input: dmaap_dr_host - password: - get_input: dmaap_dr_passwd - publish_url: - { concat: ["http://", { get_input: dmaap_dr_user }, ".onap.svc.cluster.local", - ":",{get_input: dmaap_dr_port},"/publish"]} + { concat: [{ get_input: dmaap_mr_protocol },"://",{ get_input: dmaap_mr_host }, + ":",{ get_input: dmaap_mr_port },"/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"]} + streams_publishes: + - name: bulk_pm_feed + type: data_router + location: "loc00" docker_config: healthcheck: endpoint: /heartbeat @@ -135,11 +119,8 @@ node_templates: image: get_input: tag_version replicas: {get_input: replicas} - name: 'dcae-datafile-collector' - dns_name: 'dcae-datafile-collector' log_info: - log_directory: "/opt/app/datafile/logs" + log_directory: "/var/log/ONAP" tls_info: cert_directory: '/opt/app/datafile/etc/cert/' use_tls: true - type: dcae.nodes.ContainerizedPlatformComponent \ No newline at end of file diff --git a/datafile-app-server/dpo/policy.yaml b/datafile-app-server/dpo/policy.yaml index fdd5696a..8fc20d1d 100644 --- a/datafile-app-server/dpo/policy.yaml +++ b/datafile-app-server/dpo/policy.yaml @@ -1,16 +1,23 @@ tosca_definitions_version: tosca_simple_yaml_1_0_0 -policy_types: - onap.policies.Monitoring: - derived_from: tosca.policies.Root - description: a base policy type for all policies that govern monitoring provision - version: 1.0.0 - onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server: - version: 1.0.0 - derived_from: policy.nodes.Root +node_types: + policy.nodes.Root: + derived_from: tosca.nodes.Root properties: - buscontroller_feed_publishing_endpoint: + policyDescription: + required: false + type: string + policyName: + required: true + type: string + policyScope: + required: true type: string - description: DMAAP Bus Controller feed endpoint + policyVersion: + required: true + type: string + policy.nodes.dcaegen2.collectors.datafile.datafile-app-server: + derived_from: policy.nodes.Root + properties: datafile.policy: type: string description: datafile Policy JSON as string diff --git a/datafile-app-server/dpo/spec/datafile-component-spec.json b/datafile-app-server/dpo/spec/datafile-component-spec.json index 73d93fce..196e1b39 100644 --- a/datafile-app-server/dpo/spec/datafile-component-spec.json +++ b/datafile-app-server/dpo/spec/datafile-component-spec.json @@ -53,8 +53,19 @@ "required": true }, { - "name": "streams_consumer.datafile_consume_mr.message_router_topic", - "value": "/events/unauthenticated.VES_NOTIFICATION_OUTPUT", + "name": "dmaap.dmaapProducerConfiguration", + "value": [{"changeIdentifier": "PM_MEAS_FILES", "feedName": "bulk_pm_feed"}], + "description": "datafile collector consume VES event to message router topic ", + "designer_editable": true, + "sourced_at_deployment": false, + "policy_editable": false, + "type": "string", + "required": true + }, + { + "name": "streams_subscribes", + "value": {"dmaap_subscriber": {"dmmap_info": {"topic_url": + "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"}}}, "description": "datafile collector consume VES event to message router topic ", "designer_editable": true, "sourced_at_deployment": false, diff --git a/datafile-app-server/dpo/spec/dmaap.json b/datafile-app-server/dpo/spec/dmaap.json index c0658993..645e793d 100644 --- a/datafile-app-server/dpo/spec/dmaap.json +++ b/datafile-app-server/dpo/spec/dmaap.json @@ -2,13 +2,13 @@ "datafile_subscribe_mr": { "type": "message_router", "dmaap_info": { - "topic_url": "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" + "topic_url": "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12" } }, "datafile_publish_dr": { "type": "data_router", "dmaap_info": { - "publish_url": "/publish" + "publish_url": "" } } } diff --git a/datafile-app-server/dpo/tosca_models/schema.yaml b/datafile-app-server/dpo/tosca_models/schema.yaml index a553041d..588e5824 100644 --- a/datafile-app-server/dpo/tosca_models/schema.yaml +++ b/datafile-app-server/dpo/tosca_models/schema.yaml @@ -177,9 +177,6 @@ node_types: - stream_subscribe_0: capability: dcae.capabilities.dmmap.topic relationship: dcae.relationships.subscribe_to_events - - stream_publish_0: - capability: dcae.capabilities.dmmap.feed - relationship: dcae.relationships.publish_files - policy: capability: dcae.capabilities.policy relationship: cloudify.relationships.depends_on @@ -507,6 +504,8 @@ node_types: properties: datafile.policy: type: string + dmaap.dmaapProducerConfiguration: + type: string ftp.ftpesConfiguration.keyCert: type: string ftp.ftpesConfiguration.keyPassword: @@ -527,15 +526,12 @@ node_types: type: string service_name: type: string - streams_consumer.datafile_consume_mr.message_router_topic: + streams_subscribes: type: string requirements: - stream_subscribe_0: capability: dcae.capabilities.dmmap.topic relationship: dcae.relationships.subscribe_to_events - - stream_publish_0: - capability: dcae.capabilities.dmmap.feed - relationship: dcae.relationships.publish_files - policy: capability: dcae.capabilities.policy relationship: cloudify.relationships.depends_on diff --git a/datafile-app-server/dpo/tosca_models/template.yaml b/datafile-app-server/dpo/tosca_models/template.yaml index 9b18414a..e1813003 100644 --- a/datafile-app-server/dpo/tosca_models/template.yaml +++ b/datafile-app-server/dpo/tosca_models/template.yaml @@ -16,6 +16,7 @@ topology_template: type: tosca.dcae.nodes.dockerApp.dcaegen2.collectors.datafile.datafile-app-server properties: datafile.policy: '' + dmaap.dmaapProducerConfiguration: '[{''changeIdentifier'': ''PM_MEAS_FILES'', ''feedName'': ''bulk_pm_feed''}]' ftp.ftpesConfiguration.keyCert: config/dfc.jks ftp.ftpesConfiguration.keyPassword: secret ftp.ftpesConfiguration.trustedCa: config/ftp.jks @@ -31,36 +32,10 @@ topology_template: security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks service_name: datafile - streams_consumer.datafile_consume_mr.message_router_topic: /events/unauthenticated.VES_NOTIFICATION_OUTPUT + streams_subscribes: '{''dmaap_subscriber'': {''dmmap_info'': {''topic_url'': ''http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12''}}}' requirements: - stream_subscribe_0: topic0 - - stream_publish_0: feed1 - policy: policy_0 - feed1: - type: tosca.dcae.nodes.dmaap.feed - properties: - feed_name: '' - location: - get_property: - - SELF - - composition - - location_id - node_name: __GET_NODE_NAME__ - capabilities: - feed: - properties: - feed_name: - get_property: - - SELF - - feed_name - location: - get_property: - - SELF - - location - node_name: - get_property: - - SELF - - node_name policy_0: type: tosca.dcae.nodes.policy properties: diff --git a/datafile-app-server/dpo/tosca_models/translate.yaml b/datafile-app-server/dpo/tosca_models/translate.yaml index e7f44133..17c36aea 100644 --- a/datafile-app-server/dpo/tosca_models/translate.yaml +++ b/datafile-app-server/dpo/tosca_models/translate.yaml @@ -16,6 +16,8 @@ topology_template: default: 256 datafile.policy: type: string + dmaap.dmaapProducerConfiguration: + type: string ftp.ftpesConfiguration.keyCert: type: string ftp.ftpesConfiguration.keyPassword: @@ -51,7 +53,7 @@ topology_template: type: string service_name: type: string - streams_consumer.datafile_consume_mr.message_router_topic: + streams_subscribes: type: string substitution_mappings: node_type: tosca.dcae.nodes.dockerApp.dcaegen2.collectors.datafile.datafile-app-server @@ -63,9 +65,6 @@ topology_template: policy: - dcaegen2.collectors.datafile.datafile-app-server - policy - stream_publish_0: - - dcaegen2.collectors.datafile.datafile-app-server - - stream_publish_0 stream_subscribe_0: - dcaegen2.collectors.datafile.datafile-app-server - stream_subscribe_0 @@ -76,6 +75,8 @@ topology_template: application_config: datafile.policy: get_input: datafile.policy + dmaap.dmaapProducerConfiguration: + get_input: dmaap.dmaapProducerConfiguration ftp.ftpesConfiguration.keyCert: get_input: ftp.ftpesConfiguration.keyCert ftp.ftpesConfiguration.keyPassword: @@ -97,19 +98,7 @@ topology_template: service_name: get_input: service_name services_calls: {} - streams_consumer.datafile_consume_mr.message_router_topic: - get_input: streams_consumer.datafile_consume_mr.message_router_topic - streams_publishes: - datafile_publish_dr: - dmaap_info: - concat: - - '<<' - - get_property: - - SELF - - stream_publish_0 - - node_name - - '>>' - type: data_router + streams_publishes: {} streams_subscribes: datafile_subscribe_mr: aaf_password: @@ -141,18 +130,7 @@ topology_template: location_id: get_input: location_id service_component_type: dcaegen2.collectors.datafile.datafile-app-server - streams_publishes: - - location: - get_property: - - SELF - - stream_publish_0 - - location - name: - get_property: - - SELF - - stream_publish_0 - - node_name - type: data_router + streams_publishes: [] streams_subscribes: - client_role: get_property: -- cgit 1.2.3-korg