public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
From: "Fabio M. Di Nitto" <fabbione@fedoraproject.org>
To: cluster-cvs-relay@redhat.com
Subject: cluster: STABLE3 - cman init: improve cman config check
Date: Fri, 27 Mar 2009 19:48:00 -0000	[thread overview]
Message-ID: <20090327190642.0ED1812020C@lists.fedorahosted.org> (raw)

Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7c61522722a1f068474689583c91d1604bb4cbe5
Commit:        7c61522722a1f068474689583c91d1604bb4cbe5
Parent:        22a4c3182219454c23ee5573cb781e0f6f7fd22d
Author:        Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate:    Thu Mar 26 08:45:19 2009 +0100
Committer:     Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Fri Mar 27 20:05:46 2009 +0100

cman init: improve cman config check

move the whole cman config check into its own functions

add basic check for xmlconfig

fix nok() function to print the error (spotted while testing new function)

pass default config file from the Makefile to the init script

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
 cman/init.d/Makefile |    2 +
 cman/init.d/cman.in  |   64 ++++++++++++++++++++++++++++++-------------------
 2 files changed, 41 insertions(+), 25 deletions(-)

diff --git a/cman/init.d/Makefile b/cman/init.d/Makefile
index c7a226b..dca9c37 100644
--- a/cman/init.d/Makefile
+++ b/cman/init.d/Makefile
@@ -14,6 +14,8 @@ $(TARGET): $(S)/$(TARGET).in
 		-e 's#@SBINDIR@#${sbindir}#g' \
 		-e 's#@INITDDIR@#${initddir}#g' \
 		-e 's#@NOTIFYDDIR@#${notifyddir}#g' \
+		-e 's#@CONFDIR@#${CONFDIR}#g' \
+		-e 's#@CONFFILE@#${CONFFILE}#g' \
 	> $(TARGET)
 
 clean: generalclean
diff --git a/cman/init.d/cman.in b/cman/init.d/cman.in
index 0d097d7..7505f83 100644
--- a/cman/init.d/cman.in
+++ b/cman/init.d/cman.in
@@ -147,6 +147,7 @@ ok() {
 }
 
 nok() {
+	echo $errmsg
 	failure
 	echo
 	exit 1
@@ -277,6 +278,43 @@ runwrap()
 	fi
 }
 
+# NOTE: this could probably grow a bit to do config sanity checks
+cman_checkconfig()
+{
+	case "$CONFIG_LOADER" in
+	ldapconfig)
+		if [ -n "$LDAP_URL" ] || [ -n "$LDAP_BASEDN" ]; then
+			if [ -n "$LDAP_BINDDN" ]; then
+				if [ -z "$LDAP_BINDPWD" ]; then
+					errmsg="ldadconfig has been select but LDAP_BINDPWD is not set"
+					return 1
+				fi
+			fi
+			if [ -n "$LDAP_BINDPWD" ]; then
+				if [ -z "$LDAP_BINDDN" ]; then
+					errmsg="ldadconfig has been select but LDAP_BINDDN is not set"
+					return 1
+				fi
+			fi
+		else
+			errmsg="ldadconfig has been select but neither LDAP_URL or LDAP_BASEDN have been set"
+			return 1
+		fi
+	;;
+	xmlconfig|"")
+		configfile=@CONFDIR@/@CONFFILE@
+		[ -n "$COROSYNC_CLUSTER_CONFIG_FILE" ] && \
+			configfile=$COROSYNC_CLUSTER_CONFIG_FILE
+
+		if [ ! -f $configfile ]; then
+			errmsg="xmlconfig cannot find $configfile"
+			return 1
+		fi
+	;;
+	esac
+	return 0
+}
+
 ### the real stuff starts here
 
 load_modules()
@@ -299,31 +337,7 @@ start_configfs()
 start_cman()
 {
 	# cman
-	if ! cman_running; then
-		case "$CONFIG_LOADER" in
-		ldapconfig)
-			if [ -n "$LDAP_URL" ] || [ -n "$LDAP_BASEDN" ]; then
-				if [ -n "$LDAP_BINDDN" ]; then
-					if [ -z "$LDAP_BINDPWD" ]; then
-						errmsg="ldadconfig has been select but LDAP_BINDPWD is not set"
-						return 1
-					fi
-				fi
-				if [ -n "$LDAP_BINDPWD" ]; then
-					if [ -z "$LDAP_BINDDN" ]; then
-						errmsg="ldadconfig has been select but LDAP_BINDDN is not set"
-						return 1
-					fi
-				fi
-			else
-				errmsg="ldadconfig has been select but neither LDAP_URL or LDAP_BASEDN have been set"
-				return 1
-			fi
-		;;
-		*)
-			# nothing to do for now
-		;;
-		esac
+	if ! cman_running && cman_checkconfig; then
 		errmsg=$( @SBINDIR@/cman_tool -t $CMAN_CLUSTER_TIMEOUT -w join \
 			$cman_join_opts 2>&1 ) || return 1
 


                 reply	other threads:[~2009-03-27 19:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090327190642.0ED1812020C@lists.fedorahosted.org \
    --to=fabbione@fedoraproject.org \
    --cc=cluster-cvs-relay@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).