diff --git a/lxc/create_proxysql.sh b/lxc/create_proxysql.sh index cc29c9c..f22e1ad 100755 --- a/lxc/create_proxysql.sh +++ b/lxc/create_proxysql.sh @@ -49,49 +49,49 @@ do ;; esac done - + if [[ -z "$NUMBER_OF_NODES" ]] ; then NUMBER_OF_NODES=1; fi -if [[ -z "$NAME" ]] ; -then +if [[ -z "$NAME" ]] ; +then echo "You need to specify a name" exit 1 fi -for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do +for (( i=1; i<=NUMBER_OF_NODES; i++ ))do NODE_NAME="$NAME-$i" - lxc init centos-7 $NODE_NAME -s $(whoami) - lxc config set $NODE_NAME security.privileged true - lxc start $NODE_NAME + lxc init centos-7 "$NODE_NAME" -s "$(whoami)" + lxc config set "$NODE_NAME" security.privileged true + lxc start "$NODE_NAME" for (( c=1; c<=20; c++ ))do - NODE_IP=$(lxc exec $NODE_NAME -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') + NODE_IP=$(lxc exec "$NODE_NAME" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') #echo "NODEIP: $NODE_IP" if [[ -n $NODE_IP ]] ; then break; fi sleep 1 done - lxc exec $NODE_NAME -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm - lxc exec $NODE_NAME -- yum -y install proxysql Percona-Server-client-57 which - lxc exec $NODE_NAME -- systemctl start proxysql + lxc exec "$NODE_NAME" -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm + lxc exec "$NODE_NAME" -- yum -y install proxysql Percona-Server-client-57 which + lxc exec "$NODE_NAME" -- systemctl start proxysql sleep 2 - if [[ ! -z "$PXC_NODE" ]]; then - PXC_IP=$(lxc exec $PXC_NODE -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') - lxc exec $NODE_NAME -- sed "s/CLUSTER_HOSTNAME='localhost'/CLUSTER_HOSTNAME='$PXC_IP'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- sed "s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='root'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- sed "s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='sekret'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- proxysql-admin --config-file=/etc/proxysql-admin.cnf --use-existing-monitor-password --without-cluster-app-user --syncusers --enable - elif [[ ! -z "$REPLICATION_PREFIX" ]]; then - for node_ip in $( $(dirname "$0")/deploy_lxc --list | grep $REPLICATION_PREFIX | awk '{print $6}'); + if [[ -n "$PXC_NODE" ]]; then + PXC_IP=$(lxc exec "$PXC_NODE" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_HOSTNAME='localhost'/CLUSTER_HOSTNAME='$PXC_IP'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='root'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='sekret'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- proxysql-admin --config-file=/etc/proxysql-admin.cnf --use-existing-monitor-password --without-cluster-app-user --syncusers --enable + elif [[ -n "$REPLICATION_PREFIX" ]]; then + for node_ip in $( "$(dirname "$0")"/deploy_lxc --list | grep "$REPLICATION_PREFIX" | awk '{print $6}'); do - lxc exec $NODE_NAME -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (11, '$node_ip');" + lxc exec "$NODE_NAME" -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (11, '$node_ip');" done - lxc exec $NODE_NAME -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "INSERT INTO mysql_replication_hostgroups (writer_hostgroup, reader_hostgroup) VALUES (10, 11); LOAD MYSQL SERVERS TO RUNTIME; SAVE MYSQL SERVERS TO DISK;" - lxc exec $NODE_NAME -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "UPDATE global_variables SET variable_value='root' WHERE variable_name='mysql-monitor_username'" - lxc exec $NODE_NAME -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "UPDATE global_variables SET variable_value='sekret' WHERE variable_name='mysql-monitor_password'" - lxc exec $NODE_NAME -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "LOAD MYSQL VARIABLES TO RUNTIME; SAVE MYSQL VARIABLES TO DISK" - lxc exec $NODE_NAME -- sed "s/CLUSTER_HOSTNAME='localhost'/CLUSTER_HOSTNAME='$node_ip'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- sed "s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='root'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- sed "s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='sekret'/g" -i /etc/proxysql-admin.cnf - lxc exec $NODE_NAME -- proxysql-admin --config-file=/etc/proxysql-admin.cnf --syncusers + lxc exec "$NODE_NAME" -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "INSERT INTO mysql_replication_hostgroups (writer_hostgroup, reader_hostgroup) VALUES (10, 11); LOAD MYSQL SERVERS TO RUNTIME; SAVE MYSQL SERVERS TO DISK;" + lxc exec "$NODE_NAME" -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "UPDATE global_variables SET variable_value='root' WHERE variable_name='mysql-monitor_username'" + lxc exec "$NODE_NAME" -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "UPDATE global_variables SET variable_value='sekret' WHERE variable_name='mysql-monitor_password'" + lxc exec "$NODE_NAME" -- mysql -uadmin -padmin -h 127.0.0.1 -P 6032 -e "LOAD MYSQL VARIABLES TO RUNTIME; SAVE MYSQL VARIABLES TO DISK" + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_HOSTNAME='localhost'/CLUSTER_HOSTNAME='$node_ip'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_USERNAME='admin'/CLUSTER_USERNAME='root'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- sed "s/CLUSTER_PASSWORD='admin'/CLUSTER_PASSWORD='sekret'/g" -i /etc/proxysql-admin.cnf + lxc exec "$NODE_NAME" -- proxysql-admin --config-file=/etc/proxysql-admin.cnf --syncusers fi done diff --git a/lxc/create_pxc.sh b/lxc/create_pxc.sh index df00067..5232cf7 100755 --- a/lxc/create_pxc.sh +++ b/lxc/create_pxc.sh @@ -45,35 +45,35 @@ do esac done -for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do +for (( i=1; i<=NUMBER_OF_NODES; i++ ))do NODE_NAME="$NAME-$i" - lxc init centos-7 $NODE_NAME -s $(whoami) - lxc config set $NODE_NAME security.privileged true - lxc start $NODE_NAME + lxc init centos-7 "$NODE_NAME" -s "$(whoami)" + lxc config set "$NODE_NAME" security.privileged true + lxc start "$NODE_NAME" for (( c=1; c<=20; c++ ))do - NODE_IP=$(lxc exec $NODE_NAME -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') + NODE_IP=$(lxc exec "$NODE_NAME" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') #echo "NODEIP: $NODE_IP" if [[ -n $NODE_IP ]] ; then break; fi sleep 1 done - lxc exec $NODE_NAME -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm - if [[ ! -z "$VERSION" ]]; then - lxc exec $NODE_NAME -- yum -y install tar gdb strace vim qpress socat $VERSION - VERSION_ACRONYM=$( echo ${VERSION} | awk -F'-' '{print $4}') #55, 56, 57, 80 + lxc exec "$NODE_NAME" -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm + if [[ -n "$VERSION" ]]; then + lxc exec "$NODE_NAME" -- yum -y install tar gdb strace vim qpress socat "$VERSION" + VERSION_ACRONYM=$( echo "${VERSION}" | awk -F'-' '{print $4}') #55, 56, 57, 80 else - lxc exec $NODE_NAME -- yum -y install tar gdb strace vim qpress socat Percona-XtraDB-Cluster-57 + lxc exec "$NODE_NAME" -- yum -y install tar gdb strace vim qpress socat Percona-XtraDB-Cluster-57 VERSION_ACRONYM="57" fi - lxc exec $NODE_NAME -- iptables -F - lxc exec $NODE_NAME -- setenforce 0 + lxc exec "$NODE_NAME" -- iptables -F + lxc exec "$NODE_NAME" -- setenforce 0 if [[ ${VERSION_ACRONYM} == "56" ]] || [[ ${VERSION_ACRONYM} == "55" ]]; then - lxc exec $NODE_NAME -- mysql_install_db --user=mysql + lxc exec "$NODE_NAME" -- mysql_install_db --user=mysql else - lxc exec $NODE_NAME -- mysqld --initialize-insecure --user=mysql + lxc exec "$NODE_NAME" -- mysqld --initialize-insecure --user=mysql fi - if [[ ! -z $IPS ]] ; then + if [[ -n $IPS ]] ; then IPS="$IPS,$NODE_IP" else IPS="$NODE_IP" @@ -81,10 +81,10 @@ for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do done -for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do +for (( i=1; i<=NUMBER_OF_NODES; i++ ))do NODE_NAME="$NAME-$i" -NODE_IP=$(lxc exec $NODE_NAME -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') -lxc exec $NODE_NAME -- sh -c "cat << EOF > /etc/my.cnf +NODE_IP=$(lxc exec "$NODE_NAME" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') +lxc exec "$NODE_NAME" -- sh -c "cat << EOF > /etc/my.cnf [mysql] port = 3306 socket = /var/lib/mysql/mysql.sock @@ -141,13 +141,13 @@ EOF" if [[ $i -eq 1 ]] then - lxc exec $NODE_NAME -- systemctl start mysql@bootstrap + lxc exec "$NODE_NAME" -- systemctl start mysql@bootstrap - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'sekret';" - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'sekret';" - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'sekret';" else - lxc exec $NODE_NAME -- systemctl start mysql + lxc exec "$NODE_NAME" -- systemctl start mysql fi done diff --git a/lxc/create_replication.sh b/lxc/create_replication.sh index 0798390..06fe2c5 100755 --- a/lxc/create_replication.sh +++ b/lxc/create_replication.sh @@ -55,28 +55,28 @@ then FLAVOR="ps" fi -for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do +for (( i=1; i<=NUMBER_OF_NODES; i++ ))do NODE_NAME="$NAME-$i" - NODE_IP=$(lxc exec $NODE_NAME -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') - lxc exec $NODE_NAME -- sh -c "cat << EOF >> /etc/my.cnf + NODE_IP=$(lxc exec "$NODE_NAME" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') + lxc exec "$NODE_NAME" -- sh -c "cat << EOF >> /etc/my.cnf log-bin server-id=$i report_host=$NODE_IP EOF" if [[ $i -ne "1" ]] ; then - lxc exec $NODE_NAME -- sh -c "cat << EOF >> /etc/my.cnf + lxc exec "$NODE_NAME" -- sh -c "cat << EOF >> /etc/my.cnf read_only EOF" fi - if [[ $FLAVOR -eq "mysql" ]]; then - lxc exec $NODE_NAME -- systemctl restart mysqld + if [[ $FLAVOR == "mysql" ]]; then + lxc exec "$NODE_NAME" -- systemctl restart mysqld else - lxc exec $NODE_NAME -- systemctl restart mysql + lxc exec "$NODE_NAME" -- systemctl restart mysql fi if [[ $i -eq "1" ]] ; then MASTER_IP=$NODE_IP else - lxc exec $NODE_NAME -- mysql -u root -psekret -e "CHANGE MASTER TO MASTER_HOST='$MASTER_IP', MASTER_USER='root', MASTER_PASSWORD='sekret'; START SLAVE" + lxc exec "$NODE_NAME" -- mysql -u root -psekret -e "CHANGE MASTER TO MASTER_HOST='$MASTER_IP', MASTER_USER='root', MASTER_PASSWORD='sekret'; START SLAVE" fi done diff --git a/lxc/create_standalone.sh b/lxc/create_standalone.sh index 3021c85..965a6f3 100755 --- a/lxc/create_standalone.sh +++ b/lxc/create_standalone.sh @@ -60,13 +60,13 @@ then FLAVOR="ps" fi -for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do +for (( i=1; i<=NUMBER_OF_NODES; i++ ))do NODE_NAME="$NAME-$i" - lxc init centos-7 $NODE_NAME -s $(whoami) - lxc config set $NODE_NAME security.privileged true - lxc start $NODE_NAME + lxc init centos-7 "$NODE_NAME" -s "$(whoami)" + lxc config set "$NODE_NAME" security.privileged true + lxc start "$NODE_NAME" for (( c=1; c<=20; c++ ))do - NODE_IP=$(lxc exec $NODE_NAME -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') + NODE_IP=$(lxc exec "$NODE_NAME" -- ip addr | grep inet | grep eth0 | awk '{print $2}' | awk -F'/' '{print $1}') #echo "NODEIP: $NODE_IP" if [[ -n $NODE_IP ]] ; then break; @@ -75,45 +75,44 @@ for (( i=1; i<=$NUMBER_OF_NODES; i++ ))do done if [[ $FLAVOR == "ps" ]]; then - lxc exec $NODE_NAME -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm - if [[ ! -z "$VERSION" ]]; then - lxc exec $NODE_NAME -- yum -y install ${VERSION} - VERSION_ACRONYM=$( echo ${VERSION} | awk -F'-' '{print $4}') #55, 56, 57, 80 + lxc exec "$NODE_NAME" -- yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm + if [[ -n "$VERSION" ]]; then + lxc exec "$NODE_NAME" -- yum -y install "${VERSION}" + VERSION_ACRONYM=$( echo "${VERSION}" | awk -F'-' '{print $4}') #55, 56, 57, 80 else - lxc exec $NODE_NAME -- yum -y install Percona-Server-server-57 + lxc exec "$NODE_NAME" -- yum -y install Percona-Server-server-57 VERSION_ACRONYM="57" - fi + fi elif [[ $FLAVOR == "mysql" ]]; then - lxc exec $NODE_NAME -- yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm - if [[ ! -z "$VERSION" ]]; then - VERSION_ACRONYM=$( echo ${VERSION} | awk -F'-' '{print $4}' | awk -F'.' '{print $1$2}' ) #55, 56, 57, 80 - lxc exec $NODE_NAME -- yum -y --disablerepo=mysql80-community --enablerepo=mysql${VERSION_ACRONYM}-community install ${VERSION} + lxc exec "$NODE_NAME" -- yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm + if [[ -n "$VERSION" ]]; then + VERSION_ACRONYM=$( echo "${VERSION}" | awk -F'-' '{print $4}' | awk -F'.' '{print $1$2}' ) #55, 56, 57, 80 + lxc exec "$NODE_NAME" -- yum -y --disablerepo=mysql80-community --enablerepo=mysql"${VERSION_ACRONYM}"-community install "${VERSION}" else - lxc exec $NODE_NAME -- yum -y install mysql-community-server + lxc exec "$NODE_NAME" -- yum -y install mysql-community-server VERSION_ACRONYM=80 fi fi - lxc exec $NODE_NAME -- yum -y install tar gdb strace vim qpress socat - lxc exec $NODE_NAME -- iptables -F - lxc exec $NODE_NAME -- setenforce 0 + lxc exec "$NODE_NAME" -- yum -y install tar gdb strace vim qpress socat + lxc exec "$NODE_NAME" -- iptables -F + lxc exec "$NODE_NAME" -- setenforce 0 - echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ acronimo ${VERSION_ACRONYM}" if [[ ${VERSION_ACRONYM} == "56" ]] || [[ ${VERSION_ACRONYM} == "55" ]]; then - lxc exec $NODE_NAME -- mysql_install_db --user=mysql + lxc exec "$NODE_NAME" -- mysql_install_db --user=mysql else - lxc exec $NODE_NAME -- mysqld --initialize-insecure --user=mysql - fi + lxc exec "$NODE_NAME" -- mysqld --initialize-insecure --user=mysql + fi - if [[ $FLAVOR -eq "mysql" ]]; then - lxc exec $NODE_NAME -- systemctl start mysqld + if [[ $FLAVOR == "mysql" ]]; then + lxc exec "$NODE_NAME" -- systemctl start mysqld else - lxc exec $NODE_NAME -- systemctl start mysql + lxc exec "$NODE_NAME" -- systemctl start mysql fi - lxc exec $NODE_NAME -- sh -c "cat << EOF > /etc/my.cnf + lxc exec "$NODE_NAME" -- sh -c "cat << EOF > /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock @@ -126,17 +125,17 @@ pid-file=/var/run/mysqld/mysqld.pid EOF" if [[ $VERSION_ACRONYM == "80" ]]; then #Mysql 8 does not support GRANT with IDENTIFIED - lxc exec $NODE_NAME -- mysql -e "CREATE USER 'root'@'%' IDENTIFIED BY 'sekret';" - lxc exec $NODE_NAME -- mysql -e "SET PASSWORD FOR 'root'@'%' = 'sekret';" - lxc exec $NODE_NAME -- mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';" - lxc exec $NODE_NAME -- mysql -e "CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'sekret';" - lxc exec $NODE_NAME -- mysql -e "SET PASSWORD FOR 'root'@'127.0.0.1' = 'sekret';" - lxc exec $NODE_NAME -- mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1';" - lxc exec $NODE_NAME -- mysql -e "SET PASSWORD FOR 'root'@'localhost' = 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "CREATE USER 'root'@'%' IDENTIFIED BY 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "SET PASSWORD FOR 'root'@'%' = 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';" + lxc exec "$NODE_NAME" -- mysql -e "CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "SET PASSWORD FOR 'root'@'127.0.0.1' = 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1';" + lxc exec "$NODE_NAME" -- mysql -e "SET PASSWORD FOR 'root'@'localhost' = 'sekret';" else - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'sekret';" - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'sekret';" - lxc exec $NODE_NAME -- mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'127.0.0.1' identified by 'sekret';" + lxc exec "$NODE_NAME" -- mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'sekret';" fi done diff --git a/lxc/deploy_lxc b/lxc/deploy_lxc index b64025e..5c89ae6 100755 --- a/lxc/deploy_lxc +++ b/lxc/deploy_lxc @@ -56,13 +56,13 @@ do --type ) TYPE="$2" shift 2 - if [ "$TYPE" != "pxc" ] && - [ "$TYPE" != "proxysql" ] && + if [ "$TYPE" != "pxc" ] && + [ "$TYPE" != "proxysql" ] && [ "$TYPE" != "proxysql-pxc" ] && [ "$TYPE" != "replication" ] && [ "$TYPE" != "proxysql-replication" ] && [ "$TYPE" != "standalone" ]; then - echo "ERROR: Invalid --type passed" + echo "ERROR: Invalid --type passed" echo " Curently only supported types: pxc, proxysql, proxysql-pxc, standalone, replication and proxysql-replication" exit 1 fi @@ -139,7 +139,7 @@ do done #some standard vars -MY_USER=$(echo $(whoami) | sed 's/\./-/') +MY_USER=$(whoami | sed 's/\./-/') if [ -z "$FLAVOR" ]; then FLAVOR="ps" @@ -148,12 +148,12 @@ fi deploy_proxysql() { if [[ -z "$PROXY_NUMBER_OF_NODES" ]] ; then PROXY_NUMBER_OF_NODES=1; fi - if [[ ! -z "$PROXY_PXC_NODE" ]] ; then - $(dirname "$0")/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES --pxc-node="$PROXY_PXC_NODE" - elif [[ ! -z "$PROXY_REPLICATION_PREFIX" ]]; then - $(dirname "$0")/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES --replication-prefix="$PROXY_REPLICATION_PREFIX" + if [[ -n "$PROXY_PXC_NODE" ]] ; then + "$(dirname "$0")"/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES --pxc-node="$PROXY_PXC_NODE" + elif [[ -n "$PROXY_REPLICATION_PREFIX" ]]; then + "$(dirname "$0")"/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES --replication-prefix="$PROXY_REPLICATION_PREFIX" else - $(dirname "$0")/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES + "$(dirname "$0")"/create_proxysql.sh --name="$MY_USER-$NAME-proxysql" --number-of-nodes=$PROXY_NUMBER_OF_NODES fi } @@ -164,10 +164,10 @@ deploy_pxc() if [[ -z "$NAME" ]] ; then NAME=""; fi M_NAME="$MY_USER-$NAME-pxc" echo "starting pxc" - if [[ ! -z "$VERSION" ]]; then - $(dirname "$0")/create_pxc.sh --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES --version=$VERSION + if [[ -n "$VERSION" ]]; then + "$(dirname "$0")"/create_pxc.sh --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES --version="$VERSION" else - $(dirname "$0")/create_pxc.sh --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES + "$(dirname "$0")"/create_pxc.sh --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES fi } @@ -177,10 +177,10 @@ deploy_standalone() if [[ -z "$NAME" ]] ; then NAME=""; fi if [[ -z "$M_NAME" ]] ; then M_NAME="$MY_USER-$NAME-standalone"; fi echo "starting standalone" - if [[ ! -z "$VERSION" ]]; then - $(dirname "$0")/create_standalone.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES --version=$VERSION + if [[ -n "$VERSION" ]]; then + "$(dirname "$0")"/create_standalone.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES --version="$VERSION" else - $(dirname "$0")/create_standalone.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES + "$(dirname "$0")"/create_standalone.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES fi } deploy_replication() @@ -191,22 +191,22 @@ deploy_replication() deploy_standalone echo "starting replication" - $(dirname "$0")/create_replication.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES + "$(dirname "$0")"/create_replication.sh --flavor=$FLAVOR --name="$M_NAME" --number-of-nodes=$NUMBER_OF_NODES } -if [ ! -z "$SHOW_VERSIONS" ]; then - if [ "$FLAVOR" == "mysql" ]; then +if [ -n "$SHOW_VERSIONS" ]; then + if [ "$FLAVOR" == "mysql" ]; then if [ "$TYPE" == "standalone" ]; then - curl -s http://repo.mysql.com/yum/mysql-${SHOW_VERSIONS}-community/el/7/x86_64/ | grep 'community-server' | awk -F'HREF=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' | sort -n + curl -s http://repo.mysql.com/yum/mysql-"${SHOW_VERSIONS}"-community/el/7/x86_64/ | grep 'community-server' | awk -F'HREF=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' | sort -n else echo "--show-versions with --flavor=mysql is only available with --type=standalone" exit 1; fi elif [ "$FLAVOR" == "ps" ]; then if [ "$TYPE" == "standalone" ] || [ "$TYPE" == "replication" ]; then - curl -s https://repo.percona.com/release/7/RPMS/x86_64/ | grep 'Server-server' | grep $SHOW_VERSIONS | awk -F'href=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' + curl -s https://repo.percona.com/release/7/RPMS/x86_64/ | grep 'Server-server' | grep "$SHOW_VERSIONS" | awk -F'href=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' elif [ "$TYPE" == "pxc" ]; then - curl -s https://repo.percona.com/release/7/RPMS/x86_64/ | grep 'XtraDB-Cluster-[0-9][0-9]-[0-9]' | grep $SHOW_VERSIONS | awk -F'href=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' + curl -s https://repo.percona.com/release/7/RPMS/x86_64/ | grep 'XtraDB-Cluster-[0-9][0-9]-[0-9]' | grep "$SHOW_VERSIONS" | awk -F'href=' '{print $2}' | awk -F'"' '{print $2}' | awk -F'.rpm' '{print $1}' else echo "--show-versions is only available with --type=pxc or --type=standalone" exit 1; @@ -227,48 +227,45 @@ elif [ "$TYPE" == "proxysql-replication" ]; then deploy_proxysql elif [ "$TYPE" == "use" ]; then echo "Connecting to $CNAME" - lxc exec $CNAME /bin/bash + lxc exec "$CNAME" /bin/bash elif [ "$TYPE" == "start" ]; then echo "starting $CNAME" - lxc start $CNAME + lxc start "$CNAME" elif [ "$TYPE" == "stop" ]; then echo "stoppping $CNAME" - lxc stop $CNAME + lxc stop "$CNAME" elif [ "$TYPE" == "stop-all" ]; then - for c_name in $(lxc list -c n | grep $(whoami) | awk '{print $2}'); + for c_name in $(lxc list -c n | grep "$(whoami)" | awk '{print $2}'); do echo "stopping $c_name" - lxc stop $c_name + lxc stop "$c_name" done elif [ "$TYPE" == "destroy" ]; then echo "stopping $CNAME" - lxc stop $CNAME + lxc stop "$CNAME" echo "destroying $CNAME" - lxc delete $CNAME + lxc delete "$CNAME" elif [ "$TYPE" == "destroy-all" ]; then - for c_name in $(lxc list -c n | grep $(whoami) | awk '{print $2}'); + for c_name in $(lxc list -c n | grep "$(whoami)" | awk '{print $2}'); do echo "stopping $c_name" - lxc stop $c_name + lxc stop "$c_name" echo "destroying $c_name" - lxc delete $c_name + lxc delete "$c_name" done elif [ "$TYPE" == "list" ]; then - lxc list -c n,s,4,6 $(echo $MY_USER) + lxc list -c n,s,4,6 "$MY_USER" fi if [ "$TYPE" == "standalone" ] && [ "$ENTER_NODE_NUMBER" == "1" ]; then M_NAME=${M_NAME}-${ENTER_NODE_NUMBER} echo "Entering ${M_NAME}" - $(dirname "$0")/deploy_lxc --use=${M_NAME} + "$(dirname "$0")"/deploy_lxc --use="${M_NAME}" elif [ "$TYPE" == "pxc" ] || [ "$TYPE" == "replication" ]; then - if [ ! -z "$ENTER_NODE_NUMBER" ]; then + if [ -n "$ENTER_NODE_NUMBER" ]; then M_NAME=${M_NAME}-${ENTER_NODE_NUMBER} - echo "Entering ${M_NAME}" - $(dirname "$0")/deploy_lxc --use=${M_NAME} + echo "Entering ${M_NAME}" + "$(dirname "$0")"/deploy_lxc --use="${M_NAME}" fi fi - - -