#
# ============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