summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-05-29 14:46:29 +1000
committerAndrew Tridgell <tridge@samba.org>2007-05-29 14:46:29 +1000
commitdb5862279bf71f71d854a324df719590090d46f0 (patch)
treec00eef1457d89d6e928ae410bf4f702a611c5661
parent1140d5a20a9a27d36631fd168d09a849b9a4983c (diff)
parent239f698b63e9633328ab700c6f244d1e842c2a07 (diff)
downloadsamba-db5862279bf71f71d854a324df719590090d46f0.tar.gz
samba-db5862279bf71f71d854a324df719590090d46f0.tar.xz
samba-db5862279bf71f71d854a324df719590090d46f0.zip
merge from jim
(This used to be ctdb commit a41acd1835af91176a2de1c251a8709dc42b65ac)
-rwxr-xr-xctdb/packaging/RHEL/makerpms.sh11
-rwxr-xr-xctdb/packaging/RHEL/setup/ctdb.init46
-rw-r--r--ctdb/packaging/RHEL/setup/ctdb.sysconfig8
3 files changed, 51 insertions, 14 deletions
diff --git a/ctdb/packaging/RHEL/makerpms.sh b/ctdb/packaging/RHEL/makerpms.sh
index 8d847bbd51..3becfa65ec 100755
--- a/ctdb/packaging/RHEL/makerpms.sh
+++ b/ctdb/packaging/RHEL/makerpms.sh
@@ -48,16 +48,20 @@ fi
popd
pushd .
-cd ../../../
-chown -R ${USERID}.${GRPID} ctdb
+cd ../../
+BASEDIR=`basename $PWD`
+cd ..
+chown -R ${USERID}.${GRPID} $BASEDIR
if [ ! -d ctdb-${VERSION} ]; then
- ln -s ctdb ctdb-${VERSION} || exit 1
+ ln -s $BASEDIR ctdb-${VERSION} || exit 1
+ REMOVE_LN=$PWD/ctdb-$VERSION
fi
echo -n "Creating ctdb-${VERSION}.tar.bz2 ... "
tar --exclude=.bzr --exclude .bzrignore --exclude packaging -cf - ctdb-${VERSION}/. | bzip2 > ${SRCDIR}/ctdb-${VERSION}.tar.bz2
echo "Done."
if [ $? -ne 0 ]; then
echo "Build failed!"
+ [ ${REMOVE_LN} ] && rm $REMOVE_LN
exit 1
fi
@@ -78,4 +82,5 @@ cd ${SPECDIR}
${RPM} -ba --clean --rmsource $EXTRA_OPTIONS $SPECFILE
echo "$(basename $0): Done."
+[ ${REMOVE_LN} ] && rm $REMOVE_LN
diff --git a/ctdb/packaging/RHEL/setup/ctdb.init b/ctdb/packaging/RHEL/setup/ctdb.init
index 2ea65d1e11..2d6b9205c9 100755
--- a/ctdb/packaging/RHEL/setup/ctdb.init
+++ b/ctdb/packaging/RHEL/setup/ctdb.init
@@ -1,13 +1,9 @@
#!/bin/sh
#
-# chkconfig: - 91 35
-# description: Starts and stops the Samba smbd and nmbd daemons \
-# used to provide SMB network services.
+# chkconfig: - 90 36
+# description: Starts and stops the clustered tdb daemon
#
-# pidfile: /var/run/samba/smbd.pid
-# pidfile: /var/run/samba/nmbd.pid
-# config: /etc/samba/smb.conf
-
+# pidfile: /var/run/ctdbd/ctdbd.pid
# Source function library.
if [ -f /etc/init.d/functions ] ; then
@@ -24,18 +20,48 @@ unset TMPDIR
# Source networking configuration.
. /etc/sysconfig/network
+# There is no "default" config so we must have this file with
+# CLUSTER_NODES and PUBLIC_ADDRESSES
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
-# Check that smb.conf exists.
-[ -f /etc/samba/smb.conf ] || exit 0
-RETVAL=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
start() {
echo -n $"Starting ctdbd services: "
diff --git a/ctdb/packaging/RHEL/setup/ctdb.sysconfig b/ctdb/packaging/RHEL/setup/ctdb.sysconfig
index e9e5774a40..7dd49877cf 100644
--- a/ctdb/packaging/RHEL/setup/ctdb.sysconfig
+++ b/ctdb/packaging/RHEL/setup/ctdb.sysconfig
@@ -1,2 +1,8 @@
# Options to ctdbd
-CTDBDOPTIONS="--nlist=/etc/samba/cluster_addresses.txt --dbdir=/var/lock/samba/ctdb --logfile=/var/log/samba/log.ctdb --public-addresses=/etc/samba/public_addresses.txt --public-interface=eth0"
+CLUSTER_NODES=/etc/samba/cluster_nodes.txt
+PUBLIC_ADDRESSES=/etc/samba/public_addresses.txt
+PUBLIC_INTERFACE=eth0
+#CTDB_PORT=9001
+#LOGFILE=/var/log/samba/log.ctdb
+#DEBUGLEVEL=0
+