summaryrefslogtreecommitdiffstats
path: root/components/datalake-handler/packages/init_db/scripts
diff options
context:
space:
mode:
authorKate Hsuan <kate.hsuan@qct.io>2020-02-10 09:17:54 +0000
committerKate Hsuan <kate.hsuan@qct.io>2020-02-12 05:55:17 +0000
commit5a846a15d35e6b511d727f8dbc115b24110bb5b2 (patch)
tree512ca33495523f8b2ebb11111810c354f3be8d00 /components/datalake-handler/packages/init_db/scripts
parentf49a25b85b689f155f77008681fba9a42f1d6080 (diff)
Add db initial pod docker image auto-build.
Issue-ID: DCAEGEN2-2008 Signed-off-by: Kate Hsuan <kate.hsuan@qct.io> Change-Id: I16416a8eab43c752d7b8c9adeca079cab2d572dc
Diffstat (limited to 'components/datalake-handler/packages/init_db/scripts')
-rw-r--r--components/datalake-handler/packages/init_db/scripts/db_init/10_check-db-exist30
-rw-r--r--components/datalake-handler/packages/init_db/scripts/db_init/11_create-database25
-rw-r--r--components/datalake-handler/packages/init_db/scripts/db_init/15_db-adduser34
-rw-r--r--components/datalake-handler/packages/init_db/scripts/db_init/20_db-initdb25
-rw-r--r--components/datalake-handler/packages/init_db/scripts/run.sh28
5 files changed, 142 insertions, 0 deletions
diff --git a/components/datalake-handler/packages/init_db/scripts/db_init/10_check-db-exist b/components/datalake-handler/packages/init_db/scripts/db_init/10_check-db-exist
new file mode 100644
index 00000000..cdf8af50
--- /dev/null
+++ b/components/datalake-handler/packages/init_db/scripts/db_init/10_check-db-exist
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT 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.
+# 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============================================
+#
+result=`mysql -qfsB -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='datalake'" 2>&1`
+
+if [[ ! -z $result ]];
+then
+ echo "DATABASE ALREADY EXISTS"
+ touch /tmp/db_exist
+ exit 1
+else
+ echo "DATABASE DOES NOT EXIST"
+ exit 0
+fi \ No newline at end of file
diff --git a/components/datalake-handler/packages/init_db/scripts/db_init/11_create-database b/components/datalake-handler/packages/init_db/scripts/db_init/11_create-database
new file mode 100644
index 00000000..3e34828f
--- /dev/null
+++ b/components/datalake-handler/packages/init_db/scripts/db_init/11_create-database
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT 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.
+# 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============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+cat /app/init_db.sql | mysql -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT || exit 1
diff --git a/components/datalake-handler/packages/init_db/scripts/db_init/15_db-adduser b/components/datalake-handler/packages/init_db/scripts/db_init/15_db-adduser
new file mode 100644
index 00000000..c691751c
--- /dev/null
+++ b/components/datalake-handler/packages/init_db/scripts/db_init/15_db-adduser
@@ -0,0 +1,34 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT 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.
+# 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============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+echo "Creating datalake user" 1>/tmp/mariadb-datalake-user.log 2>&1
+
+mysql -uroot -p$MYSQL_ROOT_PASSWORD -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT << 'EOF' || exit 1
+CREATE USER IF NOT EXISTS 'dl';
+GRANT USAGE ON *.* TO 'dl'@'%' IDENTIFIED BY 'dl1234';
+GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, SHOW VIEW ON `datalake`.* TO 'dl'@'%';
+FLUSH PRIVILEGES;
+EOF
+
+echo "Created so user . . ." 1>>/tmp/mariadb-datalake-user.log 2>&1
diff --git a/components/datalake-handler/packages/init_db/scripts/db_init/20_db-initdb b/components/datalake-handler/packages/init_db/scripts/db_init/20_db-initdb
new file mode 100644
index 00000000..3b6d340f
--- /dev/null
+++ b/components/datalake-handler/packages/init_db/scripts/db_init/20_db-initdb
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2020 QCT 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.
+# 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============================================
+#
+
+if [ -f "/tmp/db_exist" ]; then
+ exit 0
+fi
+
+cat /app/init_db_data.sql | mysql -uroot -p$MYSQL_ROOT_PASSWORD -h $MYSQL_HOST -P $MYSQL_PORT || exit 1
diff --git a/components/datalake-handler/packages/init_db/scripts/run.sh b/components/datalake-handler/packages/init_db/scripts/run.sh
new file mode 100644
index 00000000..e1e59252
--- /dev/null
+++ b/components/datalake-handler/packages/init_db/scripts/run.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# ============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============================================
+
+
+echo "start init db ..."
+
+/bin/run-parts /app/db_init
+
+echo "finish init db"
+
+
+curl -X PUT -H "contain-type:application/json" http://consul:8500/v1/kv/k8s-datalake -d "{\"mysql_host\": \"$MYSQL_HOST\", \"mysql_password\": \"$MYSQL_ROOT_PASSWORD\", \"mysql_port\": \"$MYSQL_PORT\", \"presto_host\": \"$PRESTO_HOST\"}"
+