[DCAEGEN2]Release dcaegen2-services-pm-mapper container
[dcaegen2/services/pm-mapper.git] / dpo / blueprints / k8s-pm-mapper.yaml
index 0944da3..5662e1d 100644 (file)
@@ -1,15 +1,15 @@
 #
 # ============LICENSE_START=======================================================
-#  Copyright (C) 2019 Nordix Foundation.
+#  Copyright (C) 2019-2020 Nordix Foundation.
 # ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
+# 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,
+# 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.
 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/R4/k8splugin/1.4.5/k8splugin_types.yaml"
+  - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
+  - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml'
+  - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml'
 
 inputs:
-  service_name:
+  filter:
     type: string
-    description: Name of the serice
-    default: "dcae-pm-mapper"
+    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId
+    default: "{ \"filters\":[] }"
+  enable_http:
+    type: boolean
+    description: Option to turn on HTTP connections
+    default: false
   tag_version:
     type: string
     description: Docker image to be used
-    default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest"
+    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest'
   replicas:
     type: integer
     description: Number of instances
     default: 1
-  aaf_username:
+  feed_name:
     type: string
-    description: AAF user name
-    default: "username"
-  aaf_password:
+    default: 'bulk_pm_feed'
+  topic_name:
     type: string
-    description: AAF password
-    default: "password"
+    default: 'PERFORMANCE_MEASUREMENTS'
   client_role:
     type: string
     description: Client role to request secure access to topic
-    default: "ves-publisher"
+    default: 'org.onap.dcae.pmPublisher'
   client_id:
     type: string
     description: Client id for given AAF client
-    default: "ves-pub-1"
+    default: 'dcae@dcae.onap.org'
+  client_password:
+    type: string
+    description: Password for AAF client provided as client_id
   dmaap_dr_username:
     type: string
     description: DMAAP Data Router user name
-    default: "username"
+    default: 'username'
   dmaap_dr_password:
     type: string
     description: DMAAP Data Router password
-    default: "password"
+    default: 'password'
   dcae_location:
     type: string
     description: DCAE location for the subscriber, used to set up routing
-    default: "location"
-  subscriber_id:
-    type: string
-    description: Subscriber id in Data Router
-    default: ""
+    default: 'san-francisco'
   pm_mapper_service_protocol:
     type: string
     description: PM Mapper protocol
-    default: "https"
+    default: 'https'
   pm_mapper_service_port:
     type: string
     description: PM Mapper host port
-    default: "8443"
-  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: "8080"
-  dmaap_dr_feed_id:
-    type: string
-    description: ID of the Data Router feed that the PM Mapper will subscribe to
-    default: "1"
+    default: '8443'
   dmaap_dr_service_host:
     type: string
     description: DMAAP Data Router host address
-    default: "dmaap-dr-node"
+    default: 'dmaap-dr-node'
   dmaap_dr_service_port:
     type: string
     description: DMAAP Data Router host port
-    default: "8443"
+    default: '8443'
+  dmaap_mr_service_protocol:
+    type: string
+    description: DMAAP Message Router protocol
+    default: 'https'
   dmaap_mr_service_host:
     type: string
     description: DMAAP Message Router host address
-    default: "dmaap-mr"
+    default: 'message-router'
   dmaap_mr_service_port:
     type: string
     description: DMAAP Message Router host port
-    default: "3905"
-  dmaap_mr_topic_name:
+    default: '3905'
+  cpu_limit:
     type: string
-    description: Name of Message Router topic events will be published to
-    default: "pm-mapper-ves"
-  filter:
+    default: '1000m'
+  cpu_request:
     type: string
-    description: PM Mapper filter on measInfo, measInfoId, measType, instanceId
-    default: "{ \"filters\":[]}"
-  enable_http:
-    type: boolean
-    description: Option to turn on HTTP connections
-    default: false
+    default: '1000m'
+  memory_limit:
+    type: string
+    default: '1024Mi'
+  memory_request:
+    type: string
+    default: '1024Mi'
 
 node_templates:
+  pm-feed:
+    type: ccsdk.nodes.Feed
+    properties:
+      feed_name: { get_input: feed_name }
+      useExisting: true
+
+  pm-topic:
+    type: ccsdk.nodes.Topic
+    properties:
+      topic_name: { get_input: topic_name }
+
   pm-mapper:
+    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
     interfaces:
       cloudify.interfaces.lifecycle:
-        start:
+        create:
           inputs:
             ports:
               - '8443:0'
               - '8081:0'
+
+    relationships:
+      - type: ccsdk.relationships.subscribe_to_files
+        target: pm-feed
+      - type: ccsdk.relationships.publish_events
+        target: pm-topic
+
     properties:
+      service_component_type: 'dcae-pm-mapper'
+      service_component_name_override: 'dcae-pm-mapper'
       application_config:
-        enable_http:
-          { get_input: enable_http }
-        trust_store_path: "/opt/app/pm-mapper/etc/cert/trust.jks.b64"
-        trust_store_pass_path: "/opt/app/pm-mapper/etc/cert/trust.pass"
-        key_store_path: "/opt/app/pm-mapper/etc/cert/cert.jks.b64"
-        key_store_pass_path: "/opt/app/pm-mapper/etc/cert/cert.pass"
-        buscontroller_feed_subscription_endpoint:
-          { concat: ["http://", { get_input: dmaap_buscontroller_service_host },
-                     ":", { get_input: dmaap_buscontroller_service_port}, "/webapi/dr_subs"]}
-        dmaap_dr_feed_id:
-          get_input: dmaap_dr_feed_id
-        dmaap_dr_delete_endpoint:
-          { concat: ["https://", { get_input: dmaap_dr_service_host },
-                     ":", { get_input: dmaap_dr_service_port}, "/delete"]}
-        pm-mapper-filter:
-          get_input: filter
+        trust_store_path: '/opt/app/pm-mapper/etc/cert/trust.jks'
+        trust_store_pass_path: '/opt/app/pm-mapper/etc/cert/trust.pass'
+        key_store_path: '/opt/app/pm-mapper/etc/cert/cert.jks'
+        key_store_pass_path: '/opt/app/pm-mapper/etc/cert/jks.pass'
+        pm-mapper-filter: { get_input: filter }
+        enable_http: { get_input: enable_http }
+        dmaap_dr_delete_endpoint: { concat: ['https://',{ get_input: dmaap_dr_service_host },':',{ get_input: dmaap_dr_service_port },'/delete'] }
+        aaf_identity: { get_input: client_id }
+        aaf_password: { get_input: client_password }
         streams_subscribes:
           dmaap_subscriber:
-            type:
-              "data_router"
-            dmaap_info:
-              username:
-                get_input: dmaap_dr_username
-              password:
-                get_input: dmaap_dr_password
-              location:
-                get_input: dcae_location
-              subscriber_id:
-                get_input: subscriber_id
-              delivery_url:
-                { concat: [{ get_input: pm_mapper_service_protocol },"://", { get_input: service_name }, ".onap.svc.cluster.local",
-                           ":", { get_input: pm_mapper_service_port }, "/delivery"]}
+            type: data_router
+            dmaap_info: <<pm-feed>>
         streams_publishes:
           dmaap_publisher:
-            aaf_username:
-              get_input: aaf_username
-            aaf_password:
-              get_input: aaf_password
-            type:
-              "message_router"
-            dmaap_info:
-              client_role:
-                get_input: client_role
-              client_id:
-                get_input: client_id
-              topic_url:
-                { concat: ["https://", { get_input: dmaap_mr_service_host },
-                           ":", { get_input: dmaap_mr_service_port }, "/events/", { get_input: dmaap_mr_topic_name }]}
-              location:
-                get_input: dcae_location
+            type: message_router
+            dmaap_info: <<pm-topic>>
+      resource_config:
+        limits:
+          cpu: { get_input: cpu_limit }
+          memory: { get_input: memory_limit }
+        requests:
+          cpu: { get_input: cpu_request }
+          memory: { get_input: memory_request }
       docker_config:
         healthcheck:
           endpoint: /healthcheck
           interval: 15s
           timeout: 1s
           type: https
-      image:
-        get_input: tag_version
+      streams_publishes:
+        - name: pm-topic
+          location: { get_input: dcae_location }
+          client_role: { get_input: client_role }
+          type: message-router
+      streams_subscribes:
+        - name: pm-feed
+          location: { get_input: dcae_location }
+          client_role: { get_input: client_role }
+          username: { get_input: dmaap_dr_username }
+          password: { get_input: dmaap_dr_password }
+          scheme: { get_input: pm_mapper_service_protocol }
+          route: delivery
+          delivery_url: ''
+          privileged: true
+          decompress: true
+          type: data_router
+      image: { get_input: tag_version }
       replicas: { get_input: replicas }
-      name: { get_input: service_name }
-      dns_name: { get_input: service_name }
       log_info:
-        log_directory: "/var/log/ONAP/dcaegen2/services/pm-mapper"
+        log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper'
       tls_info:
-        cert_directory: "/opt/app/pm-mapper/etc/cert/"
-        use_tls: true
-    type: dcae.nodes.ContainerizedPlatformComponent
\ No newline at end of file
+        cert_directory: '/opt/app/pm-mapper/etc/cert/'
+        use_tls: true
\ No newline at end of file