diff --git a/lazy_reboot.yml b/lazy_reboot.yml index f700ab5..c3fa565 100644 --- a/lazy_reboot.yml +++ b/lazy_reboot.yml @@ -5,18 +5,19 @@ gather_facts: false # With NFS share(s) being in a hung state, we cannot utilize `gather_facts` - # as that too hangs when it tries to figure out the current mounts on the - # system + # here as that too will hang -- We instead use command/set_fact to build + # the needed NFS mount list. tasks: - name: Check for mounted NFS shares # noqa: command-instead-of-module ansible.builtin.command: mount -t nfs,nfs4 - register: nfs_mounts_result + register: lazy_reboot_nfs_mounts changed_when: false - failed_when: nfs_mounts_result['rc'] not in [0, 32] + failed_when: lazy_reboot_nfs_mounts['rc'] not in [0, 32] - name: Create a list of NFS mount points ansible.builtin.set_fact: - nfs_mount_list: "{{ nfs_mounts_result['stdout_lines'] | map('split') | map(attribute=2) | list }}" + lazy_reboot_nfs_list: + "{{ lazy_reboot_nfs_mounts['stdout_lines'] | map('split') | map(attribute=2) | list }}" - name: Verify mount status and reboot host block: @@ -24,16 +25,16 @@ ansible.builtin.command: "ls {{ item }}" timeout: 5 changed_when: false - register: r_verify_mounts - loop: "{{ nfs_mount_list }}" + register: r_lazy_reboot_verify_mounts + loop: "{{ lazy_reboot_nfs_list }}" loop_control: label: "{{ item }}" rescue: - - name: Group shares that failed check + - name: Group shares that failed status check ansible.builtin.set_fact: - failed_nfs_shares: - "{{ r_verify_mounts['results'] | selectattr('failed') | map(attribute='item') | list }}" + lazy_reboot_failed_shares: + "{{ r_lazy_reboot_verify_mounts['results'] | selectattr('failed') | map(attribute='item') | list }}" - name: Lazily unmount the failed shares ansible.builtin.command: "umount -f -l {{ item }}" @@ -41,7 +42,7 @@ register: r_lazy_unmount async: 30 poll: 0 - loop: "{{ failed_nfs_shares }}" + loop: "{{ lazy_reboot_failed_shares }}" loop_control: label: "{{ item }}"