From dcad7c9fdf3dcbe1a471d5baa56f84242e4a5820 Mon Sep 17 00:00:00 2001 From: Sietse Snel Date: Tue, 23 Jan 2024 14:28:56 +0100 Subject: [PATCH] Improve iRODS runtime patch for 4.2.12 Ensure that patch can be applied independently of whether iRODS has already been installed --- roles/irods_runtime/defaults/main.yml | 4 ---- roles/irods_runtime/handlers/main.yml | 2 ++ roles/irods_runtime/tasks/main.yml | 14 +++++++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 roles/irods_runtime/defaults/main.yml diff --git a/roles/irods_runtime/defaults/main.yml b/roles/irods_runtime/defaults/main.yml deleted file mode 100644 index 9c49276c9..000000000 --- a/roles/irods_runtime/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# copyright Utrecht University - -irods_service_account: irods diff --git a/roles/irods_runtime/handlers/main.yml b/roles/irods_runtime/handlers/main.yml index 033b64caf..e29ddc885 100644 --- a/roles/irods_runtime/handlers/main.yml +++ b/roles/irods_runtime/handlers/main.yml @@ -5,3 +5,5 @@ ansible.builtin.service: name: irods state: restarted + # Only trigger a restart if the irods service is active. + when: not ansible_check_mode and irods_runtime_irods_service_status.rc == 0 diff --git a/roles/irods_runtime/tasks/main.yml b/roles/irods_runtime/tasks/main.yml index 866342b03..91a76b41f 100644 --- a/roles/irods_runtime/tasks/main.yml +++ b/roles/irods_runtime/tasks/main.yml @@ -1,6 +1,14 @@ --- # copyright Utrecht University +- name: Check if systemd service is active for handler + # noqa command-instead-of-module + ansible.builtin.command: "systemctl is-active irods" + register: irods_runtime_irods_service_status + ignore_errors: true + changed_when: false + + - name: Ensure old iRODS packages are absent ansible.builtin.package: name: @@ -32,10 +40,10 @@ url: https://yoda.uu.nl/irods-patches/libirods_server.so.4.2.12 dest: /usr/lib/libirods_server.so.4.2.12 checksum: sha256:11bb77ff1f17faac1052b891cf6d75a0f55a55814a4ecbad53e1469aca96c1d2 - owner: '{{ irods_service_account }}' - group: '{{ irods_service_account }}' + owner: 'root' + group: 'root' mode: '0644' force: true backup: true notify: Restart iRODS - when: libirods_server_checksum.stdout.split()[0] != '11bb77ff1f17faac1052b891cf6d75a0f55a55814a4ecbad53e1469aca96c1d2' + when: not ansible_check_mode and libirods_server_checksum.stdout.split()[0] != '11bb77ff1f17faac1052b891cf6d75a0f55a55814a4ecbad53e1469aca96c1d2'