Ensure service is restarted on unit file changes

At the moment we don't restart services if systemd unit file is changed.

We knowingly prevent systemd_service role handlers to execute
by providing `state: started` as otherwise service will be restarted twice.
With that now  we ensure that role handlers will also listen for systemd
unit changes.

Change-Id: Ibb1b0159ca8267ce3ab6ffb1752ab10ddb4b8139
This commit is contained in:
Dmitriy Rabotyagov 2023-04-10 15:48:42 +02:00 committed by Dmitriy Rabotyagov
parent 8ffebf5848
commit a184e4d224
2 changed files with 8 additions and 1 deletions

View File

@ -30,6 +30,7 @@
listen:
- "Restart ceilometer services"
- "venv changed"
- "systemd service changed"
- name: Start services
service:
@ -48,3 +49,4 @@
listen:
- "Restart ceilometer services"
- "venv changed"
- "systemd service changed"

View File

@ -80,7 +80,12 @@
{% set services = [] %}
{% for service in ceilometer_services.values() %}
{% if service.group | intersect(group_names) %}
{% set _ = service.update({'enabled': 'yes', 'state': 'started'}) %}
{% set _ = service.update(
{
'enabled': value['enabled'] | default(True),
'state': value['state'] | default('started')
}
) %}
{% set _ = service.pop('group') %}
{% set _ = services.append(service) %}
{% endif %}