From 2c8ddf3501cfc5106d20b51ef077cc6d07ab65dc Mon Sep 17 00:00:00 2001 From: JoeOLeary Date: Fri, 19 Jul 2019 10:02:12 +0000 Subject: Add DMaaP plugin support - Update blueprint with DMaaP plugin support. - Update configuration with new DMaaP plugin format. - Move Configuration tests to correct package. - Add latest-staging Docker image tag to pom. - Change file endings in some files to LF. - Remove publishing to non authenticated topic. - Fix some tests which were not executing correctly. - Fix some Sonar smells. Issue-ID: DCAEGEN2-1581 Change-Id: I37fbb662419179e3fe9fb8bdf710d6a6e8f0308a Signed-off-by: JoeOLeary --- dpo/blueprints/k8s-pm-mapper.yaml | 173 +++++++++++++++++++------------------- 1 file changed, 88 insertions(+), 85 deletions(-) (limited to 'dpo/blueprints/k8s-pm-mapper.yaml') diff --git a/dpo/blueprints/k8s-pm-mapper.yaml b/dpo/blueprints/k8s-pm-mapper.yaml index c129357..9da07c1 100644 --- a/dpo/blueprints/k8s-pm-mapper.yaml +++ b/dpo/blueprints/k8s-pm-mapper.yaml @@ -2,14 +2,14 @@ # ============LICENSE_START======================================================= # Copyright (C) 2019 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. @@ -21,157 +21,160 @@ 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.13/k8splugin_types.yaml" + - 'http://www.getcloudify.org/spec/cloudify/3.4/types.yaml' + - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/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: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: "org.onap.dmaap.mr.PM_MAPPER.pub" + default: 'org.onap.dcae.pmPublisher' client_id: type: string description: Client id for given AAF client - default: "dcae@dcae.onap.org" + 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: "san-francisco" - subscriber_id: - type: string - description: Subscriber id in Data Router - default: "1" + 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" + 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" + default: 'https' dmaap_mr_service_host: type: string description: DMAAP Message Router host address - default: "message-router" + default: 'message-router' dmaap_mr_service_port: type: string description: DMAAP Message Router host port - default: "3905" - 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 + default: '3905' node_templates: + pm-feed: + type: ccsdk.nodes.Feed + properties: + feed_name: { get_input: feed_name } + + 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/jks.pass" - dmaap_dr_feed_name: "bulk_pm_feed" - 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.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/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 },"://dcae-pm-mapper:",{ get_input: pm_mapper_service_port },"/delivery"]} + type: data_router + dmaap_info: <> 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: [{ get_input: dmaap_mr_service_protocol },"://",{ get_input: dmaap_mr_service_host }, - ":",{ get_input: dmaap_mr_service_port },"/events/org.onap.dmaap.mr.PM_MAPPER"]} - location: - get_input: dcae_location + type: message_router + dmaap_info: <> 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: "dcae-pm-mapper" - dns_name: "dcae-pm-mapper" 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 -- cgit 1.2.3-korg