Update DES and DL-feeder blueprints to use postgres DB for non-root access 07/120607/13 3.3.4
authorNiranjana <niranjana.y60@wipro.com>
Fri, 16 Apr 2021 14:11:51 +0000 (14:11 +0000)
committerNiranjana Y <niranjana.y60@wipro.com>
Wed, 1 Sep 2021 14:58:43 +0000 (14:58 +0000)
Issue-ID: DCAEGEN2-2329
Signed-off-by: Niranjana <niranjana.y60@wipro.com>
Change-Id: I88cbecc1417d6f141537a36b4e1c455ac298a3b0

Changelog.md
blueprints/k8s-datalake-des.yaml
blueprints/k8s-datalake-feeder.yaml

index 1c2954c..51e552f 100644 (file)
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
          - [DCAEGEN2-2806/DCAEGEN2-2858/DCAEGEN2-2859] - VES Mapper updated to 1.3.0 - includes Istanbul vulnerability fixes, CBS client SDK to 1.8.7 and switched to integration-java11:9.0.0  base image
          - [DCAEGEN2-2892] - Set resource limits for TCAgen2 blueprints
          - [DCAEGEN2-2868] - Update PRH to use latest SDK (1.8.7)
+         - [DCAEGEN2-2329] Update DES and DL-feeder blueprint to use postgres DB for non-root access
 
 ## [3.3.3] - 2021-08-03
          - [DCAEGEN2-2853] SNMPTrap container updated to 2.0.5 - Switched to CBS client lib to 2.2.1
index a6052c7..674daa2 100644 (file)
@@ -1,6 +1,7 @@
 # ============LICENSE_START====================================================
 # =============================================================================
 # Copyright (C) 2020 China Mobile
+# Copyright (C) 2021 Wipro Limited.
 # =============================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,26 +20,15 @@ tosca_definitions_version: cloudify_dsl_1_3
 imports:
   - "https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml"
   - plugin:k8splugin?version=>=3.4.3,<4.0.0
+  - plugin:pgaas?version=1.3.0
 inputs:
   service_name:
     type: string
     default: 'dcae-des'
-  mariadb_address:
+  pg_dbName:
     type: string
-    description: MariaDB URL
-    default: "mariadb-galera"
-  mariadb_port:
-    type: string
-    description: MariaDB port
-    default: "3306"
-  db_username:
-    type: string
-    description: MariaDB Username
-    default: "root"
-  db_password:
-    description: MariaDB password
-    type: string
-    default: "secretpassword"
+    description: DB name
+    default: "datalake"
   presto_address:
     type: string
     description: Presto URL
@@ -58,7 +48,7 @@ inputs:
   image_name:
     description: des image URL.
     type: string
-    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.0
+    default: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.datalake.exposure.service:1.1.1
   dl_hostname:
     type: string
     description: dl default des_hostname
@@ -71,7 +61,19 @@ inputs:
     type: string
     description: external port
     default: "30409"
+  pgaas_cluster_name:
+    type: string
+    description: pg cluster
+    default: "dcae-pg-primary.onap"
+
 node_templates:
+  despgaas:
+    type: dcae.nodes.pgaas.database
+    properties:
+      writerfqdn: { get_input: pgaas_cluster_name }
+      name: { get_input: pg_dbName}
+      use_existing: true
+
   datalake:
     type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
@@ -82,12 +84,16 @@ node_templates:
               - '1681:0'
               - concat: [{get_input: container_port},":",{get_input: host_port}]
             envs:
-              MYSQL_HOST:
-                get_input: mariadb_address
-              MYSQL_PORT:
-                get_input: mariadb_port
-              MYSQL_ROOT_PASSWORD:
-                get_input: db_password
+              PG_HOST:
+               { get_attribute: [ despgaas, admin, host ] }
+              PG_PORT:
+                { get_attribute: [ despgaas, admin, port ] }
+              PG_USER:
+                { get_attribute: [ despgaas, admin, user ] }
+              PG_PASSWORD:
+                { get_attribute: [ despgaas, admin, password ] }
+              PG_DB:
+                get_input: pg_dbName
               PRESTO_HOST:
                 get_input: presto_address
               PRESTO_PORT:
@@ -96,14 +102,17 @@ node_templates:
                 get_input: presto_username
               PRESTO_PASSWORD:
                 get_input: presto_password
+
     properties:
       application_config:
-        MYSQL_HOST:
-          get_input: mariadb_address
-        MYSQL_PORT:
-          get_input: mariadb_port
-        MYSQL_ROOT_PASSWORD:
-          get_input: db_password
+        PG_HOST:
+          { get_attribute: [ despgaas, admin, host ] }
+        PG_PORT:
+          { get_attribute: [ despgaas, admin, port ] }
+        PG_USER:
+          { get_attribute: [ despgaas, admin, user ] }
+        PG_PASSWORD:
+          { get_attribute: [ despgaas, admin, password ] }
         PRESTO_HOST:
           get_input: presto_address
         PRESTO_PORT:
@@ -125,3 +134,6 @@ node_templates:
       service_component_type: 'dcae-des'
       service_id: 'dcae-des'
       service_component_name_override: 'dcae-des'
+    relationships:
+    - type: cloudify.relationships.depends_on
+      target: despgaas
index 3d890e6..088b4be 100644 (file)
@@ -2,6 +2,7 @@
 # =============================================================================
 # Copyright (C) 2020 QCT. All rights reserved.
 # Copyright (C) 2021 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2021 Wipro Limited. 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.
@@ -22,28 +23,16 @@ tosca_definitions_version: cloudify_dsl_1_3
 imports:
   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
   - plugin:k8splugin?version=>=3.4.3,<4.0.0
-
+  - plugin:pgaas?version=1.3.0
 inputs:
-  mariadb_address:
-    type: string
-    description: MariaDB URL
-    default: "mariadb-galera"
-  mariadb_port:
-    type: string
-    description: MariaDB port
-    default: "3306"
-  db_username:
-    type: string
-    description: MariaDB Username
-    default: "root"
-  db_password:
-    description: MariaDB password
+  pg_dbName:
     type: string
-    default: "vlz8CJL1"
+    description: DB name
+    default: "datalake"
   image_name:
     description: datalake feeder image URL.
     type: string
-    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.0
+    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.1.1
   dl_hostname:
     type: string
     description: dl default dl_hostname
@@ -73,8 +62,19 @@ inputs:
   service_component_name_override:
     type: string
     default: "dcae-dl-feeder"
+  pgaas_cluster_name:
+    type: string
+    description: pg cluster
+    default: "dcae-pg-primary.onap"
 
 node_templates:
+  feederpgaas:
+    type: dcae.nodes.pgaas.database
+    properties:
+      writerfqdn: { get_input: pgaas_cluster_name }
+      name: { get_input: pg_dbName}
+      use_existing: false
+
   datalake:
     type: dcae.nodes.ContainerizedServiceComponent
     interfaces:
@@ -85,20 +85,28 @@ node_templates:
               - '1680:0'
               - concat: [{get_input: container_port},":",{get_input: host_port}]
             envs:
-              MYSQL_HOST:
-                get_input: mariadb_address
-              MYSQL_PORT:
-                get_input: mariadb_port
-              MYSQL_ROOT_PASSWORD:
-                get_input: db_password
+              PG_HOST:
+               { get_attribute: [ feederpgaas, admin, host ] }
+              PG_PORT:
+                { get_attribute: [ feederpgaas, admin, port ] }
+              PG_USER:
+                { get_attribute: [ feederpgaas, admin, user ] }
+              PG_PASSWORD:
+                { get_attribute: [ feederpgaas, admin, password ] }
+              PG_DB:
+                get_input: pg_dbName
     properties:
       application_config:
-        MYSQL_HOST:
-          get_input: mariadb_address
-        MYSQL_PORT:
-          get_input: mariadb_port
-        MYSQL_ROOT_PASSWORD:
-          get_input: db_password
+        PG_HOST:
+          { get_attribute: [ feederpgaas, admin, host ] }
+        PG_PORT:
+          { get_attribute: [ feederpgaas, admin, port ] }
+        PG_USER:
+          { get_attribute: [ feederpgaas, admin, user ] }
+        PG_PASSWORD:
+          { get_attribute: [ feederpgaas, admin, password ] }
+        PG_DB:
+          get_input: pg_dbName
         HOSTNAME:
           get_input: dl_hostname
         CONSUL_HOST:
@@ -116,4 +124,6 @@ node_templates:
       service_component_type: { get_input: service_component_type }
       service_id: { get_input: service_id }
       service_component_name_override: { get_input: service_component_name_override }
-
+    relationships:
+    - type: cloudify.relationships.depends_on
+      target: feederpgaas