blob: f7c7af4ef62cbcce1b869f8e2df4c6b45681bb57 [file] [log] [blame]
grain:
{# 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 %}
heka:
heka:
{{ salt['heka_alarming.grains_for_mine'](service_grains)|yaml(False)|indent(6) }}
{#-
vim: syntax=jinja
-#}