cluster: STABLE3 - init: merge qdisk init script into cman init

Fabio M. Di Nitto fabbione@fedoraproject.org
Fri Mar 20 04:22:00 GMT 2009


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=a9cc3a406e96b782078ccd6c9786df2f9030d1fc
Commit:        a9cc3a406e96b782078ccd6c9786df2f9030d1fc
Parent:        b4fdfead0d853edbf37dfdb5b96649caa6dc33be
Author:        Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate:    Fri Mar 20 05:20:49 2009 +0100
Committer:     Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Fri Mar 20 05:20:49 2009 +0100

init: merge qdisk init script into cman init

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
 cman/init.d/Makefile  |   19 ++-----
 cman/init.d/cman.in   |   61 ++++++++++++++++--------
 cman/init.d/qdiskd.in |  123 -------------------------------------------------
 3 files changed, 46 insertions(+), 157 deletions(-)

diff --git a/cman/init.d/Makefile b/cman/init.d/Makefile
index 554aa75..c7a226b 100644
--- a/cman/init.d/Makefile
+++ b/cman/init.d/Makefile
@@ -1,26 +1,19 @@
-TARGET1=cman
-TARGET2=qdiskd
+TARGET=cman
 
-INITDT=$(TARGET1) $(TARGET2)
+INITDT=$(TARGET)
 
-all: $(TARGET1) $(TARGET2)
+all: $(TARGET)
 
 include ../../make/defines.mk
 include $(OBJDIR)/make/clean.mk
 include $(OBJDIR)/make/install.mk
 include $(OBJDIR)/make/uninstall.mk
 
-$(TARGET1): $(S)/$(TARGET1).in
-	cat $(S)/$(TARGET1).in | sed \
+$(TARGET): $(S)/$(TARGET).in
+	cat $(S)/$(TARGET).in | sed \
 		-e 's#@SBINDIR@#${sbindir}#g' \
 		-e 's#@INITDDIR@#${initddir}#g' \
 		-e 's#@NOTIFYDDIR@#${notifyddir}#g' \
-	> $(TARGET1)
-
-$(TARGET2): $(S)/$(TARGET2).in
-	cat $(S)/$(TARGET2).in | sed \
-		-e 's#@SBINDIR@#${sbindir}#g' \
-		-e 's#@INITDDIR@#${initddir}#g' \
-	> $(TARGET2)
+	> $(TARGET)
 
 clean: generalclean
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index bbaec7a..f218fef 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -225,27 +225,10 @@ unfence_self()
 
 start_qdiskd()
 {
-    declare current_runlevel
-
-    current_runlevel=$(/sbin/runlevel 2>/dev/null | awk '{ print $2 }' 2>/dev/null)
-    #
-    # Start qdiskd before fenced to resolve bug #436381.  This only
-    # happens if qdiskd is configured to run in the runlevel we are in
-    #
-    chkconfig --levels "$current_runlevel" qdiskd 2>/dev/null
-    if [ $? -ne 0 ]; then
-        # qdiskd doesn't start at this runlevel.
-        return 0
-    fi
-
-    echo -n "   Starting qdiskd... "
-    service qdiskd start > /dev/null 2>&1
-    if [ $? -eq 0 ] 
-    then
-	echo "done"
-    else
-	echo "failed"
-	return 1
+    status qdiskd > /dev/null 2>&1
+    if [ $? -ne 0 ] && \
+	ccs_tool query /cluster/quorumd >/dev/null 2>&1; then
+	errmsg=$( @SBINDIR@/qdiskd -Q 2>&1 ) || return 1
     fi
     return 0
 }
@@ -495,7 +478,15 @@ start()
         return 1
     fi
 
+    echo -n "   Starting qdiskd... "
     start_qdiskd
+    if [ $? -eq 0 ]
+    then
+	echo "done"
+    else
+	echo "failed"
+	return 1
+    fi
 
     echo -n "   Starting daemons... "
     start_daemons
@@ -585,6 +576,24 @@ stop_cmannotifyd()
     return 0
 }
 
+stop_qdiskd()
+{
+    retries=0
+
+    pid="$(pidof qdiskd)"
+    while [ -n "$pid" ] && [ $retries -lt 5 ]; do
+	kill $pid 2>&1
+	sleep 1
+	((retries++))
+	pid="$(pidof qdiskd)"
+    done
+    if [ -z "$(pidof qdiskd)" ]; then
+	return 0
+    else
+	return 1
+    fi
+}
+
 stop_fence()
 {
     if pidof fenced > /dev/null 2>&1
@@ -646,6 +655,16 @@ stop()
 	return 1
     fi
 
+    echo -n "   Stopping the Quorum Disk Daemon: "
+    stop_qdiskd
+    if [ $? -eq 0 ]
+    then
+	echo "done"
+    else
+	echo "failed"
+	return 1
+    fi
+
     echo -n "   Stopping cman... "
     if [ $1 ]; then
 	stop_cman $1
diff --git a/cman/init.d/qdiskd.in b/cman/init.d/qdiskd.in
deleted file mode 100644
index e40654e..0000000
--- a/cman/init.d/qdiskd.in
+++ /dev/null
@@ -1,123 +0,0 @@
-#!/bin/bash
-#
-# qdiskd quorum disk daemon
-#
-# chkconfig: - 22 78
-# description: Starts and stops the quorum disk daemon
-
-### BEGIN INIT INFO
-# Provides: 		qdiskd
-# Required-Start:	cman
-# Required-Stop:	cman
-# Default-Start:
-# Default-Stop:
-# Short-Description:	start/stop quorum disk daemon
-# Description:		start/stop quorum disk daemon
-### END INIT INFO
-
-# set secure PATH
-PATH="/bin:/usr/bin:/sbin:/usr/sbin:@SBINDIR@"
-
-success()
-{
-    echo -ne "[  OK  ]\r"
-}
-
-failure()
-{
-    echo -ne "[FAILED]\r"
-}
-
-status()
-{
-    pid=$(pidof $1 2>/dev/null)
-    rtrn=$?
-    if [ $rtrn -ne 0 ]; then
-        echo "$1 is stopped"
-    else
-        echo "$1 (pid $pid) is running..."
-    fi
-    return $rtrn
-}
-
-# rpm based distros
-if [ -d /etc/sysconfig ]; then
-	[ -f @INITDDIR@/functions ] && . @INITDDIR@/functions
-	[ -f /etc/sysconfig/cluster ] && . /etc/sysconfig/cluster
-	[ -f /etc/sysconfig/qdiskd ] && . /etc/sysconfig/qdiskd
-	[ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/subsys/qdiskd"
-fi
-
-# deb based distros
-if [ -d /etc/default ]; then
-	[ -f /etc/default/cluster ] && . /etc/default/cluster
-	[ -f /etc/default/qdiskd ] && . /etc/default/qdiskd
-	[ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/qdiskd"
-fi
-
-rtrn=1
-retries=0
-
-# See how we were called.
-case "$1" in
-  start)
-	echo -n "Starting the Quorum Disk Daemon: "
-
-	status qdiskd >/dev/null
-	if [ $? -eq 0 ]; then
-		success
-		echo
-		exit 0
-	fi
-
-	@SBINDIR@/qdiskd -Q
-	rtrn=$?
-	if [ $rtrn = 0 ]; then
-		touch $LOCK_FILE
-		success
-		echo
-	else
-		failure
-		echo
-	fi
-		
-	;;
-
-  stop)
-	echo -n "Stopping the Quorum Disk Daemon: "
-	pid="$(pidof qdiskd)"
-	while [ -n "$pid" ] && [ $retries -lt 5 ]; do
-		kill $pid 2>&1
-		sleep 1
-		((retries++))
-		pid="$(pidof qdiskd)"
-	done
-	if [ -z "$(pidof qdiskd)" ]; then
-		success
-		echo
-		rtrn=0
-		rm -f $LOCK_FILE
-	else
-		failure
-		echo
-		rtrn=1
-	fi
-	;;
-
-  restart|reload)
-	$0 stop || exit $?
-	$0 start 
-	rtrn=$?
-	;;
-
-  status)
-	status qdiskd
-	rtrn=$?
-	;;
-
-  *)
-	echo "Usage: $0 {start|stop|reload|restart|status}"
-	;;
-esac
-
-exit $rtrn



More information about the Cluster-cvs mailing list