blob: 56b3765a47eb591aee55e8daed4412659a039140 [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
HA_DIR=/etc/ha.d
. $HA_DIR/shellfuncs
depend() {
use logger
need net
}
opts="start stop status reload restart"
CheckBool() {
case `echo "$1" | tr A-Z a-z` in
y|yes|enable|on|true|1) true;;
*) false;;
esac
}
# Run pre-startup script if it exists
RunStartStop() {
[ -f $HA_DIR/resource.d/startstop ] && $HA_DIR/resource.d/startstop "$@"
}
start() {
checkpath -q -d -m 0755 -o root:root /var/run/heartbeat
ebegin "Starting heartbeat"
. $HA_DIR/shellfuncs
# start the log subsystem
CheckBool "`ha_parameter use_logd`" && \
( /usr/lib/heartbeat/ha_logd -s &>/dev/null || \
/usr/lib/heartbeat/ha_logd -d -c /etc/ha.d/ha_logd.cf)
RunStartStop pre-start
CheckBool "`ha_parameter crm`" || \
/usr/lib/heartbeat/ResourceManager verifyallidle
/usr/lib/heartbeat/heartbeat &>/dev/null
ret=$?
RunStartStop post-start
eend ${ret}
}
stop() {
ebegin "Stopping heartbeat"
RunStartStop pre-stop
/usr/lib/heartbeat/heartbeat -k &>/dev/null
ret=$?
RunStartStop post-stop ${ret}
# stop log subsystem
CheckBool "`ha_parameter use_logd`" && \
( /usr/lib/heartbeat/ha_logd -s &>/dev/null && \
/usr/lib/heartbeat/ha_logd -k &>/dev/null )
eend ${ret}
}
status() {
/usr/lib/heartbeat/heartbeat -s
}
reload() {
ebegin "Reloading heartbeat"
/usr/lib/heartbeat/heartbeat -r &>/dev/null
eend $?
}
restart() {
. $HA_DIR/shellfuncs
sleeptime=$(( `ha_parameter deadtime` + 10 ))
svc_stop
ebegin " waiting ${sleeptime}s to allow resource takeover to complete"
sleep ${sleeptime}
eend 0
svc_start
}