]> git.pld-linux.org Git - packages/heartbeat.git/blob - heartbeat.init
- Version: 2.99.2 (now without crm, management, gui and stonithd)
[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 CrmEnabled() {
24         case `ha_parameter crm | tr '[A-Z]' '[a-z]'` in
25                 y|yes|enable|on|true|1|manual)      
26                         true;;
27                 *)
28                         false;;
29         esac
30 }
31
32 StandbyHA() {
33   auto_failback=`ha_parameter auto_failback | tr 'A-Z' 'a-z'`
34   nice_failback=`ha_parameter nice_failback | tr 'A-Z' 'a-z'`
35
36   case "$auto_failback" in
37     *legacy*)   echo "auto_failback is set to legacy.  Cannot enter standby."
38                 exit 1;;
39   esac
40   case "$nice_failback" in
41     *off*)      echo "nice_failback is disabled.  Cannot enter standby."
42                 exit 1;;
43   esac
44   case "${auto_failback}${nice_failback}" in
45     "") echo "auto_failback defaulted to legacy.  Cannot enter standby."
46                 exit 1;;
47   esac
48
49   echo "auto_failback: $auto_failback"
50   if
51     $HA_BIN/heartbeat -s >/dev/null 2>&1
52   then
53     show "Attempting to enter standby mode" ; busy
54     if
55       $HA_BIN/hb_standby
56     then
57       # It's impossible to tell how long this will take.
58       started
59     else
60       fail
61     fi
62   else
63     msg_not_running heartbeat
64   fi
65 }
66
67 RunStartStop() {
68 # Run pre-startup script if it exists
69 if [  -f $HA_DIR/resource.d/startstop ]; then
70         $HA_DIR/resource.d/startstop  "$@"
71 fi
72 }
73
74 start() {
75         $HA_BIN/ha_logd -s 2>&1 >/dev/null
76         if [ $? -ne 0 ]; then
77                 msg_starting ha_logd
78                 daemon $HA_BIN/ha_logd -d
79         else
80                 msg_already_running "ha_logd"
81         fi
82         if $HA_BIN/heartbeat -s 2>&1 >/dev/null; then 
83                 msg_already_running "Heartbeat"
84         else
85                 RunStartStop pre-start
86                 if ! CrmEnabled ; then
87                         $HA_NOARCHBIN/ResourceManager verifyallidle
88                 fi
89                 for d in /var/run/heartbeat/{crm,ccm} ; do
90                         if ! [ -d $d ] ; then
91                                 mkdir -p $d
92                                 chown hacluster:haclient $d
93                                 chmod 750 $d
94                         fi
95                 done
96                 msg_starting "Heartbeat"
97                 daemon $HA_BIN/heartbeat 2>&1
98                 touch /var/lock/subsys/heartbeat
99                 RETVAL=$?
100                 RunStartStop post-start $RETVAL
101         fi
102 }
103
104 stop() {
105         RunStartStop "pre-stop"
106         $HA_BIN/heartbeat -s 2>&1 >/dev/null
107         if [ $? -eq 0 ]; then
108                 msg_stopping "Heartbeat"
109                 daemon $HA_BIN/heartbeat -k
110         else
111                 msg_not_running heartbeat
112         fi
113         RunStartStop post-stop $RETVAL
114         $HA_BIN/ha_logd -s 2>&1 >/dev/null
115         if [ $? -eq 0 ]; then
116                 msg_stopping ha_logd
117                 killproc ha_logd
118         else
119                 msg_not_running ha_logd
120         fi
121         rm -f /var/lock/subsys/heartbeat 2>/dev/null
122 }
123
124 RETVAL=0
125 case "$1" in
126   start)
127         start
128         ;;
129   standby)
130         StandbyHA
131         RETVAL=$?
132         ;;
133   status)
134         $HA_BIN/heartbeat -s
135         RETVAL=$?
136         ;;
137   stop)
138         stop
139         ;;
140   restart)
141         stop
142         start
143         ;;
144   force-reload|reload)
145         msg_reloading "Heartbeat"
146         daemon $HA_BIN/heartbeat -r
147         RETVAL=$?
148         ;;
149   *)
150         msg_usage "$0 {start|stop|status|standby|restart|reload|force-reload}"
151         exit 3
152         ;;
153 esac
154
155 exit $RETVAL
This page took 0.080464 seconds and 3 git commands to generate.