Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function create_container ()
- {
- echocolor "Install docker engine"
- if ! apt-get -qq install docker-engine; then curl -sSL https://get.docker.com/ | sh; fi
- echocolor "Pull MariaDB image"
- docker pull mariadb:10.0
- if [[ "$1" == controller1 ]]; then
- echocolor "Start MariaDB Container on $1"
- sleep 10
- export DB_ROOT_PASSWORD=$MYSQL_PASS
- bash $(dirname $0)/../files/start-mariadb.sh hcm-mariadb-$1 101
- if ! apt-get -qq install byobu; then apt-get install byobu -y; fi
- byobu new-session -d -s ssh_tmp
- byobu new-window -t ssh_tmp:1 -n "controller" "ssh -L 3300:localhost:3306 root@$CTL1_MGNT_IP_HN -p $SSH_PORT_HN /bin/bash"
- sleep 30
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "CREATE USER 'repl'@'%' IDENTIFIED BY 'weascafa221f';"
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';"
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "FLUSH TABLES WITH READ LOCK"
- binlog_file=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $1}'`
- binlog_pos=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $2}'`
- mysqldump -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 keystone > keystone.sql
- cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
- CREATE DATABASE keystone;
- GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '$KEYSTONE_DBPASS';
- GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '$KEYSTONE_DBPASS';
- FLUSH PRIVILEGES;
- EOF
- mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305 keystone < keystone.sql
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "UNLOCK TABLES"
- cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
- CHANGE MASTER TO
- MASTER_HOST='$CTL1_MGNT_IP_HN',
- MASTER_USER='repl',
- MASTER_PASSWORD='weascafa221f',
- MASTER_PORT=3306,
- MASTER_LOG_FILE='$binlog_file',
- MASTER_LOG_POS=$binlog_pos,
- MASTER_CONNECT_RETRY=10;
- START SLAVE;
- EOF
- if [ "$?" -eq 0 ]; then echocolor "Start Replicate Success"; fi
- byobu kill-session -t ssh_tmp
- elif [[ "$1" == controller2 ]]; then
- echocolor "Start MariaDB Container on $1"
- sleep 10
- export DB_ROOT_PASSWORD=$MYSQL_PASS
- bash $(dirname $0)/../files/start-mariadb.sh hcm-mariadb-$1 102
- if ! apt-get -qq install byobu; then apt-get install byobu -y; fi
- byobu new-session -d -s ssh_tmp
- byobu new-window -t ssh_tmp:1 -n "controller" "ssh -L 3300:localhost:3306 root@$CTL2_MGNT_IP_HN -p $SSH_PORT_HN /bin/bash"
- sleep 30
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "FLUSH TABLES WITH READ LOCK"
- binlog_file=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $1}'`
- binlog_pos=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $2}'`
- mysqldump -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 keystone > keystone.sql
- cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
- CREATE DATABASE keystone;
- GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '$KEYSTONE_DBPASS';
- GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '$KEYSTONE_DBPASS';
- FLUSH PRIVILEGES;
- EOF
- mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305 keystone < keystone.sql
- mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "UNLOCK TABLES"
- cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
- CHANGE MASTER TO
- MASTER_HOST='$CTL1_MGNT_IP_HN',
- MASTER_USER='repl',
- MASTER_PASSWORD='weascafa221f',
- MASTER_PORT=3306,
- MASTER_LOG_FILE='$binlog_file',
- MASTER_LOG_POS=$binlog_pos,
- MASTER_CONNECT_RETRY=10;
- START SLAVE;
- EOF
- if [ "$?" -eq 0 ]; then echocolor "Start Replicate Success"; fi
- byobu kill-session -t ssh_tmp
- fi
- } # ---------- end of function create_container ----------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement