From: Ronnie Sahlberg Date: Tue, 21 Dec 2010 23:27:53 +0000 (+1100) Subject: 41.HTTPD X-Git-Url: http://git.samba.org/?p=sahlberg%2Fctdb.git;a=commitdiff_plain;h=d21b3a2f527c4f4ca9cf2689d86335b3e7d1a6fe 41.HTTPD Httpd can be very slow to start on some platforms, wait 5 monitor intervals before we try to restart it if it has not bound to port 80 yet. After 10 failed intervals, flag the node as unhealthy. --- diff --git a/config/events.d/41.httpd b/config/events.d/41.httpd index 15a35ea1..e94bde3f 100755 --- a/config/events.d/41.httpd +++ b/config/events.d/41.httpd @@ -52,10 +52,23 @@ case "$1" in exit 0 fi - if ! ctdb_check_tcp_ports 80 ; then - echo "HTTPD is not running. Trying to restart HTTPD." - ctdb_service_start - exit 1 + if ctdb_check_tcp_ports 80 >/dev/null 2>/dev/null ; then + ctdb_counter_init + else + ctdb_counter_incr + + ctdb_check_counter_equal 5 || { + echo "HTTPD is not running. Trying to restart HTTPD." + ctdb_service_stop + ctdb_service_start + exit 0 + } + ctdb_check_counter_limit 10 quiet|| { + echo "HTTPD is not running. Trying to restart HTTPD." + ctdb_service_stop + ctdb_service_start + exit 1 + } fi ;;