summaryrefslogtreecommitdiffstats
path: root/extras/Ubuntu
diff options
context:
space:
mode:
Diffstat (limited to 'extras/Ubuntu')
-rw-r--r--extras/Ubuntu/README.Ubuntu34
-rw-r--r--extras/Ubuntu/glusterd.conf17
-rw-r--r--extras/Ubuntu/glusterfs-server.conf10
-rw-r--r--extras/Ubuntu/mounting-glusterfs.conf6
4 files changed, 36 insertions, 31 deletions
diff --git a/extras/Ubuntu/README.Ubuntu b/extras/Ubuntu/README.Ubuntu
index 651bd046eff..890da3ca614 100644
--- a/extras/Ubuntu/README.Ubuntu
+++ b/extras/Ubuntu/README.Ubuntu
@@ -1,20 +1,26 @@
-Bug 3282 - Mounting from localhost in fstab fails at boot on ubuntu
-(http://bugs.gluster.com/show_bug.cgi?id=3282)
+Bug 765014 - Mounting from localhost in fstab fails at boot on ubuntu
+(original bug: https://bugzilla.redhat.com/show_bug.cgi?id=765014)
+(updated in: https://bugzilla.redhat.com/show_bug.cgi?id=1047007)
+(https://bugs.launchpad.net/ubuntu/+source/glusterfs/+bug/876648)
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.
+way of handling fstab, using a program called mountall(8). As a result of using
+a debian initscript to start glusterd, 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. To
+correct this we need to launch glusterd using upstart and block the glusterfs
+mounting event until glusterd is started.
-The glusterd.conf file contains the necessary configuration for upstart to
-manage the glusterd service. It should be placed in /etc/init/glusterd.conf
+The glusterfs-server.conf file contains the necessary configuration for upstart to
+manage the glusterd service. It should be placed in /etc/init/glusterfs-server.conf
on Ubuntu systems, and then the old initscript /etc/init.d/glusterd can be
-removed.
+removed. An additional upstart job, mounting-glusterfs.conf, is also required
+to block mounting glusterfs volumes until the network interfaces are available.
+Both of these upstart jobs need to be placed in /etc/init to resolve the issue.
-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.)
+Starting with Ubuntu 14.04, Trusty Tahr, these upstart jobs will be included
+with the glusterfs-server and glusterfs-client packages in the Ubuntu
+universe repository.
-This affects all versions of glusterfs on the ubuntu platform.
+This affects all versions of glusterfs on the Ubuntu platform since at least
+10.04, Lucid Lynx.
diff --git a/extras/Ubuntu/glusterd.conf b/extras/Ubuntu/glusterd.conf
deleted file mode 100644
index b987ffa1322..00000000000
--- a/extras/Ubuntu/glusterd.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-# 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
-
diff --git a/extras/Ubuntu/glusterfs-server.conf b/extras/Ubuntu/glusterfs-server.conf
new file mode 100644
index 00000000000..aa99502b0a7
--- /dev/null
+++ b/extras/Ubuntu/glusterfs-server.conf
@@ -0,0 +1,10 @@
+author "Louis Zuckerman <me@louiszuckerman.com>"
+description "GlusterFS Management Daemon"
+
+start on runlevel [2345]
+stop on runlevel [016]
+
+expect fork
+
+exec /usr/sbin/glusterd -p /var/run/glusterd.pid
+
diff --git a/extras/Ubuntu/mounting-glusterfs.conf b/extras/Ubuntu/mounting-glusterfs.conf
new file mode 100644
index 00000000000..786ef16df04
--- /dev/null
+++ b/extras/Ubuntu/mounting-glusterfs.conf
@@ -0,0 +1,6 @@
+author "Louis Zuckerman <me@louiszuckerman.com>"
+description "Block the mounting event for glusterfs filesystems until the network interfaces are running"
+
+start on mounting TYPE=glusterfs
+task
+exec start wait-for-state WAIT_FOR=static-network-up WAITER=mounting-glusterfs