summaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2015-12-09 18:57:59 +0100
committerRaghavendra Talur <rtalur@redhat.com>2015-12-18 01:17:12 -0800
commitf4357fdaca9175438f1168fcd07dd963eae4c4e2 (patch)
treee69284c25b60fa4027df014db2fc1e9be3687c82 /extras
parent1f93e47c8777f7df3e8b1e1a6f42a4c33cb1c513 (diff)
hook-scripts: don't let ctdb script change samba config
There are several reasons why the behaviour in the hook scripts was bad: 1. A samba installation is clustered or non-clustered. That does not change because of the availability of the CTDB lock-volume. If the lock-volume is not available (and hence CTDB is not available or not healthy), then Samba won't be operational. But turning it into a non-clustered Samba-installation can in the worst case lead to data corruption if clients manage to access the same files (on share volumes). Hence 'clustering = yes/no' in Samba's config should not be touched. In particular, Samba should not be stopped/started by the hook script. If needed, then ctdb will take care of it. 2. Changing the idmap configuration is potentially dangerous as well. In particular the used tdb2 backend is legacy nowadays and should not be used any more in new installs. (I stems from the times when ctdb could not host persistent databases.) Changing the idmap can result in loss of access to files or in giving access to files where it is not intended. 3. The pattern used for detecting need for change is fragile. It may or may not play well possible manual changes to smb.conf. This change removes the parts that change the smb.conf file and start or stop Samba from the S29CTDB* hook scripts. > Change-Id: I72f7aabafa8f089da4531fca2572a72c22825bcc > BUG: 1290151 > Signed-off-by: Michael Adam <obnox@samba.org> > Reviewed-on: http://review.gluster.org/12930 > Tested-by: Gluster Build System <jenkins@build.gluster.com> > Reviewed-by: Raghavendra Talur <rtalur@redhat.com> (cherry picked from commit 27c16d6da82876a689dfba53b8d45c3a3a657954) Change-Id: Ie1f787cebb5f6da1a658f7dead879fa854901ef5 BUG: 1292254 Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-on: http://review.gluster.org/12986 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Raghavendra Talur <rtalur@redhat.com>
Diffstat (limited to 'extras')
-rwxr-xr-xextras/hook-scripts/start/post/S29CTDBsetup.sh14
-rwxr-xr-xextras/hook-scripts/stop/pre/S29CTDB-teardown.sh24
2 files changed, 0 insertions, 38 deletions
diff --git a/extras/hook-scripts/start/post/S29CTDBsetup.sh b/extras/hook-scripts/start/post/S29CTDBsetup.sh
index cbb76767eb9..5229ad52e3d 100755
--- a/extras/hook-scripts/start/post/S29CTDBsetup.sh
+++ b/extras/hook-scripts/start/post/S29CTDBsetup.sh
@@ -6,7 +6,6 @@
# 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
PING_TIMEOUT_SECS=10
@@ -45,16 +44,6 @@ function parse_args () {
done
}
-function add_glusterfs_ctdb_options () {
- PAT="Share Definitions"
- 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
-}
-
function add_fstab_entry () {
volname=$1
mntpt=$2
@@ -71,9 +60,6 @@ function add_fstab_entry () {
parse_args $@
if [ "$META" = "$VOL" ]
then
- # expects ctdb service to manage smb
- service smb stop
- add_glusterfs_ctdb_options
mkdir -p $CTDB_MNT
sleep 5
# Make sure ping-timeout is not default for CTDB volume
diff --git a/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
index 9125030bb7e..9ba8a1cf372 100755
--- a/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
+++ b/extras/hook-scripts/stop/pre/S29CTDB-teardown.sh
@@ -1,6 +1,5 @@
#! /bin/bash
#non-portable - RHS-2.0 only
-SMB_CONF=/etc/samba/smb.conf
CTDB_MNT=/gluster/lock
PROGNAME="ctdb"
@@ -13,16 +12,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"
@@ -46,17 +35,6 @@ function parse_args () {
}
-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 () {
mntpt=$1
fstab="/etc/fstab"
@@ -80,6 +58,4 @@ then
umount "$CTDB_MNT"
chkconfig ctdb off
remove_fstab_entry $CTDB_MNT
- remove_ctdb_options
- sighup_samba
fi