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: I3f17e680d1bf9e6e34de6b611db2a484eabbded9
This commit is contained in:
Dmitriy Rabotyagov 2023-04-10 16:22:19 +02:00
parent 0279305f3a
commit ded4cca891
2 changed files with 7 additions and 1 deletions

View File

@ -22,3 +22,4 @@
when: inventory_hostname in groups[item.value.group]
listen:
- "venv changed"
- "systemd service changed"

View File

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