Merge pull request #2 from dukov/master

Policy.json should be defined by user
diff --git a/.kitchen.yml b/.kitchen.yml
index c422fbe..a12d27d 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -14,6 +14,10 @@
   formula: ceilometer
   grains:
     noservices: True
+  dependencies:
+    - name: keystone
+      repo: git
+      source: https://github.com/salt-formulas/salt-formula-keystone
   state_top:
     base:
       "*":
diff --git a/README.rst b/README.rst
index 86c8b78..cd83a5e 100644
--- a/README.rst
+++ b/README.rst
@@ -43,6 +43,18 @@
           password: pwd
           virtual_host: '/openstack'
 
+Configuration of policy.json file
+
+.. code-block:: yaml
+
+    ceilometer:
+      server:
+        ....
+        policy:
+          segregation: 'rule:context_is_admin'
+          # Add key without value to remove line from policy.json
+          'telemetry:get_resource':
+
 Databases configuration
 
 MongoDB example:
diff --git a/ceilometer/server.sls b/ceilometer/server.sls
index 7f7e9de..e496bd9 100644
--- a/ceilometer/server.sls
+++ b/ceilometer/server.sls
@@ -12,6 +12,30 @@
   - require:
     - pkg: ceilometer_server_packages
 
+{%- for name, rule in server.get('policy', {}).iteritems() %}
+
+{%- if rule != None %}
+rule_{{ name }}_present:
+  keystone_policy.rule_present:
+  - path: /etc/ceilometer/policy.json
+  - name: {{ name }}
+  - rule: {{ rule }}
+  - require:
+    - pkg: ceilometer_server_packages
+
+{%- else %}
+
+rule_{{ name }}_absent:
+  keystone_policy.rule_absent:
+  - path: /etc/ceilometer/policy.json
+  - name: {{ name }}
+  - require:
+    - pkg: ceilometer_server_packages
+
+{%- endif %}
+
+{%- endfor %}
+
 {%- for publisher_name, publisher in server.get('publisher', {}).iteritems() %}
 
 {%- if publisher_name != "default" %}
diff --git a/metadata.yml b/metadata.yml
index ee39cb8..7f502d1 100644
--- a/metadata.yml
+++ b/metadata.yml
@@ -1,3 +1,6 @@
 name: "ceilometer"
 version: "2016.4.1"
 source: "https://github.com/openstack/salt-formula-ceilometer"
+dependencies:
+  - name: keystone
+    source: "https://github.com/salt-formulas/salt-formula-keystone"
diff --git a/tests/pillar/server_cluster.sls b/tests/pillar/server_cluster.sls
index 0723a4d..52d5116 100644
--- a/tests/pillar/server_cluster.sls
+++ b/tests/pillar/server_cluster.sls
@@ -51,3 +51,6 @@
         enabled: true
         host: 127.0.0.1
         port: 8086
+      policy:
+        segregation: 'rule:context_is_admin'
+        'telemetry:get_resource':
diff --git a/tests/pillar/server_single.sls b/tests/pillar/server_single.sls
index 444c399..7bf2790 100644
--- a/tests/pillar/server_single.sls
+++ b/tests/pillar/server_single.sls
@@ -41,3 +41,6 @@
         enabled: true
         host: 127.0.0.1
         port: 8086
+      policy:
+        segregation: 'rule:context_is_admin'
+        'telemetry:get_resource':