Merge pull request #43 from FHE3/sample-pillars-host-policy

Fix for #42, samples for host/policy configuration wrong
diff --git a/rabbitmq/files/limits.conf b/rabbitmq/files/limits.conf
new file mode 100644
index 0000000..c44792b
--- /dev/null
+++ b/rabbitmq/files/limits.conf
@@ -0,0 +1,4 @@
+{%- from "rabbitmq/map.jinja" import server with context -%}
+# Managed by Salt
+[Service]
+LimitNOFILE={{ server.ulimit }}
diff --git a/rabbitmq/map.jinja b/rabbitmq/map.jinja
index ab96873..ea508c0 100644
--- a/rabbitmq/map.jinja
+++ b/rabbitmq/map.jinja
@@ -12,6 +12,7 @@
         'env_file': '/etc/rabbitmq/rabbitmq-env.conf',
         'cookie_file': '/var/lib/rabbitmq/.erlang.cookie',
         'ulimit': 8192,
+        'limits_file': '/etc/systemd/system/rabbitmq-server.service.d/limits.conf',
         'disk_free_limit': 50000000,
         'bind': {
             'address': '0.0.0.0',
diff --git a/rabbitmq/server/service.sls b/rabbitmq/server/service.sls
index 363c23b..1333144 100644
--- a/rabbitmq/server/service.sls
+++ b/rabbitmq/server/service.sls
@@ -32,6 +32,22 @@
 
 {%- endif %}
 
+{%- if grains.init == 'systemd' %}
+
+rabbitmq_limits_systemd:
+  file.managed:
+  - name: {{ server.limits_file }}
+  - source: salt://rabbitmq/files/limits.conf
+  - template: jinja
+  - user: root
+  - group: root
+  - makedirs: True
+  - mode: 0644
+  - require:
+    - pkg: rabbitmq_packages
+
+{%- endif %}
+
 {%- if server.secret_key is defined and not grains.get('noservices', False) %}
 
 {%- if salt['cmd.run']('cat '+server.cookie_file) != server.secret_key %}
@@ -96,6 +112,9 @@
   - name: {{ server.service }}
   - watch:
     - file: rabbitmq_config
+      {%- if grains.init == 'systemd' %}
+    - file: rabbitmq_limits_systemd
+      {%- endif %}
       {% if server.ssl.enabled %}
     - file: rabbitmq_cacertificate
     - file: rabbitmq_certificate