blob: 9370827dfe669e75ce61c78df2d081c12e1cf2bd [file] [log] [blame]
{%- from "ceilometer/map.jinja" import agent with context %}
{%- if agent.enabled %}
ceilometer_agent_packages:
pkg.installed:
- names: {{ agent.pkgs }}
/etc/ceilometer/ceilometer.conf:
file.managed:
- source: salt://ceilometer/files/{{ agent.version }}/ceilometer-agent.conf.{{ grains.os_family }}
- template: jinja
- require:
- pkg: ceilometer_agent_packages
{% for service_name in agent.services %}
{{ service_name }}_default:
file.managed:
- name: /etc/default/{{ service_name }}
- source: salt://ceilometer/files/default
- template: jinja
- require:
- pkg: ceilometer_agent_packages
- defaults:
service_name: {{ service_name }}
values: {{ agent }}
- watch_in:
- service: ceilometer_agent_services
{% endfor %}
{% if agent.logging.log_appender -%}
{%- if agent.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
ceilometer_agent_fluentd_logger_package:
pkg.installed:
- name: python-fluent-logger
{%- endif %}
{% for service_name in agent.services %}
{{ service_name }}_logging_conf:
file.managed:
- name: /etc/ceilometer_agent/logging/logging-{{ service_name }}.conf
- source: salt://ceilometer/files/logging.conf
- template: jinja
- user: ceilometer
- group: ceilometer
- require:
- pkg: ceilometer_agent_packages
{%- if agent.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
- pkg: ceilometer_agent_fluentd_logger_package
{%- endif %}
- makedirs: True
- defaults:
service_name: {{ service_name }}
values: {{ agent }}
- watch_in:
- service: ceilometer_agent_services
{% endfor %}
{% endif %}
{%- for publisher_name, publisher in agent.get('publisher', {}).iteritems() %}
{%- if publisher_name != "default" %}
ceilometer_publisher_{{ publisher_name }}_pkg:
pkg.latest:
- name: ceilometer-publisher-{{ publisher_name }}
{%- endif %}
{%- endfor %}
/etc/ceilometer/pipeline.yaml:
file.managed:
- source: salt://ceilometer/files/{{ agent.version }}/pipeline.yaml
- template: jinja
- require:
- pkg: ceilometer_agent_packages
{%- if agent.version != "kilo" %}
/etc/ceilometer/event_pipeline.yaml:
file.managed:
- source: salt://ceilometer/files/{{ agent.version }}/event_pipeline.yaml
- template: jinja
- require:
- pkg: ceilometer_agent_packages
- watch_in:
- service: ceilometer_agent_services
{%- endif %}
ceilometer_agent_services:
service.running:
- names: {{ agent.services }}
- enable: true
- watch:
- file: /etc/ceilometer/ceilometer.conf
- file: /etc/ceilometer/pipeline.yaml
{%- endif %}