Bug 994745

Summary: bricks are no longer being stopped on shutdown/reboot
Product: [Community] GlusterFS Reporter: Joe Julian <joe>
Component: buildAssignee: Amar Tumballi <amarts>
Status: CLOSED DUPLICATE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 3.3.2CC: gluster-bugs, kkeithle, ndevos, redhat.bugs, vraman
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-09 10:33:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 958389, 1294754    

Description Joe Julian 2013-08-07 23:48:08 UTC
/etc/rc.d/init.d/glusterfsd was removed from 3.3.2 and 3.4.0 which is causing clients to hang for ping-timeout when a server is rebooted or shut down.

We want to have the ability to restart glusterd without restarting the bricks during day-to-day operation, but the bricks do need to be shut down before the network during a reboot or shutdown.

That init script was useful for sysinit. Not sure how this can be accomplished in systemd though.

Comment 1 Joe Julian 2013-08-08 02:11:59 UTC
Sorry, that wasn't a very well researched bug...

Turns out that EL6.4 now checks:
  [ -f /var/lock/subsys/$subsys -o -f /var/lock/subsys/$subsys.init ]
which, since we didn't start glusterfsd through init, didn't get created.

I was able to work around it with this patch:

--- a/etc/rc.d/init.d/glusterd	2013-08-08 02:09:30.000000000 +0000
+++ b/etc/rc.d/init.d/glusterd	2013-08-08 02:09:06.000000000 +0000
@@ -34,6 +34,7 @@
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 
 lockfile=/var/lock/subsys/$prog
+fakelockfile=/var/lock/subsys/glusterfsd
 
 start() {
     [ -x $exe ] || exit 5
@@ -42,7 +43,7 @@
     daemon $exe${GLUSTERD_LOGFILE+" -l $GLUSTERD_LOGFILE"}${GLUSTERD_LOGLEVEL+" -L $GLUSTERD_LOGLEVEL"} -p $pidf
     retval=$?
     echo
-    [ $retval -eq 0 ] && touch $lockfile
+    [ $retval -eq 0 ] && touch $lockfile && touch $fakelockfile
     return $retval
 }

Comment 2 Richard 2013-08-08 10:32:47 UTC
I've found something similar too:

https://bugzilla.redhat.com/show_bug.cgi?id=988946

some Gluster processes aren't exiting when the service stops.

Comment 3 Niels de Vos 2013-10-09 10:33:36 UTC

*** This bug has been marked as a duplicate of bug 1014242 ***