Provides an upstart job for glusterd on Ubuntu, solving Bug 3282

Mounting from localhost in fstab fails at boot on ubuntu when glusterd is started by debian initscript.

A new directory, extras/Ubuntu, contains the new upstart job (glusterd.conf) and a brief README.Ubuntu file.
This makes the upstart job available to package maintainers like the SysV initscripts are in extras/init.d.

This has been tested on Ubuntu 10.10 Maverick.

Change-Id: I6ccd06054e920cd6dc45dba4eb8ab89aa30f8b47
BUG: 3282
Reviewed-on: http://review.gluster.com/126
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@gluster.com>
This commit is contained in:
Louis Zuckerman 2011-07-29 18:03:41 -04:00 committed by Anand Avati
parent 3780881e1b
commit 4b640273b0
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,20 @@
Bug 3282 - Mounting from localhost in fstab fails at boot on ubuntu
(http://bugs.gluster.com/show_bug.cgi?id=3282)
Ubuntu uses upstart instead of init to bootstrap the system and it has a unique
way of handling fstab, using a program called mountall(8). As a result,
glusterfs mounts in fstab are tried before the glusterd service is running. In
the case where the client is also a server and the volume is mounted from
localhost, the mount fails at boot time. An upstart job for glusterd is needed
to correct this.
The glusterd.conf file contains the necessary configuration for upstart to
manage the glusterd service. It should be placed in /etc/init/glusterd.conf
on Ubuntu systems, and then the old initscript /etc/init.d/glusterd can be
removed.
It can also be added to Ubuntu deb packages by placing it in debian/upstart
inside the source package (or debian/glusterd.upstart if the source package
builds multiple binary packages.)
This affects all versions of glusterfs on the ubuntu platform.

View File

@ -0,0 +1,17 @@
# glusterd service upstart job
#
# Author: Louis Zuckerman <me@louiszuckerman.com>
description "GlusterFS Management Daemon"
start on (local-filesystems and net-device-up IFACE=lo and net-device-up IFACE=eth0) or (mounting TYPE=glusterfs)
stop on runlevel [016]
respawn
exec /usr/sbin/glusterd -N -p /var/run/glusterd.pid
post-start script
sleep 1
end script