[DCAE] Adapt DCAE blueprints to CFY DCAE K8S plugin version 3.x.x 83/111883/9
authorGrzegorz-Lis <grzegorz.lis@nokia.com>
Mon, 31 Aug 2020 12:56:18 +0000 (14:56 +0200)
committerKrzysztof Kuzmicki <krzysztof.kuzmicki@nokia.com>
Tue, 1 Sep 2020 20:56:02 +0000 (22:56 +0200)
Issue-ID: DCAEGEN2-2386
Signed-off-by: Krzysztof Kuźmicki <krzysztof.kuzmicki@nokia.com>
Change-Id: I7f95b0c4280812e7c1897d3b97857f6331814ffa

blueprints/k8s-datafile.yaml
blueprints/k8s-holmes-engine.yaml
blueprints/k8s-holmes-rules.yaml
blueprints/k8s-hv-ves.yaml
blueprints/k8s-pm-mapper.yaml
blueprints/k8s-prh.yaml
blueprints/k8s-tca.yaml
blueprints/k8s-tcagen2.yaml
blueprints/k8s-ves.yaml
pom.xml
version.properties

index 5ddb132..ddc5666 100644 (file)
@@ -6,7 +6,7 @@ tosca_definitions_version: cloudify_dsl_1_3
 description: Docker application to collect log file from PNF
 imports:
 - http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-- plugin:k8splugin?version=3.0.0
+- plugin:k8splugin?version=3.3.0
 - plugin:dmaap?version=1.5.0
 inputs:
   PM_MEAS_FILES_feed0_location:
@@ -59,7 +59,7 @@ inputs:
     default: false
 node_templates:
   datafile-collector:
-    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
+    type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
       cloudify.interfaces.lifecycle:
         start:
index b4238a0..8b4c3e0 100644 (file)
@@ -3,6 +3,7 @@
 # ============LICENSE_START====================================================
 # =============================================================================
 # Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.
 # =============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -20,7 +21,7 @@
 tosca_definitions_version: cloudify_dsl_1_3
 imports:
 - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-- plugin:k8splugin?version=2.0.0
+- plugin:k8splugin?version=3.3.0
 - plugin:dcaepolicyplugin?version=2.4.0
 - plugin:pgaas?version=1.3.0
 inputs:
@@ -44,6 +45,12 @@ inputs:
   he_image:
     type: string
     default: "nexus3.onap.org:10001/onap/holmes/engine-management:1.2.6"
+  service_component_type:
+    type: string
+    default: "holmes-engine-mgmt"
+  service_id:
+    type: string
+    default: "holmes-engine-mgmt"
 
 node_templates:
   pgaasvm:
@@ -55,7 +62,7 @@ node_templates:
       use_existing: true
 
   holmesengine:
-    type:  dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
       cloudify.interfaces.lifecycle:
         start:
@@ -72,8 +79,8 @@ node_templates:
            ports:
              - '9102:0'
     properties:
-      name: 'holmes-engine-mgmt'
-      dns_name: 'holmes-engine-mgmt'
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
       application_config:
         msb.hostname:
          get_input: msb_hostname
index b41f560..7df3ab6 100644 (file)
@@ -20,7 +20,7 @@
 tosca_definitions_version: cloudify_dsl_1_3
 imports:
 - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-- plugin:k8splugin?version=2.0.0
+- plugin:k8splugin?version=3.3.0
 - plugin:dcaepolicyplugin?version=2.4.0
 - plugin:pgaas?version=1.3.0
 inputs:
@@ -38,6 +38,12 @@ inputs:
   hr_image:
     type: string
     default: "nexus3.onap.org:10001/onap/holmes/rule-management:1.2.7"
+  service_component_type:
+    type: string
+    default: "holmes-rule-mgmt"
+  service_id:
+    type: string
+    default: "holmes-rule-mgmt"
 node_templates:
   pgaasvm:
     type: dcae.nodes.pgaas.database
@@ -46,7 +52,7 @@ node_templates:
       writerfqdn: { get_input: pgaas_cluster_name }
       name: { get_input: database_name }
   holmesrules:
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
       cloudify.interfaces.lifecycle:
         start:
@@ -64,8 +70,8 @@ node_templates:
              - '9101:0'
              - '9104:0'
     properties:
-      name: 'holmes-rule-mgmt'
-      dns_name: 'holmes-rule-mgmt'
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
       application_config:
         holmes.default.rule.volte.scenario1: "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b$$$package org.onap.holmes.droolsRule;\n\nimport org.onap.holmes.common.dmaap.DmaapService;\nimport org.onap.holmes.common.api.stat.VesAlarm;\nimport org.onap.holmes.common.aai.CorrelationUtil;\nimport org.onap.holmes.common.dmaap.entity.PolicyMsg;\nimport org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;\nimport org.onap.holmes.common.utils.DroolsLog;\n \n\nrule \"Relation_analysis_Rule\"\nsalience 200\nno-loop true\n    when\n        $root : VesAlarm(alarmIsCleared == 0,\n            $sourceId: sourceId, sourceId != null && !sourceId.equals(\"\"),\n\t\t\t$sourceName: sourceName, sourceName != null && !sourceName.equals(\"\"),\n\t\t\t$startEpochMicrosec: startEpochMicrosec,\n            eventName in (\"Fault_MultiCloud_VMFailure\"),\n            $eventId: eventId)\n        $child : VesAlarm( eventId != $eventId, parentId == null,\n            CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),\n            eventName in (\"Fault_MME_eNodeB out of service alarm\"),\n            startEpochMicrosec < $startEpochMicrosec + 60000 && startEpochMicrosec > $startEpochMicrosec - 60000 )\n    then\n\t\tDroolsLog.printInfo(\"===========================================================\");\n\t\tDroolsLog.printInfo(\"Relation_analysis_Rule: rootId=\" + $root.getEventId() + \", childId=\" + $child.getEventId());\n\t\t$child.setParentId($root.getEventId());\n\t\tupdate($child);\n\t\t\nend\n\nrule \"root_has_child_handle_Rule\"\nsalience 150\nno-loop true\n\twhen\n\t\t$root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)\n\t\t$child : VesAlarm(eventId != $eventId, parentId == $eventId)\n\tthen\n\t\tDroolsLog.printInfo(\"===========================================================\");\n\t\tDroolsLog.printInfo(\"root_has_child_handle_Rule: rootId=\" + $root.getEventId() + \", childId=\" + $child.getEventId());\n\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, \"org.onap.holmes.droolsRule\");\n        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n\t\t$root.setRootFlag(1);\n\t\tupdate($root);\nend\n\nrule \"root_no_child_handle_Rule\"\nsalience 100\nno-loop true\n    when\n        $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,\n            sourceId != null && !sourceId.equals(\"\"),\n\t\t\tsourceName != null && !sourceName.equals(\"\"),\n            eventName in (\"Fault_MultiCloud_VMFailure\"))\n    then\n\t\tDroolsLog.printInfo(\"===========================================================\");\n\t\tDroolsLog.printInfo(\"root_no_child_handle_Rule: rootId=\" + $root.getEventId());\n\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \"org.onap.holmes.droolsRule\");\n        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n\t\t$root.setRootFlag(1);\n\t\tupdate($root);\nend\n\nrule \"root_cleared_handle_Rule\"\nsalience 100\nno-loop true\n    when\n        $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)\n    then\n\t\tDroolsLog.printInfo(\"===========================================================\");\n\t\tDroolsLog.printInfo(\"root_cleared_handle_Rule: rootId=\" + $root.getEventId());\n\t\tDmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);\n\t\tPolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, \"org.onap.holmes.droolsRule\");\n        dmaapService.publishPolicyMsg(policyMsg, \"unauthenticated.DCAE_CL_OUTPUT\");\n\t\tretract($root);\nend\n\nrule \"child_handle_Rule\"\nsalience 100\nno-loop true\n    when\n        $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)\n    then\n\t\tDroolsLog.printInfo(\"===========================================================\");\n\t\tDroolsLog.printInfo(\"child_handle_Rule: childId=\" + $child.getEventId());\n\t\tretract($child);\nend"
         msb.hostname:
index 680ec93..d76922b 100644 (file)
@@ -22,15 +22,18 @@ tosca_definitions_version: cloudify_dsl_1_3
 
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=2.0.0
+  - plugin:k8splugin?version=3.3.0
 
 inputs:
   tag_version:
     type: string
     default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.4.0'
-  hv_ves_name:
+  service_component_type:
     type: string
     default: 'dcae-hv-ves-collector'
+  service_id:
+    type: string
+    default: "dcae-hv-ves-collector"
   replicas:
     type: integer
     description: number of instances
@@ -89,7 +92,7 @@ node_templates:
         start:
           inputs:
             envs:
-              JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: hv_ves_name }, '/logback.xml' ] }
+              JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: service_component_type }, '/logback.xml' ] }
     properties:
       application_config:
         logLevel: { get_input: log_level }
@@ -116,15 +119,15 @@ node_templates:
           script: "/opt/ves-hv-collector/healthcheck.sh"
           interval: 15s
           timeout: 2s
+        ports:
+          - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }
       image: { get_input: tag_version }
       replicas: { get_input: replicas }
-      name: { get_input: hv_ves_name }
-      dns_name: { get_input: hv_ves_name }
-      container_port: { get_input: container_port }
-      host_port: { get_input: host_port }
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
       log_info:
-        log_directory: { concat: [ '/var/log/ONAP/', { get_input: hv_ves_name } ] }
+        log_directory: { concat: [ '/var/log/ONAP/', { get_input: service_component_type } ] }
       tls_info:
         cert_directory: '/etc/ves-hv/ssl'
         use_tls: { get_input: use_tls }
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
index b74a50e..7e8fdb4 100644 (file)
@@ -1,6 +1,7 @@
 #
 # ============LICENSE_START=======================================================
 #  Copyright (C) 2019-2020 Nordix Foundation.
+#  Copyright (C) 2020 Nokia
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the 'License');
 # you may not use this file except in compliance with the License.
@@ -22,7 +23,7 @@ tosca_definitions_version: cloudify_dsl_1_3
 
 imports:
   - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
-  - plugin:k8splugin?version=3.0.0
+  - plugin:k8splugin?version=3.3.0
   - plugin:dmaap?version=1.5.0
 
 inputs:
@@ -126,7 +127,7 @@ node_templates:
       topic_name: { get_input: topic_name }
 
   pm-mapper:
-    type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
+    type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
       cloudify.interfaces.lifecycle:
         create:
index 5e924a7..f31cf8f 100644 (file)
@@ -3,6 +3,7 @@
 # ============LICENSE_START====================================================
 # =============================================================================
 # Copyright (c) 2018-2020 AT&T, NOKIA
+# Copyright (c) 2020 NOKIA
 # =============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -21,7 +22,7 @@ tosca_definitions_version: cloudify_dsl_1_3
 
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=2.0.0
+  - plugin:k8splugin?version=3.3.0
 inputs:
   pnfUrl:
     type: string
@@ -70,6 +71,16 @@ inputs:
   host_port:
     description: port on Kubernetes host where PRH API will be exposed
     default: 0
+  container_port:
+    type: integer
+    description: Network port that the platform service exposes in the container
+    default: 8100
+  service_component_type:
+    type: string
+    default: "dcae-prh"
+  service_id:
+    type: string
+    default: "dcae-prh"
   secureEnableCert:
     type: boolean
     description: enable certificate base connection with AAI and DMaap
@@ -127,26 +138,23 @@ node_templates:
               type: "message_router"
               dmaap_info:
                 topic_url: { get_input: dmaap_vesPnfRegOutput_url }
-
-      host_port:
-          { get_input: host_port }
-      container_port:
-        8100
       docker_config:
         healthcheck:
           endpoint: /heartbeat
           interval: 15s
           timeout: 1s
           type: http
+        ports:
+          - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }
       image:
         { get_input: tag_version }
       replicas: {get_input: replicas}
-      name: 'dcae-prh'
-      dns_name: 'dcae-prh'
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
       log_info:
         log_directory: "/opt/app/prh/logs"
       tls_info:
         cert_directory: '/opt/app/prh/etc/cert'
         use_tls: true
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
 
index 1be3dd6..627aee4 100644 (file)
@@ -2,6 +2,7 @@
 # ============LICENSE_START====================================================
 # =============================================================================
 # Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.
 # =============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -23,7 +24,7 @@ description: >
 
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=2.0.0
+  - plugin:k8splugin?version=3.3.0
 inputs:
   aaiEnrichmentHost:
     type: string
@@ -68,13 +69,19 @@ inputs:
     type: string
     description: Kubernetes node port on which CDAPgui is exposed
     default: "32010"
+  service_component_type:
+    type: string
+    default: "dcae-tca-analytics"
+  service_id:
+    type: string
+    default: "dcae-tca-analytics"
 
 node_templates:
   tca_k8s:
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
     properties:
-        name: 'dcae-tca-analytics'
-        dns_name: 'dcae-tca-analytics'
+        service_component_type: { get_input: service_component_type }
+        service_id: { get_input: service_id }
         image:
           get_input: tag_version
         log_info:
index 0153550..309ae6f 100644 (file)
 tosca_definitions_version: cloudify_dsl_1_3
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=2.0.0
+  - plugin:k8splugin?version=3.3.0
 inputs:
-  service_name:
+  service_component_type:
     type: string
-    default: 'dcae-tcagen2'
+    default: "dcae-tcagen2"
+  service_id:
+    type: string
+    default: "dcae-tcagen2"
   log_directory:
     type: string
     default: "/opt/logs/dcae-analytics-tca"
@@ -57,7 +60,7 @@ inputs:
 
 node_templates:
   docker.tca:
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
       cloudify.interfaces.lifecycle:
         start:
@@ -122,4 +125,5 @@ node_templates:
       dns_name: { get_input: service_name }
       replicas:
         get_input: replicas
-      name: { get_input: service_name }
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
index 10beb2f..ace8c1a 100644 (file)
@@ -22,7 +22,7 @@ tosca_definitions_version: cloudify_dsl_1_3
 
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
-  - plugin:k8splugin?version=2.0.0
+  - plugin:k8splugin?version=3.3.0
 
 inputs:
   ves_other_publish_url:
@@ -71,6 +71,12 @@ inputs:
   dns_component_name:
     type: string
     default: "dcae-ves-collector"
+  service_component_type:
+    type: string
+    default: "dcae-ves-collector"
+  service_id:
+    type: string
+    default: "dcae-ves-collector"
   enable_tls:
     type: boolean
     default: false
@@ -156,14 +162,12 @@ node_templates:
       image:
         get_input: tag_version
       replicas: {get_input: replicas}
-      name:
-        get_input: component_name
-      dns_name:
-        get_input: dns_component_name
+      service_component_type: { get_input: service_component_type }
+      service_id: { get_input: service_id }
       log_info:
         log_directory: "/opt/app/VESCollector/logs"
       tls_info:
         cert_directory: '/opt/app/dcae-certificate/'
         use_tls:
           get_input: enable_tls
-    type: dcae.nodes.ContainerizedPlatformComponent
+    type: dcae.nodes.ContainerizedServiceComponent
diff --git a/pom.xml b/pom.xml
index 22d0197..2a86e10 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -2,6 +2,7 @@
 <!--
 ================================================================================
 Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
+Copyright (c) 2020 Nokia. All rights reserved.
 ================================================================================
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
@@ -28,7 +29,7 @@ ECOMP is a trademark and service mark of AT&T Intellectual Property.
   <groupId>org.onap.dcaegen2.deployments</groupId>
   <artifactId>k8s-bootstrap-container</artifactId>
   <name>dcaegen2-deployments-k8s-bootstrap-container</name>
-  <version>2.1.0-SNAPSHOT</version>
+  <version>2.1.1-SNAPSHOT</version>
   <url>http://maven.apache.org</url>
   <packaging>pom</packaging>
 
index 91dd40e..607bf2c 100644 (file)
@@ -1,6 +1,6 @@
 major=2\r
 minor=1\r
-patch=0\r
+patch=1\r
 base_version=${major}.${minor}.${patch}\r
 release_version=${base_version}\r
 snapshot_version=${base_version}-SNAPSHOT\r