Merge "Try to fix jinja cycle"
diff --git a/heka/_service.sls b/heka/_service.sls
index d7600f9..3070185 100644
--- a/heka/_service.sls
+++ b/heka/_service.sls
@@ -1,6 +1,3 @@
-{%- from "heka/map.jinja" import service_grains with context %}
-{%- macro load_grains_file(grains_fragment_file) %}{% include grains_fragment_file ignore missing %}{% endmacro %}
-
{%- if server.enabled is defined and server.enabled %}
heka_{{ service_name }}_conf_dir:
@@ -111,6 +108,67 @@
{# Overriding aggregated metadata from user-space pillar data #}
+{# Setup basic structure for all roles so updates can apply #}
+{%- set service_grains = {
+ 'log_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'metric_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'remote_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'aggregator': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm_cluster': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'ceilometer_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ }
+} %}
+
+{# Loading the other services' support metadata for local roles #}
+{%- macro load_support_file(support_fragment_file) %}{% include support_fragment_file ignore missing %}{% endmacro %}
+{%- for svc_name, svc in pillar.iteritems() %}
+ {%- if svc.get('_support', {}).get('heka', {}).get('enabled', False) %}
+ {%- set heka_fragment_file = svc_name+'/meta/heka.yml' %}
+ {%- set heka_yaml = load_support_file(heka_fragment_file)|load_yaml %}
+ {%- set service_grains = salt['grains.filter_by']({'default': service_grains}, merge=heka_yaml) %}
+ {%- endif %}
+{%- endfor %}
+
{%- for service_grain_name, service_grain in service_grains.iteritems() %}
{% if salt['pillar.get']('heka:'+service_grain_name) %}
diff --git a/heka/map.jinja b/heka/map.jinja
index 45c6956..f1eba2a 100644
--- a/heka/map.jinja
+++ b/heka/map.jinja
@@ -131,63 +131,3 @@
'sensu_watchdog_ttl': default_sensu_watchdog_ttl,
}
}, merge=salt['pillar.get']('heka:ceilometer_collector')) %}
-
-{# Setup basic structure for all roles so updates can apply #}
-{%- set service_grains = {
- 'log_collector': {
- 'decoder': {},
- 'input': {},
- 'trigger': {},
- 'filter': {},
- 'splitter': {},
- 'encoder': {},
- 'output': {},
- },
- 'metric_collector': {
- 'decoder': {},
- 'input': {},
- 'trigger': {},
- 'alarm': {},
- 'filter': {},
- 'splitter': {},
- 'encoder': {},
- 'output': {},
- },
- 'remote_collector': {
- 'decoder': {},
- 'input': {},
- 'trigger': {},
- 'alarm': {},
- 'filter': {},
- 'splitter': {},
- 'encoder': {},
- 'output': {},
- },
- 'aggregator': {
- 'decoder': {},
- 'input': {},
- 'trigger': {},
- 'alarm_cluster': {},
- 'filter': {},
- 'splitter': {},
- 'encoder': {},
- 'output': {},
- },
- 'ceilometer_collector': {
- 'decoder': {},
- 'input': {},
- 'filter': {},
- 'splitter': {},
- 'encoder': {},
- 'output': {},
- }
-} %}
-
-{# Loading the other services' support metadata for local roles #}
-{%- for service_name, service in pillar.iteritems() %}
- {%- if service.get('_support', {}).get('heka', {}).get('enabled', False) %}
- {%- set grains_fragment_file = service_name+'/meta/heka.yml' %}
- {%- set grains_yaml = load_grains_file(grains_fragment_file)|load_yaml %}
- {%- set service_grains = salt['grains.filter_by']({'default': service_grains}, merge=grains_yaml) %}
- {%- endif %}
-{%- endfor %}
diff --git a/heka/meta/salt.yml b/heka/meta/salt.yml
index 42f51ae..53b7f8d 100644
--- a/heka/meta/salt.yml
+++ b/heka/meta/salt.yml
@@ -1,4 +1,67 @@
grain:
heka:
- {%- from "heka/map.jinja" import service_grains with context %}
+ {# Setup basic structure for all roles so updates can apply #}
+ {%- set service_grains = {
+ 'log_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'metric_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'remote_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'aggregator': {
+ 'decoder': {},
+ 'input': {},
+ 'trigger': {},
+ 'alarm_cluster': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ },
+ 'ceilometer_collector': {
+ 'decoder': {},
+ 'input': {},
+ 'filter': {},
+ 'splitter': {},
+ 'encoder': {},
+ 'output': {},
+ }
+ } %}
+
+ {# Loading the other services' support metadata for local roles #}
+ {%- macro load_support_file(support_fragment_file) %}{% include support_fragment_file ignore missing %}{% endmacro %}
+ {%- for svc_name, svc in pillar.iteritems() %}
+ {%- if svc.get('_support', {}).get('heka', {}).get('enabled', False) %}
+ {%- set heka_fragment_file = svc_name+'/meta/heka.yml' %}
+ {%- set heka_yaml = load_support_file(heka_fragment_file)|load_yaml %}
+ {%- set service_grains = salt['grains.filter_by']({'default': service_grains}, merge=heka_yaml) %}
+ {%- endif %}
+ {%- endfor %}
{{ service_grains|yaml(False)|indent(4) }}
+
+{#-
+ vim: syntax=jinja
+-#}