Add Datalake Cloudify/tosca implementation. 26/102726/15
authorKate Hsuan <kate.hsuan@qct.io>
Fri, 13 Mar 2020 18:28:47 +0000 (18:28 +0000)
committerKate Hsuan <kate.hsuan@qct.io>
Tue, 24 Mar 2020 04:35:29 +0000 (04:35 +0000)
1. Add blueprint files for datalake deployment.

Issue-ID: DCAEGEN2-2098
Signed-off-by: Kate Hsuan <kate.hsuan@qct.io>
Change-Id: I6d82edcbdcb92d5ec1190a89918886c115af76bc

blueprints/k8s-datalake-admin-ui.yaml [new file with mode: 0644]
blueprints/k8s-datalake-feeder.yaml [new file with mode: 0644]

diff --git a/blueprints/k8s-datalake-admin-ui.yaml b/blueprints/k8s-datalake-admin-ui.yaml
new file mode 100644 (file)
index 0000000..8b57655
--- /dev/null
@@ -0,0 +1,60 @@
+# ============LICENSE_START====================================================
+# =============================================================================
+# Copyright (C) 2020 QCT
+# =============================================================================
+# 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.
+# ============LICENSE_END======================================================
+
+#author: Kate Hsuan (kate.hsuan@qct.io)
+
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+  - https://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.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml
+inputs:
+  image_name:
+    description: datalake feeder image URL.
+    type: string
+    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakeadminui:1.0.1
+  container_port:
+    type: string
+    description: exposed container port
+    default: "80"
+  host_port:
+    type: string
+    description: external port
+    default: "30479"
+node_templates:
+  datalake:
+    type: dcae.nodes.ContainerizedPlatformComponent
+    interfaces:
+      cloudify.interfaces.lifecycle:
+        start:
+          inputs:
+            ports:
+              - '80:0'
+              - concat: [{get_input: container_port},":",{get_input: host_port}]
+    properties:
+      application_config:
+        FEEDER_ADDR: dl-feeder
+      docker_config:
+        healthcheck:
+          interval: 30s
+          timeout: 10s
+          type: http
+          endpoint: /
+      image:
+        get_input: image_name
+      dns_name: "dl-admin-ui"
+      name: datalake-admin-ui
diff --git a/blueprints/k8s-datalake-feeder.yaml b/blueprints/k8s-datalake-feeder.yaml
new file mode 100644 (file)
index 0000000..e70baab
--- /dev/null
@@ -0,0 +1,108 @@
+# ============LICENSE_START====================================================
+# =============================================================================
+# Copyright (C) 2020 QCT
+# =============================================================================
+# 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.
+# ============LICENSE_END======================================================
+
+#author: Kate Hsuan (kate.hsuan@qct.io)
+
+tosca_definitions_version: cloudify_dsl_1_3
+imports:
+  - https://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.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml
+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
+    type: string
+    default: "secretpassword"
+  image_name:
+    description: datalake feeder image URL.
+    type: string
+    default: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.datalakefeeder:1.0.0
+  dl_hostname:
+    type: string
+    description: dl default dl_hostname
+    default: k8s-datalake
+  consul_host:
+    type: string
+    description: consul address
+    default: consul
+  cbs_address:
+    type: string
+    description: CBS address
+    default: config-binding-service
+  container_port:
+    type: string
+    description: exposed container port
+    default: "1680"
+  host_port:
+    type: string
+    description: external port
+    default: "30408"
+node_templates:
+  datalake:
+    type: dcae.nodes.ContainerizedPlatformComponent
+    interfaces:
+      cloudify.interfaces.lifecycle:
+        start:
+          inputs:
+            ports:
+              - '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
+    properties:
+      application_config:
+        MYSQL_HOST:
+          get_input: mariadb_address
+        MYSQL_PORT:
+          get_input: mariadb_port
+        MYSQL_ROOT_PASSWORD:
+          get_input: db_password
+        HOSTNAME:
+          get_input: dl_hostname
+        CONSUL_HOST:
+          get_input: consul_host
+        CONFIG_BINDING_SERVICE:
+          get_input: cbs_address
+      image:
+          get_input: image_name
+      docker_config:
+        healthcheck:
+          interval: 90s
+          timeout: 10s
+          type: http
+          endpoint: /datalake/v1/topics
+      dns_name: "dl-feeder"
+      name: datalake-feeder
+      container_port: { get_input: container_port }
+      host_port: { get_input: host_port }