# Source networking configuration.
. /etc/sysconfig/network
-# There is no "default" config so we must have this file with
-# CLUSTER_NODES and PUBLIC_ADDRESSES
+# pull in admin specified config
if [ -f /etc/sysconfig/ctdb ]; then
. /etc/sysconfig/ctdb
- if [ -z $CLUSTER_NODES ] || [ -z $PUBLIC_ADDRESSES ]; then
- exit 0
- fi
-else
- exit 0
fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
-
-CLUSTER_BASEDIR=`dirname $CLUSTER_NODES`
-CLUSTER_ADDRESSES=$CLUSTER_BASEDIR/cluster_addresses.txt
-[ -z $CTDB_PORT ] && CTDB_PORT=9001
-[ -z $DEBUGLEVEL ] && DEBUGLEVEL=0
-if [ -z $LOGFILE ]; then
- LOGFILEBASE=`smbd -b | grep LOGFILEBASE | awk '{print $2}'`
- if [ -z $LOGFILEBASE ]; then
- echo "must have LOGFILE specified or smbd installed"
- return 0
- fi
- LOGFILE=$LOGFILEBASE/log.ctdb
-fi
-
-# build the cluster addresses file
-TMP_ADDRESSES=`mktemp -t cluster_addresses.XXXXXXXX`
-rm -f $TMP_ADDRESSES
-for a in `egrep '^[[:alnum:]]' $CLUSTER_NODES`; do
- echo "$a:$CTDB_PORT" >> $TMP_ADDRESSES
-done
-mv -f $TMP_ADDRESSES $CLUSTER_ADDRESSES
-
-# create the temporary local dbdir
-DBDIR=`mktemp -td ctdb.XXXXXXXX`
-CTDBOPTIONS="--nlist=$CLUSTER_ADDRESSES --public-addresses=$PUBLIC_ADDRESSES --public-interface=$PUBLIC_INTERFACE --dbdir=$DBDIR --logfile=$LOGFILE -d $DEBUGLEVEL"
-
-echo ctdbd $CTDBOPTIONS
-exit 0
+# build up CTDB_OPTIONS variable
+CTDB_OPTIONS=""
+[ -z "$LOGFILE" ] || CTDB_OPTIONS="$CTDB_OPTIONS --logfile=$LOGFILE"
+[ -z "$PUBLIC_ADDRESSES" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-addresses=$PUBLIC_ADDRESSES"
+[ -z "$NODES" ] || CTDB_OPTIONS="$CTDB_OPTIONS --nlist=$NODES"
+[ -z "$PUBLIC_INTERFACE" ] || CTDB_OPTIONS="$CTDB_OPTIONS --public-interface=$PUBLIC_INTERFACE"
+[ -z "$DBDIR" ] || CTDB_OPTIONS="$CTDB_OPTIONS --dbdir=$DBDIR"
+[ -z "$DEBUGLEVEL" ] || CTDB_OPTIONS="$CTDB_OPTIONS -d $DEBUGLEVEL"
start() {
echo -n $"Starting ctdbd services: "
- daemon ctdbd $CTDBDOPTIONS
+ daemon ctdbd $CTDB_OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ctdb || \
stop() {
echo -n $"Shutting down ctdbd services: "
- killproc ctdbd
+ ctdb shutdown
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ctdb
}
rhstatus() {
- status ctdbd
+ ctdb status
if [ $? -ne 0 ] ; then
return 1
fi
exit $?
fi
-# Check that we can write to it... so non-root users stop here
-[ -w /etc/samba/smb.conf ] || exit 0
-
-
-
case "$1" in
start)
start