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':