]> git.pld-linux.org Git - packages/heartbeat.git/blob - heartbeat.init
- BR: OpenIPMI-devel >= 2.0.3, remove hack
[packages/heartbeat.git] / heartbeat.init
1 #!/bin/sh
2 #
3 # heartbeat     Starts heartbeat.
4 #
5 # chkconfig:    345 40 60
6 # description:  Heartbeat.
7
8 HA_DIR=/etc/ha.d
9 CONFIG=$HA_DIR/ha.cf
10 . $HA_DIR/shellfuncs
11
12 # Source function library
13 . /etc/rc.d/init.d/functions
14
15 # Get service config
16 [ -f /etc/sysconfig/heartbeat ] && . /etc/sysconfig/heartbeat
17
18 if [ ! -f $CONFIG ]; then
19         nls "Heartbeat not configured: $CONFIG not found."
20         exit 1
21 fi
22
23
24 StandbyHA() {
25   auto_failback=`ha_parameter auto_failback | tr 'A-Z' 'a-z'`
26   nice_failback=`ha_parameter nice_failback | tr 'A-Z' 'a-z'`
27
28   case "$auto_failback" in
29     *legacy*)   echo "auto_failback is set to legacy.  Cannot enter standby."
30                 exit 1;;
31   esac
32   case "$nice_failback" in
33     *off*)      echo "nice_failback is disabled.  Cannot enter standby."
34                 exit 1;;
35   esac
36   case "${auto_failback}${nice_failback}" in
37     "") echo "auto_failback defaulted to legacy.  Cannot enter standby."
38                 exit 1;;
39   esac
40
41   echo "auto_failback: $auto_failback"
42   if
43     StatusHA >/dev/null 2>&1
44   then
45     EchoNoNl "Attempting to enter standby mode"
46     if
47       $HA_BIN/hb_standby
48     then
49       # It's impossible to tell how long this will take.
50       echo
51     else
52       echo_failure $?
53     fi
54   else
55     Echo "Heartbeat is not currently running."
56     exit 1
57   fi
58 }
59
60 RunStartStop() {
61 # Run pre-startup script if it exists
62 if [  -f $HA_DIR/resource.d/startstop ]; then
63         $HA_DIR/resource.d/startstop  "$@"
64 fi
65 }
66
67 RETVAL=0
68
69 case "$1" in
70   start)
71         $HA_BIN/ha_logd -s 2>&1 >/dev/null
72         if [ $? -ne 0 ]; then
73                 msg_starting ha_logd
74                 daemon $HA_BIN/ha_logd -d
75         else
76                 msg_already_running "ha_logd"
77         fi
78         #RunStartStop pre-start
79         msg_starting "High-Availability"
80         daemon $HA_BIN/ResourceManager verifyallidle
81         msg_starting "Heartbeat"
82         daemon $HA_BIN/heartbeat 2>&1
83         RETVAL=$?
84         #RunStartStop post-start $RETVAL
85         ;;
86   standby)
87         StandbyHA
88         RETVAL=$?
89         ;;
90   status)
91         status $HA_BIN/heartbeat -s
92         RETVAL=$?
93         ;;
94   stop)
95         #RunStartStop "pre-stop"
96         $HA_BIN/heartbeat -s 2>&1 >/dev/null
97         if [ $? -eq 0 ]; then
98                 msg_stopping "Heartbeat"
99                 daemon $HA_BIN/heartbeat -k
100         else
101                 msg_not_running heartbeat
102         fi
103         #RunStartStop post-stop $RETVAL
104         $HA_BIN/ha_logd -s 2>&1 >/dev/null
105         if [ $? -eq 0 ]; then
106                 msg_stopping ha_logd
107                 daemon $HA_BIN/ha_logd -k
108         else
109                 msg_not_running ha_logd
110         fi
111         ;;
112   restart)
113         $0 stop
114         $0 start
115         ;;
116   force-reload|reload)
117         msg_reloading "High-Availability"
118         daemon $HA_BIN/heartbeat -r
119         RETVAL=$?
120         ;;
121   *)
122         msg_usage "$0 {start|stop|status|standby|restart|reload|force-reload}"
123         exit 3
124         ;;
125 esac
126
127 exit $RETVAL
This page took 0.070992 seconds and 3 git commands to generate.