master - cman: make ccsd startup optional and allow override of config loader
Fabio M. Di Nitto
fabbione@fedoraproject.org
Thu Aug 14 14:46:00 GMT 2008
Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=3fc1b89bcf0f0b2bfd53da2541e023865619cf24
Commit: 3fc1b89bcf0f0b2bfd53da2541e023865619cf24
Parent: 16f532e1d432fd13256079a6c34963843fe4f1c4
Author: Fabio M. Di Nitto <fdinitto@redhat.com>
AuthorDate: Thu Aug 7 06:04:30 2008 +0200
Committer: Fabio M. Di Nitto <fdinitto@redhat.com>
CommitterDate: Thu Aug 14 15:18:02 2008 +0200
cman: make ccsd startup optional and allow override of config loader
implement support for CONFIG_LOADER envvar to select what config parsers
should cman use.
start ccsd only of we explicity select ccsconfig CONFIG_LOADER.
perform basic sanity check for other loaders into init script.
add some documentation on what loaders are available.
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
cman/init.d/cman | 64 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 54 insertions(+), 10 deletions(-)
diff --git a/cman/init.d/cman b/cman/init.d/cman
index 48313df..34932af 100644
--- a/cman/init.d/cman
+++ b/cman/init.d/cman
@@ -78,6 +78,19 @@ fi
[ -n "$NODENAME" ] && cman_join_opts+=" -n $NODENAME"
+# CONFIG_LOADER -- select default config parser.
+# This can be:
+# xmlconfig - read directly from cluster.conf and use ricci as default config
+# propagation method. (default)
+# ldapconfig - read configuration from an ldap server.
+# Requires: LDAP_URL or/and LDAP_BASEDN envvar to be set.
+# LDAP_BINDDN and LDAP_BINDPWD have to be either both set or both unset.
+# corosync_parser - use internal corosync config file parser.
+# openaisparser - use internal openais config file parser.
+# ccsconfig - read configuration from ccsd daemon. This method is deprecated
+# and available only if building the code with --enable_legacy_code.
+[ -n "$CONFIG_LOADER" ] && cman_join_opts+=" -C $CONFIG_LOADER"
+
load_modules()
{
errmsg=$( /sbin/modprobe configfs 2>&1 ) || return 1
@@ -118,6 +131,47 @@ start_cman()
/sbin/cman_tool status &> /dev/null
if [ $? -ne 0 ]
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
+ ;;
+ ccsconfig)
+ if [ -x /sbin/ccsd ]; then
+ echo -n " Starting ccsd... "
+ start_ccsd
+ if [ $? -eq 0 ]
+ then
+ echo "done"
+ else
+ echo "failed"
+ errmsg="Unable to start ccsd"
+ return 1
+ fi
+ else
+ errmsg="ccsconfig has been selected but ccsd does not appear to be installed or executable"
+ return 1
+ fi
+ ;;
+ *)
+ # nothing to do for now
+ ;;
+ esac
errmsg=$( /sbin/cman_tool -t $CMAN_CLUSTER_TIMEOUT -w join \
$cman_join_opts 2>&1 ) || return 1
@@ -358,16 +412,6 @@ start()
return 1
fi
- echo -n " Starting ccsd... "
- start_ccsd
- if [ $? -eq 0 ]
- then
- echo "done"
- else
- echo "failed"
- return 1
- fi
-
echo -n " Starting cman... "
start_cman
if [ $? -eq 0 ]
More information about the Cluster-cvs
mailing list