From 5849da07b9c8e3927fd6b807afd433288dfd6c42 Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 11 Apr 2023 12:47:24 +0200 Subject: [PATCH] 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: I78c9888f7f2b97bd901d9fcce636bc22b6411eb9 --- handlers/main.yml | 1 + vars/main.yml | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/handlers/main.yml b/handlers/main.yml index 2343e54f..d591025f 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -22,6 +22,7 @@ with_items: "{{ filtered_swift_services }}" listen: - "venv changed" + - "systemd service changed" - name: Restart rsync service service: diff --git a/vars/main.yml b/vars/main.yml index 0b3dda17..b127cfcc 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -22,7 +22,14 @@ filtered_swift_services: |- {% if (value['group'] in group_names) and (('service_en' not in value) or ('service_en' in value and value['service_en'])) %} - {% set _ = value.update({'service_key': key}) %} + {% set _ = value.update( + { + 'service_key': key, + 'enabled': value['enabled'] | default(True), + 'state': value['state'] | default('started') + } + ) + %} {% set _ = services.append(value) %} {% endif %} {% endfor %}