Add 'export_policy_grain' state for Designate
Related: PROD-31956
Related: PROD-34126
Change-Id: I9f562c900b12cfdf33abdcbc3ba14776d6508120
diff --git a/.kitchen.yml b/.kitchen.yml
index cd2fcae..845ea20 100644
--- a/.kitchen.yml
+++ b/.kitchen.yml
@@ -15,6 +15,10 @@
grains:
noservices: True
dependencies:
+ - name: keystone
+ repo: git
+ source: https://gerrit.mcp.mirantis.com/salt-formulas/keystone
+ branch: <%=ENV['GERRIT_BRANCH'] || 'master' %>
- name: linux
repo: git
source: https://gerrit.mcp.mirantis.com/salt-formulas/linux
diff --git a/designate/map.jinja b/designate/map.jinja
index 614aaee..a931509 100644
--- a/designate/map.jinja
+++ b/designate/map.jinja
@@ -15,6 +15,7 @@
'pkgs': ['designate-api', 'designate-central', 'designate-sink'],
'services': ['designate-api', 'designate-central', 'designate-sink'],
'cacert_file': '/etc/ssl/certs/ca-certificates.crt',
+ 'export_policy_grains': true,
'notification_handlers': {
'nova_fixed': {
'enabled': true,
diff --git a/designate/server/export_policy_grains.sls b/designate/server/export_policy_grains.sls
new file mode 100644
index 0000000..598133a
--- /dev/null
+++ b/designate/server/export_policy_grains.sls
@@ -0,0 +1,10 @@
+{%- from "designate/map.jinja" import server with context %}
+
+{%- if server.export_policy_grains %}
+
+designate_export_policy_grains:
+ keystone_policy.export_policy_grains:
+ - name: designate_policy
+ - path: /etc/designate/{{ server.get('oslo_policy', {}).get('policy_file', 'policy.json') }}
+
+{%- endif %}
\ No newline at end of file
diff --git a/designate/server.sls b/designate/server/init.sls
similarity index 98%
rename from designate/server.sls
rename to designate/server/init.sls
index eddbf8f..796ec1e 100644
--- a/designate/server.sls
+++ b/designate/server/init.sls
@@ -186,6 +186,8 @@
{%- endif %}
{%- endfor %}
+{%- include "designate/server/export_policy_grains.sls" %}
+
designate_pool_sync:
cmd.run:
- name: designate-manage pool-manager-cache sync