------------------------------------------------------------ revno: 411 revision-id: [EMAIL PROTECTED] parent: [EMAIL PROTECTED] committer: Andrew Tridgell <[EMAIL PROTECTED]> branch nick: tridge timestamp: Fri 2007-06-01 13:50:18 +1000 message: added CTDB_WAIT_DIRECTORIES support modified: packaging/RHEL/setup/ctdb.sysconfig ctdb.sysconfig-20070527204758-biuh7znabuwan3zn-7 tools/events events-20070529030121-04fjh63cxfh8v1pj-1 === modified file 'packaging/RHEL/setup/ctdb.sysconfig' --- a/packaging/RHEL/setup/ctdb.sysconfig 2007-05-31 01:09:45 +0000 +++ b/packaging/RHEL/setup/ctdb.sysconfig 2007-06-01 03:50:18 +0000 @@ -47,6 +47,11 @@ # the default is not to wait for any local services # CTDB_WAIT_TCP_PORTS="445 139" +# use this to specify any local directories to wait on before starting +# ctdb. You should list any critical Samba or NFS shared directories +# the default is not to wait for any local directories +# CTDB_WAIT_DIRECTORIES="/some/directory" + # the shared directory where you want to put statd information on # which clients to notify on a NFS restart # there is no default
=== modified file 'tools/events' --- a/tools/events 2007-06-01 03:26:14 +0000 +++ b/tools/events 2007-06-01 03:50:18 +0000 @@ -8,10 +8,10 @@ case $cmd in startup) - # wait for local services to come up + # wait for local services to come up. [ -z "$CTDB_WAIT_TCP_PORTS" ] || { all_ok=0 - echo "Waiting for tcp services on $CTDB_WAIT_TCP_PORTS to come up" + echo "Waiting for local tcp ports $CTDB_WAIT_TCP_PORTS" while [ $all_ok -eq 0 ]; do all_ok=1 for p in $CTDB_WAIT_TCP_PORTS; do @@ -23,7 +23,24 @@ exit 1 } done - echo "Local tcp services on $CTDB_WAIT_TCP_PORTS are up" + echo "Local tcp services are up" + } + # wait for local directories to becomes available (could be slow to mount) + [ -z "$CTDB_WAIT_DIRECTORIES" ] || { + all_ok=0 + echo "Waiting for local directories $CTDB_WAIT_DIRECTORIES" + while [ $all_ok -eq 0 ]; do + all_ok=1 + for d in $CTDB_WAIT_DIRECTORIES; do + [ -d $d ] || all_ok=0 + done + [ $all_ok -eq 1 ] || sleep 1 + /usr/bin/ctdb status > /dev/null 2>&1 || { + echo "ctdb daemon has died. Exiting event startup" + exit 1 + } + done + echo "Local directories are available" } exit 0; ;;