summaryrefslogtreecommitdiffstats
path: root/extras/hook-scripts/S30samba-start.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/S30samba-start.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/S30samba-start.sh')
-rwxr-xr-xextras/hook-scripts/S30samba-start.sh110
1 files changed, 0 insertions, 110 deletions
diff --git a/extras/hook-scripts/S30samba-start.sh b/extras/hook-scripts/S30samba-start.sh
deleted file mode 100755
index 34fde0ef8c0..00000000000
--- a/extras/hook-scripts/S30samba-start.sh
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/bin/bash
-
-#Need to be copied to hooks/<HOOKS_VER>/start/post
-
-#TODO: All gluster and samba paths are assumed for fedora like systems.
-#Some efforts are required to make it work on other distros.
-
-#The preferred way of creating a smb share of a gluster volume has changed.
-#The old method was to create a fuse mount of the volume and share the mount
-#point through samba.
-#
-#New method eliminates the requirement of fuse mount and changes in fstab.
-#glusterfs_vfs plugin for samba makes call to libgfapi to access the volume.
-#
-#This hook script automagically creates shares for volume on every volume start
-#event by adding the entries in smb.conf file and sending SIGHUP to samba.
-#
-#In smb.conf:
-#glusterfs vfs plugin has to be specified as required vfs object.
-#Path value is relative to the root of gluster volume;"/" signifies complete
-#volume.
-
-PROGNAME="Ssamba-start"
-OPTSPEC="volname:"
-VOL=
-CONFIGFILE=
-LOGFILEBASE=
-PIDDIR=
-
-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 find_config_info () {
- cmdout=`smbd -b | grep smb.conf`
- if [ $? -ne 0 ];then
- echo "Samba is not installed"
- exit 1
- fi
- CONFIGFILE=`echo $cmdout | awk {'print $2'}`
- PIDDIR=`smbd -b | grep PIDDIR | awk {'print $2'}`
- LOGFILEBASE=`smbd -b | grep 'LOGFILEBASE' | awk '{print $2}'`
-}
-
-function add_samba_share () {
- volname=$1
- STRING="\n[gluster-$volname]\n"
- STRING+="comment = For samba share of volume $volname\n"
- STRING+="vfs objects = glusterfs\n"
- STRING+="glusterfs:volume = $volname\n"
- STRING+="glusterfs:logfile = $LOGFILEBASE/glusterfs-$volname.%%M.log\n"
- STRING+="glusterfs:loglevel = 7\n"
- STRING+="path = /\n"
- STRING+="read only = no\n"
- STRING+="guest ok = yes\n"
- printf "$STRING" >> ${CONFIGFILE}
-}
-
-function sighup_samba () {
- pid=`cat ${PIDDIR}/smbd.pid`
- if [ "x$pid" != "x" ]
- then
- kill -HUP "$pid";
- else
- /etc/init.d/smb condrestart
- fi
-}
-
-function get_smb () {
- volname=$1
- uservalue=
-
- usercifsvalue=$(grep user.cifs /var/lib/glusterd/vols/"$volname"/info |\
- cut -d"=" -f2)
- usersmbvalue=$(grep user.smb /var/lib/glusterd/vols/"$volname"/info |\
- cut -d"=" -f2)
-
- if [[ $usercifsvalue = "disable" || $usersmbvalue = "disable" ]]; then
- uservalue="disable"
- fi
- echo "$uservalue"
-}
-
-parse_args $@
-if [ $(get_smb "$VOL") = "disable" ]; then
- exit 0
-fi
-
-#Find smb.conf, smbd pid directory and smbd logfile path
-find_config_info
-
-if ! grep --quiet "\[gluster-$VOL\]" ${CONFIGFILE} ; then
- add_samba_share $VOL
- sighup_samba
-fi