sleep 1
done
}
+
+#-------------------------------------------
+# wait for primary/master failover done
+#-------------------------------------------
+function wait_for_failover_done {
+ timeout=20
+
+ while [ $timeout -gt 0 ]
+ do
+ $PGBIN/psql -p $PGPOOL_PORT -c "show pool_nodes" test >/dev/null 2>&1
+ if [ $? = 0 ];then
+ $PGBIN/psql -p $PGPOOL_PORT -c "show pool_nodes" test |egrep -i "primary|master">/dev/null 2>&1
+ if [ $? = 0 ];then
+ break;
+ fi
+ fi
+ timeout=`expr $timeout - 1`
+ echo "timeout: $timeout"
+ sleep 1
+ done
+}
# trigger failover on node 0
$PG_CTL -D data0 -m f stop
- wait_for_pgpool_startup
+ wait_for_failover_done
$PSQL -c "show pool_nodes" test | sed -e 's/true /false/' > result
if [ ! -s result ];then
./shutdownall