blob: 04b03956a686e3268cfe1796250f5ad374e2c433 [file] [log] [blame]
{%- from "aodh/map.jinja" import server with context %}
{%- if server.enabled %}
# Exclude unsupported openstack versions
{%- if server.version not in ['liberty', 'juno', 'kilo'] %}
include:
- aodh.db.offline_sync
- aodh._ssl.mysql
- aodh._ssl.rabbitmq
- apache
aodh_server_packages:
pkg.installed:
- names: {{ server.pkgs }}
- require_in:
- sls: aodh._ssl.mysql
- sls: aodh._ssl.rabbitmq
- sls: aodh.db.offline_sync
/etc/aodh/aodh.conf:
file.managed:
- source: salt://aodh/files/{{ server.version }}/aodh.conf.{{ grains.os_family }}
- template: jinja
- mode: 0640
- group: aodh
- require:
- pkg: aodh_server_packages
- sls: aodh._ssl.mysql
- sls: aodh._ssl.rabbitmq
- require_in:
- sls: aodh.db.offline_sync
{% for service_name in server.services %}
{{ service_name }}_default:
file.managed:
- name: /etc/default/{{ service_name }}
- source: salt://aodh/files/default
- template: jinja
- defaults:
service_name: {{ service_name }}
values: {{ server }}
- require:
- pkg: aodh_server_packages
- watch_in:
- service: aodh_server_services
{% endfor %}
{% if server.logging.log_appender %}
{%- if server.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
aodh_fluentd_logger_package:
pkg.installed:
- name: python-fluent-logger
{%- endif %}
aodh_general_logging_conf:
file.managed:
- name: /etc/aodh/logging.conf
- source: salt://oslo_templates/files/logging/_logging.conf
- template: jinja
- mode: 0640
- user: root
- group: aodh
- require:
- pkg: aodh_server_packages
{%- if server.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
- pkg: aodh_fluentd_logger_package
{%- endif %}
- require_in:
- sls: aodh.db.offline_sync
- defaults:
service_name: aodh
_data: {{ server.logging }}
- watch_in:
- service: aodh_server_services
{%- if server.version not in ['mitaka'] %}
- service: aodh_apache_restart
{%- endif %}
/var/log/aodh/aodh.log:
file.managed:
- user: aodh
- group: aodh
- watch_in:
- service: aodh_server_services
{%- if server.version not in ['mitaka'] %}
- service: aodh_apache_restart
{%- endif %}
{% for service_name in server.services %}
{{ service_name }}_logging_conf:
file.managed:
- name: /etc/aodh/logging/logging-{{ service_name }}.conf
- source: salt://oslo_templates/files/logging/_logging.conf
- template: jinja
- mode: 0640
- user: root
- group: aodh
- require:
- pkg: aodh_server_packages
{%- if server.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
- pkg: aodh_fluentd_logger_package
{%- endif %}
- makedirs: True
- defaults:
service_name: {{ service_name }}
_data: {{ server.logging }}
- watch_in:
- service: aodh_server_services
{% endfor %}
{% endif %}
{%- if server.get('role', 'secondary') == 'primary' %}
{%- set cron = server.expirer.cron %}
aodh_expirer_cron:
cron.present:
- name: /usr/bin/aodh-expirer
- user: aodh
- minute: '{{ cron.minute }}'
{%- if cron.hour is defined %}
- hour: '{{ cron.hour }}'
{%- endif %}
{%- if cron.daymonth is defined %}
- daymonth: '{{ cron.daymonth }}'
{%- endif %}
{%- if cron.month is defined %}
- month: '{{ cron.month }}'
{%- endif %}
{%- if cron.dayweek is defined %}
- dayweek: '{{ cron.dayweek }}'
{%- endif %}
- require:
- file: /etc/aodh/aodh.conf
{%- endif %}
# for Newton and newer
{%- if server.version not in ['mitaka'] %}
{%- if pillar.get('apache', {}).get('server', {}).get('site', {}).aodh is defined %}
apache_enable_aodh_wsgi:
apache_site.enabled:
- name: wsgi_aodh
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
- require:
- pkg: aodh_server_packages
- file: aodh_cleanup_configs
aodh_cleanup_configs:
file.absent:
- names:
- '/etc/apache2/sites-available/aodh-api.conf'
- '/etc/apache2/sites-enabled/aodh-api.conf'
{%- else %}
aodh_api_apache_config:
file.managed:
{%- if server.version == 'newton' %}
- name: /etc/apache2/sites-available/apache-aodh.conf
{%- else %}
- name: /etc/apache2/sites-available/aodh-api.conf
{%- endif %}
- source: salt://aodh/files/{{ server.version }}/apache-aodh.apache2.conf.Debian
- template: jinja
- require:
- pkg: aodh_server_packages
aodh_api_config:
file.symlink:
{%- if server.version == 'newton' %}
- name: /etc/apache2/sites-enabled/apache-aodh.conf
- target: /etc/apache2/sites-available/apache-aodh.conf
{%- else %}
- name: /etc/apache2/sites-enabled/aodh-api.conf
- target: /etc/apache2/sites-available/aodh-api.conf
{%- endif %}
{%- endif %}
aodh_apache_restart:
service.running:
- enable: true
- name: apache2
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
- watch:
- file: /etc/aodh/aodh.conf
{%- if pillar.get('apache', {}).get('server', {}).get('site', {}).aodh is defined %}
- apache_enable_aodh_wsgi
{%- else %}
- file: aodh_api_apache_config
{%- endif %}
{%- endif %}
aodh_server_services:
service.running:
- names: {{ server.services }}
- enable: true
{%- if grains.get('noservices') %}
- onlyif: /bin/false
{%- endif %}
- watch:
- file: /etc/aodh/aodh.conf
- require:
- sls: aodh.db.offline_sync
{%- endif %}
{%- endif %}