Allow setting volume options
diff --git a/README.rst b/README.rst
index 69dc159..34b4dab 100644
--- a/README.rst
+++ b/README.rst
@@ -72,6 +72,12 @@
- ${_param:cluster_node01_address}:/srv/glusterfs/glance
- ${_param:cluster_node02_address}:/srv/glusterfs/glance
- ${_param:cluster_node03_address}:/srv/glusterfs/glance
+ options:
+ cluster.readdir-optimize: On
+ nfs.disable: On
+ network.remote-dio: On
+ diagnostics.client-log-level: WARNING
+ diagnostics.brick-log-level: WARNING
client:
volumes:
glance:
diff --git a/glusterfs/server.sls b/glusterfs/server.sls
index bc9c7ee..7cb8d6e 100644
--- a/glusterfs/server.sls
+++ b/glusterfs/server.sls
@@ -39,7 +39,6 @@
- stripe: {{ volume.stripe }}
{%- endif %}
- bricks: {{ volume.bricks }}
- - start: true
{# Parameter force doesn't exist in Salt 2015.5.2 and without it creation
will fail when brick is on root disk #}
- force: true
@@ -47,6 +46,27 @@
- glusterfs: glusterfs_peers
- file: {{ volume.storage }}
+glusterfs_vol_{{ name }}_start:
+ glusterfs.started:
+ - name: {{ name }}
+ - require:
+ - glusterfs: glusterfs_vol_{{ name }}
+
+{%- if volume.options is defined %}
+{%- for key, value in volume.options.iteritems() %}
+
+glusterfs_vol_{{ name }}_{{ key }}:
+ cmd.run:
+ - name: "gluster volume set '{{ name }}' '{{ key }}' '{{ value }}'"
+ - unless: "gluster volume info '{{ name }}' | grep '{{ key }}: {{ value }}'"
+ - require:
+ - glusterfs: glusterfs_vol_{{ name }}
+ - require_in:
+ - glusterfs: glusterfs_vol_{{ name }}_start
+
+{%- endfor %}
+{%- endif %}
+
{%- endfor %}
{%- endif %}