diff options
author | Andrew Tridgell <tridge@samba.org> | 2007-05-29 14:46:29 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2007-05-29 14:46:29 +1000 |
commit | db5862279bf71f71d854a324df719590090d46f0 (patch) | |
tree | c00eef1457d89d6e928ae410bf4f702a611c5661 | |
parent | 1140d5a20a9a27d36631fd168d09a849b9a4983c (diff) | |
parent | 239f698b63e9633328ab700c6f244d1e842c2a07 (diff) | |
download | samba-db5862279bf71f71d854a324df719590090d46f0.tar.gz samba-db5862279bf71f71d854a324df719590090d46f0.tar.xz samba-db5862279bf71f71d854a324df719590090d46f0.zip |
merge from jim
(This used to be ctdb commit a41acd1835af91176a2de1c251a8709dc42b65ac)
-rwxr-xr-x | ctdb/packaging/RHEL/makerpms.sh | 11 | ||||
-rwxr-xr-x | ctdb/packaging/RHEL/setup/ctdb.init | 46 | ||||
-rw-r--r-- | ctdb/packaging/RHEL/setup/ctdb.sysconfig | 8 |
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 + |