Fix grains generation for broken formulas
Avoid failing if some formula has enabled support for sensu but doesn't
provide valid data in meta/sensu.yml
Change-Id: I4b6bb0371c55f7fee091554dc879dcab54895de7
diff --git a/sensu/meta/salt.yml b/sensu/meta/salt.yml
index dac6991..d30d6aa 100644
--- a/sensu/meta/salt.yml
+++ b/sensu/meta/salt.yml
@@ -18,12 +18,14 @@
{%- set grains_fragment_file = service_name+'/meta/sensu.yml' %}
{%- macro load_grains_file() %}{% include grains_fragment_file %}{% endmacro %}
{%- set grains_yaml = load_grains_file()|load_yaml %}
- {%- for check_name, check in client.get('check', {}).items() %}
- {%- if check_name in grains_yaml.check and not check.get('enabled', True) %}
- {%- do grains_yaml.check.pop(check_name) %}
- {%- endif %}
- {%- endfor %}
- {%- do service_grains.sensu.check.update(grains_yaml.check) %}
+ {%- if grains_yaml %}
+ {%- for check_name, check in client.get('check', {}).items() %}
+ {%- if check_name in grains_yaml.check and not check.get('enabled', True) %}
+ {%- do grains_yaml.check.pop(check_name) %}
+ {%- endif %}
+ {%- endfor %}
+ {%- do service_grains.sensu.check.update(grains_yaml.check) %}
+ {%- endif %}
{%- endif %}
{%- endfor %}
sensu: