
The Monasca Notification engine generates alerts such as Slack notifications from alerts. Change-Id: I84861d5feefe6b6f38acc4dd71e94c386d40b562 Partially-Implements: blueprint monasca-roles
256 lines
8.4 KiB
YAML
256 lines
8.4 KiB
YAML
---
|
|
- name: Ensuring config directories exist
|
|
file:
|
|
path: "{{ node_config_directory }}/{{ item.key }}"
|
|
state: "directory"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0770"
|
|
recurse: yes
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ monasca_services }}"
|
|
|
|
- name: Copying over config.json files for services
|
|
template:
|
|
src: "{{ item.key }}/{{ item.key }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_config_jsons
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ monasca_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over monasca-api config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-api'] }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/monasca-api/{{ item }}.j2"
|
|
- "{{ node_custom_config }}/monasca/{{ item }}"
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-api/{{ item }}"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_api_confs
|
|
with_items:
|
|
- api.conf
|
|
- api-config.ini
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-api container
|
|
|
|
- name: Copying over monasca-api wsgi config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-api'] }}"
|
|
template:
|
|
src: "{{ role_path }}/templates/monasca-api/wsgi-api.conf.j2"
|
|
dest: "{{ node_config_directory }}/monasca-api/wsgi-api.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_api_wsgi_confs
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-api container
|
|
|
|
- name: Copying over monasca-log-api config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-api'] }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/monasca-log-api/{{ item }}.j2"
|
|
- "{{ node_custom_config }}/monasca/{{ item }}"
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-log-api/{{ item }}"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_api_confs
|
|
with_items:
|
|
- log-api.conf
|
|
- log-api-paste.ini
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-api container
|
|
|
|
- name: Copying over monasca-log-api wsgi config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-api'] }}"
|
|
template:
|
|
src: "{{ role_path }}/templates/monasca-log-api/wsgi-log-api.conf.j2"
|
|
dest: "{{ node_config_directory }}/monasca-log-api/wsgi-log-api.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_api_wsgi_confs
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-api container
|
|
|
|
- name: Copying over monasca-log-transformer config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-transformer'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-log-transformer/log-transformer.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_transformer_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/log-transformer.conf"
|
|
- "{{ node_custom_config }}/monasca/log-transformer.conf"
|
|
- "{{ role_path }}/templates/monasca-log-transformer/log-transformer.conf.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-transformer container
|
|
|
|
- name: Copying over monasca-log-persister config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-persister'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-log-persister/log-persister.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_persister_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/log-persister.conf"
|
|
- "{{ node_custom_config }}/monasca/log-persister.conf"
|
|
- "{{ role_path }}/templates/monasca-log-persister/log-persister.conf.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-persister container
|
|
|
|
- name: Copying over monasca-log-persister elasticsearch template
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-persister'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-log-persister/elasticsearch-template.json"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_persister_elasticsearch_template
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/elasticsearch-template.json"
|
|
- "{{ node_custom_config }}/monasca/elasticsearch-template.json"
|
|
- "{{ role_path }}/templates/monasca-log-persister/elasticsearch-template.json"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-persister container
|
|
|
|
- name: Copying over monasca-log-metrics config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-log-metrics'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-log-metrics/log-metrics.conf"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_log_metrics_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/log-metrics.conf"
|
|
- "{{ node_custom_config }}/monasca/log-metrics.conf"
|
|
- "{{ role_path }}/templates/monasca-log-metrics/log-metrics.conf.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-log-metrics container
|
|
|
|
- name: Copying over monasca-thresh config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-thresh'] }}"
|
|
# NOTE(dszumski): We can't use merge_yaml since it replaces empty values
|
|
# with `null`. This breaks the thresholder config file parsing (which should
|
|
# probably be more robust).
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-thresh/thresh-config.yml"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_thresh_confs
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/thresh-config.yml"
|
|
- "{{ node_custom_config }}/monasca/thresh-config.yml"
|
|
- "{{ role_path }}/templates/monasca-thresh/thresh-config.yml.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-thresh container
|
|
|
|
- name: Copying over monasca-thresh storm config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-thresh'] }}"
|
|
template:
|
|
src: "{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-thresh/storm.yml"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_thresh_storm_conf
|
|
with_first_found:
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/storm.yml"
|
|
- "{{ node_custom_config }}/monasca/storm.yml"
|
|
- "{{ role_path }}/templates/monasca-thresh/storm.yml.j2"
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-thresh container
|
|
|
|
- name: Copying over monasca-notification config
|
|
vars:
|
|
service: "{{ monasca_services['monasca-notification'] }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/monasca-notification/{{ item }}.j2"
|
|
- "{{ node_custom_config }}/monasca/{{ item }}"
|
|
- "{{ node_custom_config }}/monasca/{{ inventory_hostname }}/{{ item }}"
|
|
dest: "{{ node_config_directory }}/monasca-notification/{{ item }}"
|
|
mode: "0660"
|
|
become: true
|
|
register: monasca_notification_confs
|
|
with_items:
|
|
- notification.conf
|
|
when:
|
|
- inventory_hostname in groups[service['group']]
|
|
- service.enabled | bool
|
|
notify:
|
|
- Restart monasca-notification container
|
|
|
|
- name: Check monasca containers
|
|
become: true
|
|
kolla_docker:
|
|
action: "compare_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "{{ item.value.container_name }}"
|
|
image: "{{ item.value.image }}"
|
|
volumes: "{{ item.value.volumes }}"
|
|
dimensions: "{{ item.value.dimensions }}"
|
|
register: check_monasca_containers
|
|
when:
|
|
- kolla_action != "config"
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ monasca_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|