Add PM Mapper blueprint for Frankfurt 46/102846/3
authorJoeOLeary <joseph.o.leary@est.tech>
Tue, 3 Mar 2020 11:19:50 +0000 (11:19 +0000)
committerJoeOLeary <joseph.o.leary@est.tech>
Wed, 4 Mar 2020 10:13:18 +0000 (10:13 +0000)
Issue-ID: DCAEGEN2-2124
Change-Id: I60d4d7398b1a1151b9dae43d1480905d5186cfe6
Signed-off-by: JoeOLeary <joseph.o.leary@est.tech>
blueprints/k8s-pm-mapper.yaml [new file with mode: 0644]

diff --git a/blueprints/k8s-pm-mapper.yaml b/blueprints/k8s-pm-mapper.yaml
new file mode 100644 (file)
index 0000000..0e477b4
--- /dev/null
@@ -0,0 +1,201 @@
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2019-2020 Nordix Foundation.
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+
+tosca_definitions_version: cloudify_dsl_1_3
+
+imports:
+  - '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:
+  filter:
+    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
+  tag_version:
+    type: string
+    description: Docker image to be used
+    default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.3.1'
+  replicas:
+    type: integer
+    description: Number of instances
+    default: 1
+  feed_name:
+    type: string
+    default: 'bulk_pm_feed'
+  topic_name:
+    type: string
+    default: 'PERFORMANCE_MEASUREMENTS'
+  client_role:
+    type: string
+    description: Client role to request secure access to topic
+    default: 'org.onap.dcae.pmPublisher'
+  client_id:
+    type: string
+    description: Client id for given AAF client
+    default: 'dcae@dcae.onap.org'
+  client_password:
+    type: string
+    description: Password for AAF client provided as client_id
+    default: 'demo123456!'
+  dmaap_dr_username:
+    type: string
+    description: DMAAP Data Router user name
+    default: 'username'
+  dmaap_dr_password:
+    type: string
+    description: DMAAP Data Router password
+    default: 'password'
+  dcae_location:
+    type: string
+    description: DCAE location for the subscriber, used to set up routing
+    default: 'san-francisco'
+  pm_mapper_service_protocol:
+    type: string
+    description: PM Mapper protocol
+    default: 'https'
+  pm_mapper_service_port:
+    type: string
+    description: PM Mapper host port
+    default: '8443'
+  dmaap_dr_service_host:
+    type: string
+    description: DMAAP Data Router host address
+    default: 'dmaap-dr-node'
+  dmaap_dr_service_port:
+    type: string
+    description: DMAAP Data Router host port
+    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: 'message-router'
+  dmaap_mr_service_port:
+    type: string
+    description: DMAAP Message Router host port
+    default: '3905'
+  cpu_limit:
+    type: string
+    default: '1000m'
+  cpu_request:
+    type: string
+    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:
+        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:
+        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: <<pm-feed>>
+        streams_publishes:
+          dmaap_publisher:
+            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
+      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 }
+      log_info:
+        log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper'
+      tls_info:
+        cert_directory: '/opt/app/pm-mapper/etc/cert/'
+        use_tls: true