diff --git a/ansible/roles/ceilometer/handlers/main.yml b/ansible/roles/ceilometer/handlers/main.yml index c32cc91daa..d04023b5df 100644 --- a/ansible/roles/ceilometer/handlers/main.yml +++ b/ansible/roles/ceilometer/handlers/main.yml @@ -25,10 +25,13 @@ - service.enabled | bool - config_json.changed | bool or ceilometer_conf.changed | bool + or ceilometer_event_definitions_overwriting.changed | bool + or ceilometer_event_pipeline_overwriting.changed | bool or gnocchi_resources_overwriting.changed | bool or policy_overwriting.changed | bool or polling_overwriting.changed | bool - or ceilometer_events.changed | bool + or ceilometer_event_definitions.changed | bool + or ceilometer_event_pipeline.changed | bool or ceilometer_pipeline.changed | bool or ceilometer_notification_container.changed | bool or panko_conf.changed | bool diff --git a/ansible/roles/ceilometer/tasks/config.yml b/ansible/roles/ceilometer/tasks/config.yml index 0204ddb24b..6cde08087c 100644 --- a/ansible/roles/ceilometer/tasks/config.yml +++ b/ansible/roles/ceilometer/tasks/config.yml @@ -122,21 +122,77 @@ - Restart ceilometer-compute container - Restart ceilometer-ipmi container -- name: Copying over event yaml for notification service +- name: Check custom event_definitions.yaml exists + local_action: stat path="{{ node_custom_config }}/ceilometer/event_definitions.yaml" + register: ceilometer_event_definitions_file + +- name: Copying over event_definitions.yaml + vars: + service: "{{ ceilometer_services['ceilometer-notification'] }}" + copy: + src: "{{ node_custom_config }}/ceilometer/event_definitions.yaml" + dest: "{{ node_config_directory }}/ceilometer-notification/event_definitions.yaml" + force: True + mode: "0660" + become: true + register: ceilometer_event_definitions_overwriting + when: + - ceilometer_event_definitions_file.stat.exists + - inventory_hostname in groups[service.group] + - service.enabled | bool + notify: + - Restart ceilometer-notification container + +- name: Copying over event_definitions.yaml for notification service vars: service: "{{ ceilometer_services['ceilometer-notification'] }}" template: - src: "{{ item }}.j2" - dest: "{{ node_config_directory }}/ceilometer-notification/{{ item }}" + src: "event_definitions.yaml.j2" + dest: "{{ node_config_directory }}/ceilometer-notification/event_definitions.yaml" mode: "0660" become: true - register: ceilometer_events + register: ceilometer_event_definitions when: - inventory_hostname in groups[service.group] - service.enabled | bool - with_items: - - "event_definitions.yaml" - - "event_pipeline.yaml" + - not ceilometer_event_definitions_file.stat.exists + notify: + - Restart ceilometer-notification container + +- name: Check custom event_pipeline.yaml exists + local_action: stat path="{{ node_custom_config }}/ceilometer/event_pipeline.yaml" + register: ceilometer_event_pipeline_file + +- name: Copying over event_pipeline.yaml + vars: + service: "{{ ceilometer_services['ceilometer-notification'] }}" + copy: + src: "{{ node_custom_config }}/ceilometer/event_pipeline.yaml" + dest: "{{ node_config_directory }}/ceilometer-notification/event_pipeline.yaml" + force: True + mode: "0660" + become: true + register: ceilometer_event_pipeline_overwriting + when: + - ceilometer_event_pipeline_file.stat.exists + - inventory_hostname in groups[service.group] + - service.enabled | bool + notify: + - Restart ceilometer-notification container + +- name: Copying over event_pipeline.yaml for notification service + vars: + service: "{{ ceilometer_services['ceilometer-notification'] }}" + template: + src: "event_pipeline.yaml.j2" + dest: "{{ node_config_directory }}/ceilometer-notification/event_pipeline.yaml" + mode: "0660" + become: true + register: ceilometer_event_pipeline + when: + - inventory_hostname in groups[service.group] + - service.enabled | bool + - not ceilometer_event_pipeline_file.stat.exists notify: - Restart ceilometer-notification container