------------------------------------------------------------ revno: 379 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Andrew Tridgell <[EMAIL PROTECTED]> branch nick: tridge timestamp: Tue 2007-05-29 14:46:29 +1000 message: merge from jim modified: packaging/RHEL/makerpms.sh makerpms.sh-20070527204758-biuh7znabuwan3zn-4 packaging/RHEL/setup/ctdb.init ctdb.init-20070527204758-biuh7znabuwan3zn-6 packaging/RHEL/setup/ctdb.sysconfig ctdb.sysconfig-20070527204758-biuh7znabuwan3zn-7 ------------------------------------------------------------ revno: 364.1.3 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: [EMAIL PROTECTED] branch nick: ctdb-jmcd timestamp: Mon 2007-05-28 11:38:04 -0400 message: Next round of packaging updates: - Create/delete source symlink as needed during rpm build - init script updates: - optional port, debuglevel, logfile - autodetect logfile location if smbd exists - build cluster_addresses file - create tmp dbdir (Tridge, do you want this to be a fixed location instead?) ------------------------------------------------------------ revno: 364.1.2 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: [EMAIL PROTECTED] branch nick: ctdb-jmcd timestamp: Mon 2007-05-28 08:45:47 -0400 message: updates from tridge ------------------------------------------------------------ revno: 364.2.1 merged: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: [EMAIL PROTECTED] branch nick: ctdb timestamp: Mon 2007-05-28 08:45:19 -0400 message: updates from tridge === modified file 'packaging/RHEL/makerpms.sh' --- a/packaging/RHEL/makerpms.sh 2007-05-27 20:48:18 +0000 +++ b/packaging/RHEL/makerpms.sh 2007-05-28 15:38:04 +0000 @@ -48,16 +48,20 @@ 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 @@ ${RPM} -ba --clean --rmsource $EXTRA_OPTIONS $SPECFILE echo "$(basename $0): Done." +[ ${REMOVE_LN} ] && rm $REMOVE_LN
=== modified file 'packaging/RHEL/setup/ctdb.init' --- a/packaging/RHEL/setup/ctdb.init 2007-05-27 20:48:18 +0000 +++ b/packaging/RHEL/setup/ctdb.init 2007-05-28 15:38:04 +0000 @@ -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 @@ # 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: " === modified file 'packaging/RHEL/setup/ctdb.sysconfig' --- a/packaging/RHEL/setup/ctdb.sysconfig 2007-05-27 20:48:18 +0000 +++ b/packaging/RHEL/setup/ctdb.sysconfig 2007-05-28 15:38:04 +0000 @@ -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 +