--- - name: Install iSCSI dependencies ansible.builtin.package: name: - open-iscsi - util-linux state: present - name: Ensure iscsid enabled ansible.builtin.service: name: iscsid state: started enabled: true - name: Configure and login iSCSI targets ansible.builtin.include_tasks: iscsi_target.yml loop: "{{ iscsi_targets | default([]) }}" loop_control: loop_var: t - name: Mount filesystems for iSCSI targets ansible.builtin.include_tasks: iscsi_mount.yml loop: "{{ iscsi_targets | default([]) | map(attribute='mounts') | list | flatten }}" loop_control: loop_var: m - name: Guardrail - ensure required mountpoints are mounted ansible.builtin.command: "findmnt -n {{ item.path }}" register: _findmnt changed_when: false failed_when: _findmnt.rc != 0 loop: "{{ iscsi_targets | default([]) | map(attribute='mounts') | list | flatten }}" loop_control: label: "{{ item.path }}"