public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* cluster: STABLE3 - cman init: improve cman config check
@ 2009-03-27 19:48 Fabio M. Di Nitto
0 siblings, 0 replies; only message in thread
From: Fabio M. Di Nitto @ 2009-03-27 19:48 UTC (permalink / raw)
To: cluster-cvs-relay
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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-03-27 19:48 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-03-27 19:48 cluster: STABLE3 - cman init: improve cman config check Fabio M. Di Nitto
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).