From 8cae76ef66f1928b3d5afb9a67bb330c5cd513c4 Mon Sep 17 00:00:00 2001
From: YongchaoWu <yongchao.wu@est.tech>
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 <yongchao.wu@est.tech>
---
 .../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