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>
This commit is contained in:
parent
bed3fcd3a4
commit
ecc475d0a5
@ -165,6 +165,12 @@ AC_CONFIG_FILES([Makefile
|
||||
extras/hook-scripts/add-brick/Makefile
|
||||
extras/hook-scripts/add-brick/pre/Makefile
|
||||
extras/hook-scripts/add-brick/post/Makefile
|
||||
extras/hook-scripts/start/Makefile
|
||||
extras/hook-scripts/start/post/Makefile
|
||||
extras/hook-scripts/set/Makefile
|
||||
extras/hook-scripts/set/post/Makefile
|
||||
extras/hook-scripts/stop/Makefile
|
||||
extras/hook-scripts/stop/pre/Makefile
|
||||
contrib/fuse-util/Makefile
|
||||
contrib/uuid/uuid_types.h
|
||||
glusterfs-api.pc
|
||||
|
@ -1,2 +1,2 @@
|
||||
EXTRA_DIST = S29CTDBsetup.sh S30samba-start.sh S30samba-stop.sh S30samba-set.sh S56glusterd-geo-rep-create-post.sh
|
||||
SUBDIRS = add-brick
|
||||
EXTRA_DIST = S40ufo-stop.py S56glusterd-geo-rep-create-post.sh
|
||||
SUBDIRS = add-brick set start stop
|
||||
|
2
extras/hook-scripts/set/Makefile.am
Normal file
2
extras/hook-scripts/set/Makefile.am
Normal file
@ -0,0 +1,2 @@
|
||||
SUBDIRS = post
|
||||
CLEANFILES =
|
1
extras/hook-scripts/set/post/Makefile.am
Normal file
1
extras/hook-scripts/set/post/Makefile.am
Normal file
@ -0,0 +1 @@
|
||||
EXTRA_DIST = S30samba-set.sh
|
@ -20,6 +20,9 @@
|
||||
PROGNAME="Ssamba-set"
|
||||
OPTSPEC="volname:"
|
||||
VOL=
|
||||
CONFIGFILE=
|
||||
LOGFILEBASE=
|
||||
PIDDIR=
|
||||
|
||||
enable_smb=""
|
||||
|
||||
@ -57,22 +60,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.%%M.log\n"
|
||||
STRING+="glusterfs:logfile = $LOGFILEBASE/glusterfs-$volname.%%M.log\n"
|
||||
STRING+="glusterfs:loglevel = 7\n"
|
||||
STRING+="path = %%P/\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 [ "x$pid" != "x" ]
|
||||
then
|
||||
kill -HUP "$pid";
|
||||
@ -97,6 +111,9 @@ if [ "0" = $(is_volume_started "$VOL") ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#Find smb.conf, smbd pid directory and smbd logfile path
|
||||
find_config_info
|
||||
|
||||
if [ "$enable_smb" = "enable" ]; then
|
||||
if ! grep --quiet "\[gluster-$VOL\]" /etc/samba/smb.conf ; then
|
||||
add_samba_share $VOL
|
2
extras/hook-scripts/start/Makefile.am
Normal file
2
extras/hook-scripts/start/Makefile.am
Normal file
@ -0,0 +1,2 @@
|
||||
SUBDIRS = post
|
||||
CLEANFILES =
|
1
extras/hook-scripts/start/post/Makefile.am
Normal file
1
extras/hook-scripts/start/post/Makefile.am
Normal file
@ -0,0 +1 @@
|
||||
EXTRA_DIST = S29CTDBsetup.sh S30samba-start.sh
|
42
extras/hook-scripts/S29CTDBsetup.sh → extras/hook-scripts/start/post/S29CTDBsetup.sh
Normal file → Executable file
42
extras/hook-scripts/S29CTDBsetup.sh → extras/hook-scripts/start/post/S29CTDBsetup.sh
Normal file → Executable file
@ -1,5 +1,5 @@
|
||||
#! /bin/bash
|
||||
#non-portable - RHS-2.0 only
|
||||
# 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
|
||||
@ -20,16 +20,6 @@ VOL=
|
||||
# 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"
|
||||
@ -54,16 +44,34 @@ function parse_args () {
|
||||
|
||||
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"
|
||||
GLUSTER_CTDB_CONFIG="# ctdb config for glusterfs\n\tclustering = yes\n\tidmap backend = tdb2\n"
|
||||
exists=`grep "clustering = yes" "$SMB_CONF"`
|
||||
if [ "$exists" == "" ]
|
||||
then
|
||||
sed -i /"$PAT"/i\ "$GLUSTER_CTDB_CONFIG" "$SMB_CONF"
|
||||
fi
|
||||
}
|
||||
|
||||
sed -i /"$PAT"/i\ "$GLUSTER_CTDB_CONFIG" $SMB_CONF
|
||||
function add_fstab_entry () {
|
||||
volname=$1
|
||||
mntpt=$2
|
||||
mntent="`hostname`:/$volname $mntpt glusterfs defaults,transport=tcp 0 0"
|
||||
exists=`grep "^$mntent" /etc/fstab`
|
||||
if [ "$exists" == "" ]
|
||||
then
|
||||
echo "$mntent" >> /etc/fstab
|
||||
fi
|
||||
}
|
||||
|
||||
parse_args $@
|
||||
if [ "$META" = "$VOL" ]
|
||||
then
|
||||
add_glusterfs_ctdb_options
|
||||
sighup_samba
|
||||
mount -t glusterfs `hostname`:$VOL "$CTDB_MNT" &
|
||||
#expects ctdb service to manage smb
|
||||
service smb stop
|
||||
add_glusterfs_ctdb_options
|
||||
mkdir -p $CTDB_MNT
|
||||
sleep 5
|
||||
mount -t glusterfs `hostname`:$VOL "$CTDB_MNT" && \
|
||||
add_fstab_entry $VOL $CTDB_MNT
|
||||
chkconfig ctdb on
|
||||
fi
|
||||
|
@ -65,7 +65,7 @@ function add_samba_share () {
|
||||
STRING+="glusterfs:volume = $volname\n"
|
||||
STRING+="glusterfs:logfile = $LOGFILEBASE/glusterfs-$volname.%%M.log\n"
|
||||
STRING+="glusterfs:loglevel = 7\n"
|
||||
STRING+="path = /\n"
|
||||
STRING+="path = %%P/\n"
|
||||
STRING+="read only = no\n"
|
||||
STRING+="guest ok = yes\n"
|
||||
printf "$STRING" >> ${CONFIGFILE}
|
2
extras/hook-scripts/stop/Makefile.am
Normal file
2
extras/hook-scripts/stop/Makefile.am
Normal file
@ -0,0 +1,2 @@
|
||||
SUBDIRS = pre
|
||||
CLEANFILES =
|
1
extras/hook-scripts/stop/pre/Makefile.am
Normal file
1
extras/hook-scripts/stop/pre/Makefile.am
Normal file
@ -0,0 +1 @@
|
||||
EXTRA_DIST = S29CTDB-teardown.sh S30samba-stop.sh
|
80
extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
Executable file
80
extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
Executable file
@ -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
|
Loading…
x
Reference in New Issue
Block a user