diff --git a/glusterfs.logrotate b/glusterfs.logrotate new file mode 100644 index 0000000..32b3ef9 --- /dev/null +++ b/glusterfs.logrotate @@ -0,0 +1,6 @@ +/var/log/glusterfs/glusterfs.log { + missingok + postrotate + /usr/bin/killall -HUP glusterfs 2>/dev/null || true + endscript +} diff --git a/glusterfs.spec b/glusterfs.spec index f517363..ab46933 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -16,7 +16,7 @@ Summary: Cluster File System Name: glusterfs Version: 2.0.0 -Release: 0.1%{?pre:.%{pre}}%{?dist} +Release: 0.2%{?pre:.%{pre}}%{?dist} License: GPLv3+ Group: System Environment/Base URL: http://www.gluster.org/docs/index.php/GlusterFS @@ -24,6 +24,8 @@ Source0: http://ftp.zresearch.com/pub/gluster/glusterfs/2.0/%{version}/glusterfs Source1: glusterfsd.init Source2: glusterfsd.sysconfig Source3: umount.glusterfs +Source4: glusterfs.logrotate +Source5: glusterfsd.logrotate BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig @@ -161,8 +163,15 @@ done # Install wrapper umount script %{__install} -D -p -m 0755 %{SOURCE3} \ %{buildroot}/sbin/umount.glusterfs +# Client logrotate entry +%{__install} -D -p -m 0644 %{SOURCE4} \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs %endif +# Server logrotate entry +%{__install} -D -p -m 0644 %{SOURCE5} \ + %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd + %clean %{__rm} -rf %{buildroot} @@ -199,6 +208,7 @@ fi %if 0%{!?_without_client:1} %files client +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs /sbin/mount.glusterfs /sbin/umount.glusterfs %endif @@ -208,6 +218,7 @@ fi %doc examples/ doc/glusterfs*.vol.sample %dir %{_sysconfdir}/glusterfs/ %config(noreplace) %{_sysconfdir}/glusterfs/*.vol +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfsd %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %{_sysconfdir}/init.d/glusterfsd %{_sbindir}/glusterfsd @@ -222,6 +233,12 @@ fi %changelog +* Sun Apr 12 2009 Matthias Saou 2.0.0-0.2.rc7 +- Update glusterfsd init script to the new style init. +- Update files to match the new default vol file names. +- Include logrotate for glusterfsd, use a pid file by default. +- Include logrotate for glusterfs, using killall for lack of anything better. + * Sat Apr 11 2009 Matthias Saou 2.0.0-0.1.rc7 - Update to 2.0.0rc7. - Rename "libs" to "common" and move the binary, man page and log dir there. diff --git a/glusterfsd.init b/glusterfsd.init index 826c3fb..e36a98d 100644 --- a/glusterfsd.init +++ b/glusterfsd.init @@ -2,70 +2,106 @@ # # glusterfsd Startup script for the glusterfs server # -# chkconfig: - 20 80 +# chkconfig: - 20 80 # description: Clustered file-system server -# -# processname: glusterfsd -# config: /etc/glusterfs/glusterfs-server.vol -# pidfile: /var/run/glusterfsd.pid -# Source function library +### BEGIN INIT INFO +# Provides: glusterfsd +# 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 +exec="/usr/sbin/glusterfsd" prog="glusterfsd" -glusterfsd="/usr/sbin/glusterfsd" -RETVAL=0 # Set defaults, then source config for eventual overrides -GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" -GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" -GLUSTERFSD_LOGLEVEL="WARNING" GLUSTERFSD_NOFILE="65536" -[ -f /etc/sysconfig/glusterfsd ] && source /etc/sysconfig/glusterfsd + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog start() { - echo -n $"Starting $prog: " - ulimit -n ${GLUSTERFSD_NOFILE} - daemon $glusterfsd -f ${GLUSTERFSD_CONFIG} -l ${GLUSTERFSD_LOGFILE} -L ${GLUSTERFSD_LOGLEVEL} - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog - return $RETVAL + [ -x $exec ] || exit 5 + [ -f $GLUSTERFSD_CONFIG ] || exit 6 + ulimit -n $GLUSTERFSD_NOFILE + echo -n $"Starting $prog: " + daemon $exec${GLUSTERFSD_CONFIG+" -f $GLUSTERFSD_CONFIG"}${GLUSTERFSD_LOGFILE+" -l $GLUSTERFSD_LOGFILE"}${GLUSTERFSD_LOGLEVEL+" -L $GLUSTERFSD_LOGLEVEL"} -p /var/run/glusterfsd.pid + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval } stop() { - echo -n $"Stopping $prog: " - killproc $glusterfsd - RETVAL=$? - echo - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog - return $RETVAL + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval } -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload) - stop - start - ;; - condrestart) - if [ -f /var/lock/subsys/$prog ]; then - stop - start - fi - ;; - status) - status $glusterfsd - RETVAL=$? - ;; - *) - echo $"Usage: $0 {start|stop|restart|condrestart|status}" - RETVAL=1 -esac +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + status $prog +} + +rh_status_q() { + rh_status &>/dev/null +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload) + rh_status_q || exit 7 + $1 + ;; + force-reload) + force_reload + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? -exit $RETVAL diff --git a/glusterfsd.logrotate b/glusterfsd.logrotate new file mode 100644 index 0000000..85650c0 --- /dev/null +++ b/glusterfsd.logrotate @@ -0,0 +1,6 @@ +/var/log/glusterfs/glusterfsd.log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/glusterfsd.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/glusterfsd.sysconfig b/glusterfsd.sysconfig index c3f41c2..f46cd7d 100644 --- a/glusterfsd.sysconfig +++ b/glusterfsd.sysconfig @@ -1,8 +1,8 @@ # Change the glusterfsd service defaults here. -# LOGLEVEL is one of DEBUG WARNING ERROR (default) CRITICAL or NONE +# See "glusterfsd --help" outpout for defaults and possible values. -#GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfs-server.vol" -#GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfsd.log" -#GLUSTERFSD_LOGLEVEL="ERROR" +#GLUSTERFSD_CONFIG="/etc/glusterfs/glusterfsd.vol" +#GLUSTERFSD_LOGFILE="/var/log/glusterfs/glusterfs.log" +#GLUSTERFSD_LOGLEVEL="NORMAL" #GLUSTERFSD_NOFILE="65536"