From f7c7e4864e899cd2404cea3b08495221e37f523d Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Fri, 3 Mar 2023 13:59:06 +0100 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: I5a52c0de14ee3a6215edb64dbc3bd48512d57e2e Closes-Bug: #2009029 --- handlers/main.yml | 2 ++ tasks/glance_install.yml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 85085d22..ca3b9129 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -27,6 +27,7 @@ listen: - "Restart glance services" - "venv changed" + - "systemd service changed" - name: Start services service: @@ -42,3 +43,4 @@ listen: - "Restart glance services" - "venv changed" + - "systemd service changed" diff --git a/tasks/glance_install.yml b/tasks/glance_install.yml index f2a6a445..c468401c 100644 --- a/tasks/glance_install.yml +++ b/tasks/glance_install.yml @@ -152,8 +152,8 @@ systemd_TasksAccounting: true systemd_services: - service_name: "{{ service_var.service_name }}" - enabled: yes - state: started + enabled: "{{ service_var.enabled | default(True) }}" + state: "{{ service_var.state | default('started') }}" execstarts: "{{ service_var.execstarts }}" execreloads: "{{ service_var.execreloads | default([]) }}" config_overrides: "{{ service_var.init_config_overrides }}"