diff --git a/files/fuel-ha-utils/ocf/mysql-wss b/files/fuel-ha-utils/ocf/mysql-wss index 6bb5bae543..92be9633f5 100644 --- a/files/fuel-ha-utils/ocf/mysql-wss +++ b/files/fuel-ha-utils/ocf/mysql-wss @@ -338,6 +338,10 @@ choose_master() { done MASTER=$(printf -- '%s\n' "${!TMP[@]}" | sort | head -1) + if [ -z $MASTER ] + then + ocf_log error "No master picked." + fi ocf_log info "Choosed master: ${TMP[$MASTER]}" echo ${TMP[$MASTER]} } @@ -430,7 +434,13 @@ mysql_status() { i=${2:-3} sleeptime=${3:-5} while [ $i -gt 0 ]; do + if [ -f "${OCF_RESKEY_datadir}"/sst_in_progress ]; then + ocf_log info 'SST is in progress' + return $OCF_SUCCESS + fi + if [ -f "$OCF_RESKEY_pid" ]; then + ocf_log info 'MySQL PID found' break fi sleep $sleeptime @@ -438,7 +448,6 @@ mysql_status() { ocf_log info "PIDFile ${OCF_RESKEY_pid} of MySQL server not found. Sleeping for $sleeptime seconds. ${i} retries left" done - if [ $i -eq 0 ]; then ocf_log $1 "MySQL is not running" return $OCF_NOT_RUNNING; @@ -471,7 +480,10 @@ mysql_monitor() { status_loglevel="info" fi - update_node_gtid + if [ -f "${OCF_RESKEY_datadir}"/sst_in_progress ]; then + ocf_log info 'SST is in progress' + return $OCF_SUCCESS + fi mysql_status $status_loglevel rc=$? @@ -480,6 +492,8 @@ mysql_monitor() { return $rc fi + update_node_gtid + WSREP_CONNECTED=$($MYSQL $MYSQL_OPTIONS_TEST -s -N \ -e "SHOW STATUS LIKE 'wsrep_connected'" | awk '{print $NF}') rc=$?