#!/bin/bash # Deploy docker service. docker stack deploy -c mariadb.yml mariadb # Read functions source /opt/linux/scripts/functions/docker/check_container_healthy.sh source /opt/linux/scripts/functions/docker/array_count_unique.sh # Load mariadb-seed service echo "--------- mariadb_seed health check -----------" unset health_status; counter=1; condition1=0; condition2=0 while [[ $condition1 != 1 ]] || [[ $condition2 != healthy ]] do echo "$counter. sek" counter=$(( $counter + 1 )) sleep 1 # mariadb_seed health.status kontroll res=$(check_container_healthy mariadb_seed) IFS=' ' read -r -a health_status <<< "$res"; # declare -p health_status; # 1. condition1 condition1=$(array_count_unique ${health_status[@]}) echo "Erinevate elementide arv SEED vektoris: $condition1" # 2. condition2 condition2=${health_status[0]} echo "Health Status SEED vektoris: ${condition2[0]}" done sleep 2 # Load mariadb_node service echo "--------- mariadb_node health check -----------" unset health_status; counter=1; condition1=0; condition2=0 while [[ $condition1 != 1 ]] || [[ $condition2 != healthy ]] do echo "$counter. sek" counter=$(( $counter + 1 )) sleep 1 # mariadb_node health.status kontroll res=$(check_container_healthy mariadb_node) IFS=' ' read -r -a health_status <<< "$res"; # declare -p health_status; # 1. condition1 condition1=$(array_count_unique ${health_status[@]}) echo "Erinevate elementide arv NODE vektoris: $condition1" # 2. condition2 condition2=${health_status[0]} echo "Health Status NODE vektoris: ${condition2[0]}" done # Increace mariadb_node replices to 2 echo "--------- mariadb_node scale to 2 -----------" docker service scale $(docker service ls -f name=mariadb_node -q)=2 # Check mariadb_node status to decreace mariadb_seed replices to 0 echo "--------- mariadb_node health check -----------" unset health_status; counter=1; condition1=0; condition2=0 while [[ $condition1 != 1 ]] || [[ $condition2 != healthy ]] do echo "$counter. sek" counter=$(( $counter + 1 )) sleep 1 # mariadb_node health.status kontroll res=$(check_container_healthy mariadb_node) IFS=' ' read -r -a health_status <<< "$res"; # declare -p health_status; # 1. condition1 condition1=$(array_count_unique ${health_status[@]}) echo "Erinevate elementide arv NODE vektoris: $condition1" # 2. condition2 condition2=${health_status[0]} echo "Health Status NODE vektoris: ${condition2[0]}" done sleep 2 # Decreace mariadb_seed replices to 0. echo "--------- mariadb_seed scale to 0 -----------" docker service scale $(docker service ls -f name=mariadb_seed -q)=0 # Check mariadb_seed status to icreace mariadb_node replices to 3 echo "--------- mariadb_seed health check -----------" unset health_status; counter=1; condition1=0; condition2=0 while [[ $condition1 != 3 ]] || [[ $condition2 != no ]] do echo "$counter. sek" counter=$(( $counter + 1 )) sleep 1 # mariadb_seed health.status kontroll res=$(check_container_healthy mariadb_seed) IFS=' ' read -r -a health_status <<< "$res"; # declare -p health_status; # 1. condition1 condition1=$(array_count_unique ${health_status[@]}) echo "Erinevate elementide arv SEED vektoris: $condition1" # 2. condition2 condition2=${health_status[0]} echo "Health Status SEED vektoris: ${condition2[0]}" done sleep 2 # Increace mariadb_node replices to 3 echo "--------- mariadb_node scale to 3 -----------" docker service scale $(docker service ls -f name=mariadb_node -q)=3 # End echo "------------------- End --------------------"