#! /bin/bash

if [ ! -f /run/keepalived.pid ] || [ ! -f /run/keepalived.pid.save ]; then
	echo "check keepalived.pid and run/keepalived.pid.save file not exists"
	exit 1
fi

NOW_MAIN_PID=$(/usr/bin/cat /run/keepalived.pid)

if [ -f /run/checkers.pid ]; then
	NOW_CHECKERS_PID=$(/usr/bin/cat /run/checkers.pid)
else
	NOW_CHECKERS_PID=0
fi

if [ -f /run/vrrp.pid ]; then
	NOW_VRRP_PID=$(/usr/bin/cat /run/vrrp.pid)
else
	NOW_VRRP_PID=0
fi

count=1;

while read LINE
do
	if [ $count = 1 ]; then
		if [ $NOW_MAIN_PID != $LINE ]; then
			echo "check main pid $LINE ...... [fail]"
			exit 1
		fi
		echo "check main pid $LINE ...... [pass]"
	fi

        if [ $count = 2 ]; then
                if [ $NOW_CHECKERS_PID != $LINE ]; then
			echo "check checker pid $LINE ... [fail]"
                        exit 1
                fi
		echo "check checker pid $LINE ... [pass]"
        fi

        if [ $count = 3 ]; then
                if [ $NOW_VRRP_PID != $LINE ]; then
			echo "check vrrp pid $LINE ...... [fail]"
                        exit 1
                fi
		echo "check vrrp pid $LINE ...... [pass]"
        fi

	count=$[ $count + 1 ]

done < /run/keepalived.pid.save

exit 0
