diff options
author | Niels de Vos <ndevos@redhat.com> | 2013-04-21 11:10:06 +0200 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2013-04-29 17:07:46 -0700 |
commit | 6b67229526d41d1158f0617cbb41297b12be727d (patch) | |
tree | b62bdda3015ceb5c12d4546cd788ec9b9c2adf45 | |
parent | 7f162316f074f19cfecca9197060e4e687658345 (diff) |
extras: include Fedora changes in init.d/glusterd
The changes in the .spec file from Fedora have largely been merged into
the glusterfs.spec.in. It seems that some dependencies have been missed,
most importantly some additions to the init-script that are called while
(un)installing or updating RPMs.
These changes come from the downstream Fedora package that carries its
own glusterd.init script. In future, Fedora/EPEL should be able to drop
that file and use the Gluster project version.
BUG: 954149
Change-Id: I7d25622ffa52228451e742b539f1f092eac57b6b
URL: http://lists.nongnu.org/archive/html/gluster-devel/2013-04/msg00077.html
CC: Fedora GlusterFS Packagers <glusterfs-owner@fedoraproject.org>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Reviewed-on: http://review.gluster.org/4865
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
-rwxr-xr-x | extras/init.d/glusterd-Redhat.in | 96 |
1 files changed, 73 insertions, 23 deletions
diff --git a/extras/init.d/glusterd-Redhat.in b/extras/init.d/glusterd-Redhat.in index 858f82245d3..e1e5e859c7c 100755 --- a/extras/init.d/glusterd-Redhat.in +++ b/extras/init.d/glusterd-Redhat.in @@ -1,20 +1,39 @@ #!/bin/bash # -# chkconfig: 35 20 80 -# description: Gluster File System service for volume management +# glusterd Startup script for the glusterfs server # +# chkconfig: - 20 80 +# description: Clustered file-system server -# Get function from functions library +### BEGIN INIT INFO +# Provides: glusterd +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Should-Start: +# Should-Stop: +# Default-Start: +# Default-Stop: 0 1 2 3 4 5 6 +# Short-Description: glusterfs server +# Description: Clustered file-system server +### END INIT INFO +# + +# Source function library. . /etc/rc.d/init.d/functions BASE=glusterd -PIDFILE=/var/run/$BASE.pid + +# Fedora File System Layout dictates /run +[ -e /run ] && RUNDIR="/run" +PIDFILE="${RUNDIR:-/var/run}/${BASE}.pid" + PID=`test -f $PIDFILE && cat $PIDFILE` # Overwriteable from sysconfig LOG_LEVEL='' LOG_FILE='' GLUSTERD_OPTIONS='' +GLUSTERD_NOFILE='65536' [ -f /etc/sysconfig/${BASE} ] && . /etc/sysconfig/${BASE} @@ -31,57 +50,88 @@ RETVAL=0 # Start the service $BASE start() { - pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null - status=$? - if [ $status -eq 0 ]; then + if pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null; then echo "glusterd service is already running with pid $PID" - exit 0 + return 0 else + ulimit -n $GLUSTERD_NOFILE echo -n $"Starting $BASE:" daemon $GLUSTERD RETVAL=$? echo - [ $RETVAL -ne 0 ] && exit $RETVAL + return $RETVAL fi - } # Stop the service $BASE stop() { echo -n $"Stopping $BASE:" - pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null - status=$? - if [ $status -eq 0 ]; then + if pidofproc -p $PIDFILE $GLUSTERD_BIN &> /dev/null; then killproc -p $PIDFILE $BASE [ -w $PIDFILE ] && rm -f $PIDFILE else killproc $BASE fi +} + +restart() +{ + stop + start +} + +reload() +{ + restart +} +force_reload() +{ + restart +} + +rh_status() +{ + status $BASE +} + +rh_status_q() +{ + rh_status &>/dev/null } ### service arguments ### case $1 in start) - start + rh_status_q && exit 0 + $1 ;; stop) - stop - RETVAL=$? + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload ;; status) - status $BASE - RETVAL=$? + rh_status ;; - restart) - $0 stop - $0 start + condrestart|try-restart) + rh_status_q || exit 0 + restart ;; *) - echo $"Usage: $0 {start|stop|status|restart}." + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 1 esac -exit $RETVAL +exit $? |