summaryrefslogtreecommitdiffstats
path: root/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
diff options
context:
space:
mode:
authorRaghavendra Talur <rtalur@redhat.com>2014-03-06 19:09:13 +0530
committerVijay Bellur <vbellur@redhat.com>2014-03-10 06:38:21 -0700
commitecc475d0a517d7f58014bed93fc0957b3369d1b7 (patch)
treea67ab723276d262c42f47d78792006708692d554 /extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
parentbed3fcd3a47d3ca35b3536e0cad2b293dd240ce4 (diff)
hook-scripts: Move smb hooks to right place.
Moved the hook-scripts to dirs corresponding to event. Also, edited S30samba-set.sh to with changes in other two hook scripts to bring uniformity. Change-Id: Ib98c0a18d4bb5d0ba4b881b2e19b40d72580b1c2 BUG: 1073468 Signed-off-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-on: http://review.gluster.org/7201 Reviewed-by: Poornima G <pgurusid@redhat.com> Reviewed-by: Bala FA <barumuga@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'extras/hook-scripts/stop/pre/S29CTDB-teardown.sh')
-rwxr-xr-xextras/hook-scripts/stop/pre/S29CTDB-teardown.sh80
1 files changed, 80 insertions, 0 deletions
diff --git a/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
new file mode 100755
index 000000000..0b6e50ead
--- /dev/null
+++ b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
@@ -0,0 +1,80 @@
+#! /bin/bash
+#non-portable - RHS-2.0 only
+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 remove_ctdb_options () {
+ IFS=$'\n'
+ GLUSTER_CTDB_CONFIG=$'# ctdb config for glusterfs\n\tclustering = yes\n\tidmap backend = tdb2\n'
+
+ for line in $GLUSTER_CTDB_CONFIG
+ do
+ sed -i /"$line"/d $SMB_CONF
+ done
+ unset IFS
+}
+
+function remove_fstab_entry () {
+ volname=$1
+ mntpt=$2
+ mntent="`hostname`:/$volname $mntpt glusterfs defaults,transport=tcp 0 0"
+ esc_mntent=$(echo -e "$mntent" | sed 's/\//\\\//g')
+ exists=`grep "^$mntent" /etc/fstab`
+ if [ "$exists" != " " ]
+ then
+ sed -i /"$esc_mntent"/d /etc/fstab
+ fi
+}
+
+parse_args $@
+if [ "$META" = "$VOL" ]
+then
+ umount "$CTDB_MNT"
+ chkconfig ctdb off
+ remove_fstab_entry $VOL $CTDB_MNT
+ remove_ctdb_options
+ sighup_samba
+fi