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
This commit is contained in:
Dmitriy Rabotjagov 2018-10-29 18:31:16 +02:00
parent 6966132007
commit 4444748af8
2 changed files with 12 additions and 11 deletions

View File

@ -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"

View File

@ -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