From 2eecb73a49d332ce9b8d35737dc61d0c91d9a70e Mon Sep 17 00:00:00 2001 From: Miguel Jacq Date: Mon, 15 Dec 2025 12:18:26 +1100 Subject: [PATCH] Ensure we only try to enable service if the unit file existed --- enroll/manifest.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/enroll/manifest.py b/enroll/manifest.py index 0fb6fae..f6a3d57 100644 --- a/enroll/manifest.py +++ b/enroll/manifest.py @@ -379,16 +379,26 @@ Unowned /etc config files not attributed to packages or services. task_parts.append(copy_task(mf, "[Restart service]")) task_parts.append( - f"""- name: Ensure {unit} is enabled (preserve running state) + f""" +- name: Check if unit exists + ansible.builtin.command: systemctl cat "{{ unit_name }}" + register: _unit_exists + changed_when: false + failed_when: false + +- name: Ensure {unit} is enabled (preserve running state) ansible.builtin.service: - name: "{{{{ unit_name }}}}" + name: "{{ unit_name }}" enabled: true + when: _unit_exists.rc == 0 - name: Start {unit} if it was active at harvest time ansible.builtin.service: name: "{{{{ unit_name }}}}" state: started - when: {var_prefix}_start | bool + when: + - {var_prefix}_start | bool + - _unit_exists.rc == 0 """ )