Merge pull request #25 from Perceptyx/master

Ensure custom paths are created and have correct permissions
diff --git a/README.rst b/README.rst
index a27364f..769bb2d 100644
--- a/README.rst
+++ b/README.rst
@@ -40,8 +40,8 @@
               key_file: /etc/influxdb/ssl/key.pem
               cert_file: /etc/influxdb/ssl/cert.pem
 
-Single-node influxdb where you specify paths for data and metastore directories. You
-need to ensure that directories exist:
+Single-node influxdb where you specify paths for data and metastore directories. Custom
+directories are created by this formula:
 
 .. code-block:: yaml
 
diff --git a/influxdb/map.jinja b/influxdb/map.jinja
index 8cf164d..83047b6 100644
--- a/influxdb/map.jinja
+++ b/influxdb/map.jinja
@@ -3,6 +3,8 @@
   pkgs:
   - influxdb
   service: influxdb
+  service_user: influxdb
+  service_group: influxdb
   container_mode: false
   prefix_dir: /
   reporting_disabled: true
diff --git a/influxdb/server.sls b/influxdb/server.sls
index fb5bcf5..972dd28 100644
--- a/influxdb/server.sls
+++ b/influxdb/server.sls
@@ -35,6 +35,27 @@
     - pkg: influxdb_packages
 {%- endif %}
 
+{{server.data.dir}}:
+  file.directory:
+    - makedirs: True
+    - mode: 755
+    - user: {{ server.service_user }}
+    - group: {{ server.service_group }}
+
+{{server.data.wal_dir}}:
+  file.directory:
+    - makedirs: True
+    - mode: 755
+    - user: {{ server.service_user }}
+    - group: {{ server.service_group }}
+
+{{server.meta.dir}}:
+  file.directory:
+    - makedirs: True
+    - mode: 755
+    - user: {{ server.service_user }}
+    - group: {{ server.service_group }}
+
 influxdb_service:
   service.running:
   - enable: true
diff --git a/tests/pillar/cluster.sls b/tests/pillar/cluster.sls
index e5717ff..4686c70 100644
--- a/tests/pillar/cluster.sls
+++ b/tests/pillar/cluster.sls
@@ -1,7 +1,11 @@
 influxdb:
   server:
     enabled: true
+    data:
+      dir: /opt/influxdb/data
+      wal_dir: /opt/influxdb/wal
     meta:
+      dir: /opt/influxdb/meta
       enabled: true
       bind:
         address: 0.0.0.0