diff options
author | Lalatendu Mohanty <lmohanty@redhat.com> | 2013-09-16 14:56:50 -0400 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-10-04 17:05:35 -0700 |
commit | 31cacce7702d1f08270c0b2f84ea0fdfcae6b3e0 (patch) | |
tree | cc371a898166fa98eceb25cf7b9f03df1fe43159 /extras/hook-scripts | |
parent | 8c1f5cffea19c2119be7c55c79325a5d6324faa2 (diff) |
hookscripts: Changes in hook scripts to make it work on all Linux/GNU distribution
Removed the hard coded values for smb.conf, smb logfile location and smbd.pid.
The current hook scripts also work for manully compiled (make, make install)
instance of gluster and Samba. But we have to manually copy the hook scripts
to respective locations.
Change-Id: I14056830fcd2ecb48b3c4df89265f4408c8de3e3
Signed-off-by: Lalatendu Mohanty <lmohanty@redhat.com>
Reviewed-on: http://review.gluster.org/5947
Reviewed-by: poornima g <pgurusid@redhat.com>
Reviewed-by: susant palai <spalai@redhat.com>
Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Tested-by: Raghavendra Talur <rtalur@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'extras/hook-scripts')
-rwxr-xr-x | extras/hook-scripts/S30samba-start.sh | 25 | ||||
-rwxr-xr-x | extras/hook-scripts/S30samba-stop.sh | 19 |
2 files changed, 37 insertions, 7 deletions
diff --git a/extras/hook-scripts/S30samba-start.sh b/extras/hook-scripts/S30samba-start.sh index 2517f10bfb6..191b1dbb438 100755 --- a/extras/hook-scripts/S30samba-start.sh +++ b/extras/hook-scripts/S30samba-start.sh @@ -23,6 +23,9 @@ PROGNAME="Ssamba-start" OPTSPEC="volname:" VOL= +CONFIGFILE= +LOGFILEBASE= +PIDDIR= function parse_args () { ARGS=$(getopt -l $OPTSPEC -name $PROGNAME $@) @@ -43,22 +46,33 @@ function parse_args () { 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 = /var/log/samba/glusterfs-$volname.log\n" + STRING+="glusterfs:logfile = $LOGFILEBASE/glusterfs-$volname.log\n" STRING+="glusterfs:loglevel = 7\n" STRING+="path = /\n" STRING+="read only = no\n" STRING+="guest ok = yes\n" - printf "$STRING" >> /etc/samba/smb.conf + printf "$STRING" >> ${CONFIGFILE} } function sighup_samba () { - pid=`cat /var/run/smbd.pid` + pid=`cat ${PIDDIR}/smbd.pid` if [ "$pid" != "" ] then kill -HUP "$pid"; @@ -87,7 +101,10 @@ if [ $(get_smb "$VOL") = "disable" ]; then exit 0 fi -if ! grep --quiet "gluster-$VOL" /etc/samba/smb.conf ; then +#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 diff --git a/extras/hook-scripts/S30samba-stop.sh b/extras/hook-scripts/S30samba-stop.sh index def87e00ed2..f7150c10e50 100755 --- a/extras/hook-scripts/S30samba-stop.sh +++ b/extras/hook-scripts/S30samba-stop.sh @@ -18,6 +18,8 @@ PROGNAME="Ssamba-stop" OPTSPEC="volname:" VOL= +CONFIGFILE= +PIDDIR= function parse_args () { ARGS=$(getopt -l $OPTSPEC -name $PROGNAME $@) @@ -38,15 +40,25 @@ function parse_args () { 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'}` +} + function del_samba_share () { volname=$1 - cp /etc/samba/smb.conf /tmp/smb.conf + cp ${CONFIGFILE} /tmp/smb.conf sed -i "/gluster-$volname/,/^$/d" /tmp/smb.conf &&\ - cp /tmp/smb.conf /etc/samba/smb.conf + cp /tmp/smb.conf ${CONFIGFILE} } function sighup_samba () { - pid=`cat /var/run/smbd.pid` + pid=`cat ${PIDDIR}/smbd.pid` if [ $pid != "" ] then kill -HUP $pid; @@ -56,5 +68,6 @@ function sighup_samba () { } parse_args $@ +find_config_info del_samba_share $VOL sighup_samba |