From 8dd32c73de9d52524ab81f64f8a94ad5963bcf7d Mon Sep 17 00:00:00 2001 From: JoeOLeary Date: Tue, 3 Mar 2020 11:19:50 +0000 Subject: Add PM Mapper blueprint for Frankfurt Issue-ID: DCAEGEN2-2124 Change-Id: I60d4d7398b1a1151b9dae43d1480905d5186cfe6 Signed-off-by: JoeOLeary --- blueprints/k8s-pm-mapper.yaml | 201 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 blueprints/k8s-pm-mapper.yaml diff --git a/blueprints/k8s-pm-mapper.yaml b/blueprints/k8s-pm-mapper.yaml new file mode 100644 index 0000000..0e477b4 --- /dev/null +++ b/blueprints/k8s-pm-mapper.yaml @@ -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: <> + streams_publishes: + dmaap_publisher: + type: message_router + dmaap_info: <> + 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 -- cgit 1.2.3-korg