Advertisement
Guest User

Untitled

a guest
Oct 30th, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.12 KB | None | 0 0
  1. function create_container ()
  2. {
  3.     echocolor "Install docker engine"
  4.     if ! apt-get -qq install docker-engine; then curl -sSL https://get.docker.com/ | sh; fi
  5.  
  6.     echocolor "Pull MariaDB image"
  7.     docker pull mariadb:10.0
  8.    
  9.     if [[ "$1" == controller1 ]]; then
  10.  
  11.         echocolor "Start MariaDB Container on $1"
  12.         sleep 10
  13.         export DB_ROOT_PASSWORD=$MYSQL_PASS
  14.         bash $(dirname $0)/../files/start-mariadb.sh hcm-mariadb-$1 101
  15.        
  16.         if ! apt-get -qq install byobu; then apt-get install byobu -y; fi
  17.         byobu new-session -d -s ssh_tmp
  18.         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"
  19.         sleep 30
  20.  
  21.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "CREATE USER 'repl'@'%' IDENTIFIED BY 'weascafa221f';"
  22.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';"
  23.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "FLUSH TABLES WITH READ LOCK"
  24.         binlog_file=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $1}'`
  25.         binlog_pos=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $2}'`
  26.  
  27.         mysqldump -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 keystone > keystone.sql
  28.  
  29.         cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
  30. CREATE DATABASE keystone;
  31. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '$KEYSTONE_DBPASS';
  32. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '$KEYSTONE_DBPASS';
  33. FLUSH PRIVILEGES;
  34. EOF
  35.         mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305 keystone < keystone.sql
  36.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "UNLOCK TABLES"
  37.  
  38.         cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
  39. CHANGE MASTER TO
  40.   MASTER_HOST='$CTL1_MGNT_IP_HN',
  41.   MASTER_USER='repl',
  42.   MASTER_PASSWORD='weascafa221f',
  43.   MASTER_PORT=3306,
  44.   MASTER_LOG_FILE='$binlog_file',
  45.   MASTER_LOG_POS=$binlog_pos,
  46.   MASTER_CONNECT_RETRY=10;
  47.  
  48. START SLAVE;
  49. EOF
  50.         if [ "$?" -eq 0 ]; then echocolor "Start Replicate Success"; fi
  51.         byobu kill-session -t ssh_tmp
  52.  
  53.     elif [[ "$1" == controller2 ]]; then
  54.  
  55.         echocolor "Start MariaDB Container on $1"
  56.         sleep 10
  57.         export DB_ROOT_PASSWORD=$MYSQL_PASS
  58.         bash $(dirname $0)/../files/start-mariadb.sh hcm-mariadb-$1 102
  59.        
  60.         if ! apt-get -qq install byobu; then apt-get install byobu -y; fi
  61.         byobu new-session -d -s ssh_tmp
  62.         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"
  63.         sleep 30
  64.  
  65.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "FLUSH TABLES WITH READ LOCK"
  66.         binlog_file=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $1}'`
  67.         binlog_pos=`mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "SHOW MASTER STATUS" | grep binlog | awk '{print $2}'`
  68.  
  69.         mysqldump -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 keystone > keystone.sql
  70.  
  71.         cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
  72. CREATE DATABASE keystone;
  73. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '$KEYSTONE_DBPASS';
  74. GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '$KEYSTONE_DBPASS';
  75. FLUSH PRIVILEGES;
  76. EOF
  77.         mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305 keystone < keystone.sql
  78.         mysql -u root -p$MYSQL_PASS -h 127.0.0.1 -P 3300 -e "UNLOCK TABLES"
  79.  
  80.         cat << EOF | mysql -uroot -p$MYSQL_PASS -h 127.0.0.1 -P 3305
  81. CHANGE MASTER TO
  82.   MASTER_HOST='$CTL1_MGNT_IP_HN',
  83.   MASTER_USER='repl',
  84.   MASTER_PASSWORD='weascafa221f',
  85.   MASTER_PORT=3306,
  86.   MASTER_LOG_FILE='$binlog_file',
  87.   MASTER_LOG_POS=$binlog_pos,
  88.   MASTER_CONNECT_RETRY=10;
  89.  
  90. START SLAVE;
  91. EOF
  92.         if [ "$?" -eq 0 ]; then echocolor "Start Replicate Success"; fi
  93.         byobu kill-session -t ssh_tmp
  94.     fi
  95.  
  96. }    # ----------  end of function create_container  ----------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement