Browse Source

add strategy lab materials

Grega Bremec 7 months ago
parent
commit
75de21b9ec
3 changed files with 59 additions and 0 deletions
  1. 4 0
      labs/strategy/Dockerfile
  2. 45 0
      labs/strategy/import.sh
  3. 10 0
      labs/strategy/users.sql

+ 4 - 0
labs/strategy/Dockerfile

@@ -0,0 +1,4 @@
+FROM registry.ocp4.example.com:8443/rhel8/mysql-80
+
+COPY import.sh users.sql /post-deploy
+

+ 45 - 0
labs/strategy/import.sh

@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# get timer and retries from env
+if [ "$HOOK_RETRIES" = "" ]; then
+  HOOK_RETRIES=0
+fi
+if [ "$HOOK_SLEEP" = "" ]; then
+  HOOK_SLEEP=2
+fi
+
+cd /tmp
+
+echo "Trying $HOOK_RETRIES times, sleeping $HOOK_SLEEP sec between tries:"
+while [ "$HOOK_RETRIES" != 0 ]; do
+
+  echo -n 'Checking if MySQL is up...'
+  if mysqlshow -h$USERS_DB_SERVICE_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD -P3306 $MYSQL_DATABASE &>/dev/null
+  then
+    echo 'Database is up'
+    break
+  else
+    echo 'Database is down'
+
+    # Sleep to wait for the MySQL pod to be ready
+    sleep $HOOK_SLEEP
+  fi
+  
+  let HOOK_RETRIES=HOOK_RETRIES-1
+done
+
+if [ "$HOOK_RETRIES" = 0 ]; then
+  echo 'Too many tries, giving up'
+  exit 1
+fi
+
+# Run the SQL script
+if mysql -h$USERS_DB_SERVICE_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD -P3306 $MYSQL_DATABASE < /post-deploy/users.sql
+
+then
+  echo 'Database initialized successfully'
+else
+  echo 'Failed to initialize database'
+  exit 2
+fi
+

+ 10 - 0
labs/strategy/users.sql

@@ -0,0 +1,10 @@
+CREATE TABLE IF NOT EXISTS users (
+    user_id int(10) unsigned NOT NULL AUTO_INCREMENT, 
+    name varchar(100) NOT NULL, 
+    email varchar(100)  NOT NULL, 
+    PRIMARY KEY (user_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+insert into users(name,email) values ('user1', 'user1@example.com');
+insert into users(name,email) values ('user2', 'user2@example.com');
+insert into users(name,email) values ('user3', 'user3@example.com');
+