From 7f1dd86443d7ef55f4ce82b4174c17e00c545df9 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Tue, 24 Jun 2014 16:58:55 -0700 Subject: [PATCH] CLOUDSTACK-6989: Add 3 strikes rule for RvR freezing detection Sometime in VR ntpd would move time backward to keep sync with NTP server, which can result in false alarm of keepalived monitering process. This patch adds 3 strikes for keepalived process dead detection to avoid falsely shutdown keepalived process due to time adjustment for only once. (cherry picked from commit 75c9a20c7773c268c02fb006d1a7820cb427c94c) Signed-off-by: Rohit Yadav --- .../redundant_router/check_heartbeat.sh.templ | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/systemvm/patches/debian/config/root/redundant_router/check_heartbeat.sh.templ b/systemvm/patches/debian/config/root/redundant_router/check_heartbeat.sh.templ index 95cabd6b067..d6bdc5d63e3 100755 --- a/systemvm/patches/debian/config/root/redundant_router/check_heartbeat.sh.templ +++ b/systemvm/patches/debian/config/root/redundant_router/check_heartbeat.sh.templ @@ -17,12 +17,27 @@ # under the License. +STRIKE_FILE="[RROUTER_BIN_PATH]/keepalived.strikes" + if [ -e [RROUTER_BIN_PATH]/keepalived.ts2 ] then lasttime=$(cat [RROUTER_BIN_PATH]/keepalived.ts2) thistime=$(cat [RROUTER_BIN_PATH]/keepalived.ts) diff=$(($thistime - $lasttime)) + s=0 if [ $diff -lt 30 ] + then + if [ -e $STRIKE_FILE ] + then + s=`cat $STRIKE_FILE 2>/dev/null` + fi + s=$(($s+1)) + echo $s > $STRIKE_FILE + else + rm $STRIKE_FILE + fi + #3 strikes rule + if [ $s -gt 2 ] then echo Keepalived process is dead! >> [RROUTER_LOG] [RROUTER_BIN_PATH]/services.sh stop >> [RROUTER_LOG] 2>&1