Mount volumes after glusterfs-server
Change-Id: I0e7f44378cbb80f3714977e25dd8aa2f3e76019f
diff --git a/glusterfs/files/glusterfs-client.mount b/glusterfs/files/glusterfs-client.mount
index 9df87d7..4838a88 100644
--- a/glusterfs/files/glusterfs-client.mount
+++ b/glusterfs/files/glusterfs-client.mount
@@ -1,6 +1,12 @@
[Unit]
Description=GlusterFS File System ({{ device }})
DefaultDependencies=yes
+{%- if pillar.glusterfs.server is defined %}
+{% from "glusterfs/map.jinja" import server with context %}
+{%- if server.enabled %}
+After={{ server.service }}.service
+{%- endif %}
+{%- endif %}
[Mount]
What={{ device }}
diff --git a/glusterfs/server/service.sls b/glusterfs/server/service.sls
index 0d9ccae..2db785c 100644
--- a/glusterfs/server/service.sls
+++ b/glusterfs/server/service.sls
@@ -12,6 +12,18 @@
- require:
- pkg: glusterfs_packages
+{%- if grains.get('init', None) == 'systemd' %}
+{#- We need to give glusterfs-server time to start volumes. This little hacks
+ensures that mount will pass on boot when no other servers are available #}
+glusterfs_server_systemd_override:
+ file.managed:
+ - name: /etc/systemd/system/{{ server.service }}.service.d/override.conf
+ - makedirs: true
+ - contents: |
+ [Service]
+ ExecStartPost=/bin/sleep 10
+{%- endif %}
+
{%- if server.volumes is defined %}
{%- for name, volume in server.volumes.iteritems() %}