diff --git a/ansible/roles/ceilometer/handlers/main.yml b/ansible/roles/ceilometer/handlers/main.yml index a5bcf9788f..6c1c843f71 100644 --- a/ansible/roles/ceilometer/handlers/main.yml +++ b/ansible/roles/ceilometer/handlers/main.yml @@ -29,6 +29,7 @@ service: "{{ ceilometer_services[service_name] }}" config_json: "{{ ceilometer_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_conf: "{{ ceilometer_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" + ceilometer_pipeline: "{{ ceilometer_pipelines.results|selectattr('item.key', 'equalto', service_name)|first }}" policy_json: "{{ ceilometer_policy_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_notification_container: "{{ check_ceilometer_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" panko_conf: "{{ panko_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" @@ -46,6 +47,7 @@ or ceilometer_conf.changed | bool or policy_json.changed | bool or ceilometer_events.changed | bool + or ceilometer_pipeline.changed | bool or ceilometer_notification_container.changed | bool or panko_conf.changed | bool @@ -55,6 +57,7 @@ service: "{{ ceilometer_services[service_name] }}" config_json: "{{ ceilometer_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_conf: "{{ ceilometer_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" + ceilometer_pipeline: "{{ ceilometer_pipelines.results|selectattr('item.key', 'equalto', service_name)|first }}" policy_json: "{{ ceilometer_policy_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_central_container: "{{ check_ceilometer_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" kolla_docker: @@ -69,6 +72,7 @@ - service.enabled | bool - config_json.changed | bool or ceilometer_conf.changed | bool + or ceilometer_pipeline.changed | bool or policy_json.changed | bool or ceilometer_central_container.changed | bool @@ -103,6 +107,7 @@ service: "{{ ceilometer_services[service_name] }}" config_json: "{{ ceilometer_config_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_conf: "{{ ceilometer_confs.results|selectattr('item.key', 'equalto', service_name)|first }}" + ceilometer_pipeline: "{{ ceilometer_pipelines.results|selectattr('item.key', 'equalto', service_name)|first }}" policy_json: "{{ ceilometer_policy_jsons.results|selectattr('item.key', 'equalto', service_name)|first }}" ceilometer_compute_container: "{{ check_ceilometer_containers.results|selectattr('item.key', 'equalto', service_name)|first }}" kolla_docker: @@ -118,5 +123,6 @@ - service.enabled | bool - config_json.changed | bool or ceilometer_conf.changed | bool + or ceilometer_pipeline.changed | bool or policy_json.changed | bool or ceilometer_compute_container.changed | bool diff --git a/ansible/roles/ceilometer/tasks/config.yml b/ansible/roles/ceilometer/tasks/config.yml index 254cf0520f..d7c6b43da2 100644 --- a/ansible/roles/ceilometer/tasks/config.yml +++ b/ansible/roles/ceilometer/tasks/config.yml @@ -67,7 +67,7 @@ - Restart ceilometer-collector container - Restart ceilometer-compute container -- name: Copying over event and pipeline yaml for notification service +- name: Copying over event yaml for notification service vars: service: "{{ ceilometer_services['ceilometer-notification'] }}" template: @@ -80,10 +80,27 @@ with_items: - "event_definitions.yaml" - "event_pipeline.yaml" - - "pipeline.yaml" notify: - Restart ceilometer-notification container +- name: Copying over pipeline.yaml file + vars: + services_require_pipeline: + - ceilometer-compute + - ceilometer-central + - ceilometer-notification + template: + src: "pipeline.yaml.j2" + dest: "{{ node_config_directory }}/{{ item.key }}/pipeline.yaml" + register: ceilometer_pipelines + when: + - inventory_hostname in groups[item.value.group] + - item.value.enabled | bool + - item.key in services_require_pipeline + with_dict: "{{ ceilometer_services }}" + notify: + - "Restart {{ item.key }} container" + - name: Copying over panko.conf vars: service_require_panko_conf: diff --git a/ansible/roles/ceilometer/templates/ceilometer-central.json.j2 b/ansible/roles/ceilometer/templates/ceilometer-central.json.j2 index e20257b15a..260ad50497 100644 --- a/ansible/roles/ceilometer/templates/ceilometer-central.json.j2 +++ b/ansible/roles/ceilometer/templates/ceilometer-central.json.j2 @@ -13,6 +13,12 @@ "owner": "ceilometer", "perm": "0600", "optional": true + }, + { + "source": "{{ container_config_directory }}/pipeline.yaml", + "dest": "/etc/ceilometer/pipeline.yaml", + "owner": "ceilometer", + "perm": "0600" } ], "permissions": [ diff --git a/ansible/roles/ceilometer/templates/ceilometer-compute.json.j2 b/ansible/roles/ceilometer/templates/ceilometer-compute.json.j2 index b68dbc0311..236709bfe7 100644 --- a/ansible/roles/ceilometer/templates/ceilometer-compute.json.j2 +++ b/ansible/roles/ceilometer/templates/ceilometer-compute.json.j2 @@ -13,6 +13,12 @@ "owner": "ceilometer", "perm": "0600", "optional": true + }, + { + "source": "{{ container_config_directory }}/pipeline.yaml", + "dest": "/etc/ceilometer/pipeline.yaml", + "owner": "ceilometer", + "perm": "0600" } ], "permissions": [