diff options
| author | Krishnan Parthasarathi <kp@gluster.com> | 2012-05-29 01:33:31 +0530 |
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2012-06-12 14:39:49 +0530 |
| commit | 7fb03a0ade154b0c21a71ce0e776a06e50510016 (patch) | |
| tree | 51f3b201036c2cad207ddd09ba732b08af8b6c24 /extras/hook-scripts/start/post/S29CTDBsetup.sh | |
| parent | 7ded1a6e11dae194f04d8717125ff5c18066731e (diff) | |
extras: Restructuring hook-scripts directory
- Fixed permissions of samba-start and samba-stop scripts
- Fixed string comparison in sighup_samba function
Change-Id: I5529cf2f4d7c08ac8fafcf64652be856345c9476
BUG: 806996
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'extras/hook-scripts/start/post/S29CTDBsetup.sh')
| -rw-r--r-- | extras/hook-scripts/start/post/S29CTDBsetup.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/extras/hook-scripts/start/post/S29CTDBsetup.sh b/extras/hook-scripts/start/post/S29CTDBsetup.sh new file mode 100644 index 00000000000..e256be1f3ea --- /dev/null +++ b/extras/hook-scripts/start/post/S29CTDBsetup.sh @@ -0,0 +1,69 @@ +#! /bin/bash +#non-portable - RHS-2.0 only +# - The script mounts the 'meta-vol' on start 'event' on a known +# directory (eg. /gluster/lock) +# - Adds the necessary configuration changes for ctdb in smb.conf and +# restarts smb service. +# - P.S: There are other 'tasks' that need to be done outside this script +# to get CTDB based failover up and running. + +SMB_CONF=/etc/samba/smb.conf + +CTDB_MNT=/gluster/lock +PROGNAME="ctdb" +OPTSPEC="volname:" +VOL= +# $META is the volume that will be used by CTDB as a shared filesystem. +# It is not desirable to use this volume for storing 'data' as well. +# META is set to 'all' (viz. a keyword and hence not a legal volume name) +# to prevent the script from running for volumes it was not intended. +# User needs to set META to the volume that serves CTDB lockfile. +META="all" + +function sighup_samba () { + pid=`cat /var/run/smbd.pid` + if [ $pid != " " ] + then + kill -HUP $pid; + else + /etc/init.d/smb start + fi +} + +function parse_args () { + ARGS=$(getopt -l $OPTSPEC -name $PROGNAME $@) + eval set -- "$ARGS" + + while true; do + case $1 in + --volname) + shift + VOL=$1 + ;; + + *) + shift + break + ;; + + esac + + shift + done +} + +function add_glusterfs_ctdb_options () { + PAT="Share Definitions" + GLUSTER_CTDB_CONFIG="# ctdb config for glusterfs\n\tclustering = yes\n\tidmap backend = tdb2\n\tprivate dir = "$CTDB_MNT"\n" + + sed -i /"$PAT"/i\ "$GLUSTER_CTDB_CONFIG" $SMB_CONF +} + +parse_args $@ +if [ "$META" = "$VOL" ] +then + add_glusterfs_ctdb_options + sighup_samba + mount -t glusterfs `hostname`:$VOL "$CTDB_MNT" & +fi + |
