From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5121 invoked by alias); 27 Mar 2009 19:48:31 -0000 Received: (qmail 5115 invoked by alias); 27 Mar 2009 19:48:31 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS X-Spam-Check-By: sourceware.org X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bastion.fedora.phx.redhat.com Subject: cluster: STABLE3 - cman init: improve cman config check To: cluster-cvs-relay@redhat.com X-Project: Cluster Project X-Git-Module: cluster.git X-Git-Refname: refs/heads/STABLE3 X-Git-Reftype: branch X-Git-Oldrev: 22a4c3182219454c23ee5573cb781e0f6f7fd22d X-Git-Newrev: 7c61522722a1f068474689583c91d1604bb4cbe5 From: "Fabio M. Di Nitto" Message-Id: <20090327190642.0ED1812020C@lists.fedorahosted.org> Date: Fri, 27 Mar 2009 19:48:00 -0000 X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Mailing-List: contact cluster-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: cluster-cvs-owner@sourceware.org X-SW-Source: 2009-q1/txt/msg00971.txt.bz2 Gitweb: http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=7c61522722a1f068474689583c91d1604bb4cbe5 Commit: 7c61522722a1f068474689583c91d1604bb4cbe5 Parent: 22a4c3182219454c23ee5573cb781e0f6f7fd22d Author: Fabio M. Di Nitto AuthorDate: Thu Mar 26 08:45:19 2009 +0100 Committer: Fabio M. Di Nitto 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 --- 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