Rev 379: merge from jim in http://samba.org/~tridge/ctdb

tridge at samba.org tridge at samba.org
Tue May 29 04:46:30 GMT 2007


------------------------------------------------------------
revno: 379
revision-id: tridge at samba.org-20070529044629-f0jyw51efi8ypu9a
parent: tridge at samba.org-20070529035841-sdafwb84qcxmqt79
parent: jmcd at samba.org-20070528153804-zoljm3ceqi97vcmj
committer: Andrew Tridgell <tridge at samba.org>
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: jmcd at samba.org-20070528153804-zoljm3ceqi97vcmj
    parent: jmcd at samba.org-20070528124547-t59kx019nnlfq3wn
    committer: jmcd at samba.org
    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: jmcd at samba.org-20070528124547-t59kx019nnlfq3wn
    parent: jmcd at samba.org-20070527204818-p00c8jct78tgaxvt
    parent: jmcd at samba.org-20070528124519-1l1a23g76csuf8xq
    committer: jmcd at samba.org
    branch nick: ctdb-jmcd
    timestamp: Mon 2007-05-28 08:45:47 -0400
    message:
      updates from tridge
    ------------------------------------------------------------
    revno: 364.2.1
    merged: jmcd at samba.org-20070528124519-1l1a23g76csuf8xq
    parent: tridge at samba.org-20070527145110-4dwpd6btx287elvc
    parent: tridge at samba.org-20070528101145-v3hxch4bnxdhp7g7
    committer: jmcd at samba.org
    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
+



More information about the samba-cvs mailing list