diff options
author | Greg Larkin <glarkin@FreeBSD.org> | 2009-12-16 03:40:26 +0000 |
---|---|---|
committer | Greg Larkin <glarkin@FreeBSD.org> | 2009-12-16 03:40:26 +0000 |
commit | e93cee1e6ab8d7319bdfdaf9be8ba2bfaa7a408b (patch) | |
tree | 287149c130699fa34758d442b6794c85b048d4dc /sysutils/heartbeat/files | |
parent | 21d657db3a51d5660a55210051f82a38b83da459 (diff) | |
download | ports-e93cee1e6ab8d7319bdfdaf9be8ba2bfaa7a408b.tar.gz ports-e93cee1e6ab8d7319bdfdaf9be8ba2bfaa7a408b.zip |
Notes
Diffstat (limited to 'sysutils/heartbeat/files')
-rw-r--r-- | sysutils/heartbeat/files/heartbeat.in | 211 | ||||
-rw-r--r-- | sysutils/heartbeat/files/patch-doc-ha.cf | 17 | ||||
-rw-r--r-- | sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in | 39 | ||||
-rw-r--r-- | sysutils/heartbeat/files/pkg-install.in | 7 | ||||
-rw-r--r-- | sysutils/heartbeat/files/pkg-message.in | 7 |
5 files changed, 239 insertions, 42 deletions
diff --git a/sysutils/heartbeat/files/heartbeat.in b/sysutils/heartbeat/files/heartbeat.in new file mode 100644 index 000000000000..9d227270a98a --- /dev/null +++ b/sysutils/heartbeat/files/heartbeat.in @@ -0,0 +1,211 @@ +#!/bin/sh +# + +# PROVIDE: heartbeat +# REQUIRE: LOGIN +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable heartbeat: +# +# heartbeat_enable="YES" Set to NO by default. +# Set to YES to enable heartbeat. +# heartbeat_gracefulstop="YES" Set to NO by default. +# Set to YES to enable more graceful resource +# stopping behaviour at shutdown. + +# Includes +. /etc/rc.subr +HA_DIR=@sysconfdir@/ha.d; export HA_DIR +. $HA_DIR/shellfuncs + +LOCKDIR=@localstatedir@/lock/subsys +SUBSYS=heartbeat +RUNDIR=@localstatedir@/run + +name="heartbeat" +rcvar=`set_rcvar` + +load_rc_config $name +: ${heartbeat_enable="NO"} +: ${heartbeat_gracefulstop="NO"} + +start_cmd="${name}_start" +stop_cmd="${name}_stop" +reload_cmd="${name}_reload" +restart_cmd="${name}_restart" +gracefulstop_cmd="${name}_gracefulstop" +command="$HA_BIN/heartbeat" +pidfile="$RUNDIR/heartbeat.pid" +required_files="$HA_DIR/ha.cf" + +if checkyesno heartbeat_gracefulstop; then + stop_cmd="${gracefulstop_cmd}" +fi + +heartbeat_checkyesno() { + case `ha_parameter $1 | tr '[A-Z]' '[a-z]'` in + + y|yes|enable|on|true|1|manual) true;; + + *) false;; + esac +} + +heartbeat_gracefulstop() { + # Run cluster pre-stop + heartbeat_runstartstop pre-stop + + # Stop heartbeat daemon + $HA_BIN/heartbeat -k >/dev/null 2>&1 + RC=$? + + sleeptime=$((`ha_parameter deadtime` + 10)) + + echo -n "Sleeping $sleeptime seconds to allow complete resource takeover: " + sleep $sleeptime + echo "OK" + + # ??? + if [ $RC -eq 0 ]; then + rm -f $LOCKDIR/$SUBSYS + fi + + # Run cluster post-stop + heartbeat_runstartstop post-stop $RC + + # Stop Logd + logd_stop + + return $RC +} + +heartbeat_reload() { + # Re-reads configuration files. Will *keep* it's resources. + $HA_BIN/heartbeat -r >/dev/null 2>&1 +} + +heartbeat_restart() { + sleeptime=$((`ha_parameter deadtime` + 10)) + + if `heartbeat_stop`; then + echo -n "Sleeping $sleeptime seconds to allow complete resource takeover: " + sleep $sleeptime + echo "OK" + echo "" + echo "Starting heartbeat." + heartbeat_start + else + echo "Heartbeat did not stop correctly." + exit 1 + fi +} + +heartbeat_runstartstop() { + # Run custom cluster commands before/after operations + if [ -f $HA_RESOURCEDIR/startstop ]; then + $HA_RESOURCEDIR/startstop "$@" + fi +} + +heartbeat_start() { + + # Start Logd + logd_start + + # Run cluster pre-startup + heartbeat_runstartstop pre-start + + # Check if CRM enabled + if ! `heartbeat_checkyesno crm`; then + + # Heartbeat v1 configuration + $HA_NOARCHBIN/ResourceManager verifyallidle + fi + + # ??? + rm -f $RUNDIR/ppp.d/* + + if [ ! -d $RUNDIR/heartbeat ]; then + mkdir -p $RUNDIR/heartbeat/ccm + mkdir -p $RUNDIR/heartbeat/crm + chown -R @HA_CCMUSER@:@HA_APIGROUP@ $RUNDIR/heartbeat + chmod -R 750 $RUNDIR/heartbeat + fi + + # Heartbeat v1 configuration files + if [ -f $HA_DIR/ipresources -a ! -f $HA_DIR/haresources ]; then + mv $HA_DIR/ipresources $HA_DIR/haresources + fi + + # Start heartbeat daemon + $HA_BIN/heartbeat > /dev/null 2>&1 + RC=$? + + # ??? + if [ $RC -eq 0 ]; then + if [ ! -d $LOCKDIR ]; then + mkdir -p $LOCKDIR + fi + touch $LOCKDIR/$SUBSYS + fi + + # Run cluster post-startup + heartbeat_runstartstop post-start $RC + + return $RC +} + +heartbeat_stop() { + # Run cluster pre-stop + heartbeat_runstartstop pre-stop + + # Stop heartbeat daemon + $HA_BIN/heartbeat -k >/dev/null 2>&1 + RC=$? + + # ??? + if [ $RC -eq 0 ]; then + rm -f $LOCKDIR/$SUBSYS + fi + + # Run cluster post-stop + heartbeat_runstartstop post-stop $RC + + # Stop Logd + logd_stop + + return $RC +} + +logd_start() { + # Check if enabled. + if `heartbeat_checkyesno use_logd`; then + + # Check if running + if ! `$HA_BIN/ha_logd -s >/dev/null 2>&1`; then + + # Start + if ! `$HA_BIN/ha_logd -d -c $HA_DIR/logd.cf >/dev/null 2>&1`; then + exit 1 + fi + fi + fi +} + +logd_stop() { + # Check if enabled. + if `heartbeat_checkyesno use_logd`; then + + # Check if running + if `$HA_BIN/ha_logd -s >/dev/null 2>&1`; then + + # Stop + $HA_BIN/ha_logd -k >/dev/null 2>&1 + fi + fi +} + +extra_commands="reload gracefulstop" +run_rc_command "$1" + diff --git a/sysutils/heartbeat/files/patch-doc-ha.cf b/sysutils/heartbeat/files/patch-doc-ha.cf new file mode 100644 index 000000000000..dee18c742592 --- /dev/null +++ b/sysutils/heartbeat/files/patch-doc-ha.cf @@ -0,0 +1,17 @@ +--- doc/ha.cf.orig 2008-08-18 12:32:19.000000000 +0000 ++++ doc/ha.cf 2009-12-13 00:16:02.245124213 +0000 +@@ -13,6 +13,14 @@ + # + # All will be fine if you keep them ordered as in this example. + # ++ ++# Enable the Heartbeat v2 Cluster Resource Manager ++# ++# Don't forget to read how to configure v2 and heartbeat in general @ ++# http://www.linux-ha.org/GettingStartedRevisedV2 ++# http://www.linux-ha.org/ha.cf ++crm on ++ + # + # Note on logging: + # If all of debugfile, logfile and logfacility are not defined, diff --git a/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in b/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in deleted file mode 100644 index d2d9ac5ebb2d..000000000000 --- a/sysutils/heartbeat/files/patch-heartbeat-init.d-heartbeat.in +++ /dev/null @@ -1,39 +0,0 @@ ---- heartbeat/init.d/heartbeat.in.orig 2008-08-18 07:32:19.000000000 -0500 -+++ heartbeat/init.d/heartbeat.in 2008-10-16 02:49:27.000000000 -0500 -@@ -45,6 +45,27 @@ - ### END INIT INFO - - -+# FreeBSD -+# PROVIDE: heartbeat -+# REQUIRE: LOGIN -+# KEYWORD: shutdown -+ -+# Add the following line to /etc/rc.conf to enable heartbeat: -+# heartbeat_enable="YES" -+ -+. /etc/rc.subr -+name="heartbeat" -+rcvar='set_rcvar' -+load_rc_config $name -+: ${heartbeat_enable="NO"} -+ -+if ! checkyesno "heartbeat_enable"; then -+ exit 0 -+fi -+ -+set `echo $1 | sed s/fast//` -+ -+ - HA_DIR=@sysconfdir@/ha.d; export HA_DIR - CONFIG=$HA_DIR/ha.cf - . $HA_DIR/shellfuncs -@@ -161,7 +182,7 @@ - fi - - -- $HA_BIN/ha_logd -d >/dev/null 2>&1 -+ $HA_BIN/ha_logd -d -c $HA_DIR/logd.cf >/dev/null 2>&1 - if - [ $? -ne 0 ] - then diff --git a/sysutils/heartbeat/files/pkg-install.in b/sysutils/heartbeat/files/pkg-install.in index e69117e84a9d..f107f12fc778 100644 --- a/sysutils/heartbeat/files/pkg-install.in +++ b/sysutils/heartbeat/files/pkg-install.in @@ -6,6 +6,7 @@ UID=275 GID=${UID} BATCH=${BATCH:-%%BATCH%%} +PREFIX=${PREFIX:-%%PREFIX%%} case $2 in @@ -81,9 +82,9 @@ DEINSTALL) # Check for running processes echo -n "Checking if heartbeat is running... " if ps -axc | grep -q heartbeat; then - echo -n "FOUND " - killall heartbeat - echo "KILLED" + echo -n "FOUND. Stopping... " + ${PREFIX}/etc/rc.d/heartbeat forcestop + echo "STOPPED" else echo "NO" fi diff --git a/sysutils/heartbeat/files/pkg-message.in b/sysutils/heartbeat/files/pkg-message.in index 91dbbb67c257..656989b802a7 100644 --- a/sysutils/heartbeat/files/pkg-message.in +++ b/sysutils/heartbeat/files/pkg-message.in @@ -7,6 +7,13 @@ ## ## # # + CONFIGURATION: + - Please read the below site for configuration + changes between version 1 and 2. + + http://www.linux-ha.org/GettingStartedRevisedV2 + + INFORMATION: - Configuration directory: %%PREFIX%%/etc/ha.d |