From 4444748af8894844f2eb717fe50405c5531f262f Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotjagov Date: Mon, 29 Oct 2018 18:31:16 +0200 Subject: [PATCH] Usage of systemd services is mapped to the host group Previously all ceilometer services were deployed to all hosts. But, notification agent is most cases has nothing to do with nova-compute hosts. So condition has been added in order to differentiate services based on their groups. Change-Id: I7bf1a2ef605f6645aa10787b1a53e8a63034cead --- defaults/main.yml | 4 ++-- tasks/main.yml | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 93e56a21..c8bc5a6f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -238,14 +238,14 @@ ceilometer_services: ceilometer-agent-notification: group: - ceilometer_agent_notification - init_config_overrides: "{{ ceilometer_agent_init_overrides }}" + config_overrides: "{{ ceilometer_agent_init_overrides }}" service_name: ceilometer-agent-notification execstarts: "{{ ceilometer_bin }}/ceilometer-agent-notification" ceilometer-polling: group: - ceilometer_agent_central - ceilometer_agent_compute - init_config_overrides: "{{ ceilometer_polling_init_overrides }}" + config_overrides: "{{ ceilometer_polling_init_overrides }}" service_name: ceilometer-polling execstarts: "{{ ceilometer_bin }}/ceilometer-polling" diff --git a/tasks/main.yml b/tasks/main.yml index 10a6f885..6a344e5e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -73,15 +73,16 @@ systemd_BlockIOAccounting: true systemd_MemoryAccounting: true systemd_TasksAccounting: true - systemd_services: - - service_name: "{{ service_var.service_name }}" - enabled: yes - state: started - execstarts: "{{ service_var.execstarts }}" - config_overrides: "{{ service_var.init_config_overrides }}" - with_items: "{{ ceilometer_services.values() | list }}" - loop_control: - loop_var: service_var + systemd_services: |- + {% set services = [] %} + {% for service in ceilometer_services.values() %} + {% if service.group | intersect(group_names) %} + {% set _ = service.update({'enabled': 'yes', 'state': 'started'}) %} + {% set _ = service.pop('group') %} + {% set _ = services.append(service) %} + {% endif %} + {% endfor %} + {{ services }} tags: - ceilometer-config - systemd-service