| #!/sbin/runscript |
| # Copyright 1999-2005 Gentoo Foundation |
| # Adaption of the original RedHat script |
| # Original Copyright (C) 2003 Red Hat, Inc. |
| # Distributed under the terms of the GNU General Public License v2 |
| # $Id$ |
| |
| depend() { |
| use net |
| need cman |
| } |
| |
| # We'd like a reload method as well |
| opts="${opts} reload" |
| |
| ID="Cluster Resource Manager" |
| RGMGRD=$(which clurgmgrd) |
| RMTABD=$(which clurmtabd) |
| CFG_FILE="/etc/cluster/cluster.conf" |
| |
| LOG_ERR=3 |
| LOG_WARNING=4 |
| LOG_NOTICE=5 |
| LOG_INFO=6 |
| |
| # |
| # If we're not configured, then don't start anything. |
| # |
| [ -f "$CFG_FILE" ] || exit 0 |
| |
| |
| # |
| # log_and_print <level> <message> |
| # |
| function log_and_print() |
| { |
| if [ -z "$1" -o -z "$2" ]; then |
| return 1; |
| fi |
| |
| clulog -p $$ -n "rgmanager" -s $1 "$2" |
| echo $2 |
| |
| return 0; |
| } |
| |
| |
| # |
| # Bring down the cluster on a node. |
| # |
| function stop_cluster() |
| { |
| kill -TERM $(pidof $RGMGRD) |
| |
| while [ 0 ]; do |
| if [ -n "`pidof $RGMGRD`" ]; then |
| while [ -n "`pidof $RGMGRD`" ]; do |
| sleep 1 |
| done |
| einfo "Waiting for $(basename ${RGMGRD})" |
| else |
| eend "Services are stopped." |
| fi |
| |
| # Ensure all NFS rmtab daemons are dead. |
| killall $(basename ${RMTABD}) &> /dev/null |
| |
| rm -f /var/run/$(basename ${RGMGRD}).pid |
| |
| return 0 |
| done |
| } |
| |
| |
| |
| function start() { |
| ebegin "Starting cluster resource manager" |
| start-stop-daemon --start --quiet --exec ${RGMGRD} ${RGMGR_OPTS} |
| ret=$? |
| if [ $ret -eq 0 ]; then |
| touch /var/lock/subsys/rgmanager |
| fi |
| eend $ret |
| } |
| |
| function restart() { |
| pidof ${RGMGRD} &> /dev/null |
| if [ ${?} -ne 1 ]; then |
| svc_stop |
| fi |
| svc_start |
| } |
| |
| function reload() { |
| clulog -p ${LOG_NOTICE} "Reloading Resource Configuration." |
| ebegin "Reloading Resource Configuration " |
| kill -s HUP $(pidof ${RGMGRD} ) |
| rv=${?} |
| eend |
| exit ${rv} |
| } |
| |
| function stop() { |
| ebegin "Shutting down cluster resource manager" |
| if [ -n "$(pidof ${RGMGRD})" ]; then |
| stop_cluster |
| fi |
| rm -f /var/lock/subsys/rgmanager |
| eend |
| } |