diff --git a/tests/integration/targets/mount/tasks/main.yml b/tests/integration/targets/mount/tasks/main.yml index 286e222..58eace8 100644 --- a/tests/integration/targets/mount/tasks/main.yml +++ b/tests/integration/targets/mount/tasks/main.yml @@ -1,24 +1,93 @@ -- name: Linux dependencies +- name: Install dependencies (Linux) + ansible.builtin.package: + name: e2fsprogs + state: present when: ansible_system == 'Linux' - block: - - name: Install dependencies (Linux) - ansible.builtin.package: - name: e2fsprogs - state: present - - name: Set shell_executable fact (Linux) - ansible.builtin.set_fact: - shell_executable: /bin/bash -- name: FreeBSD dependencies +- name: Install dependencies (FreeBSD) + ansible.builtin.package: + name: bash + state: present + +- name: Register facts on Linux + ansible.builtin.set_fact: + shell_executable: /bin/bash + ephemeral_device_a: /tmp/myfs_A.img + ephemeral_device_b: /tmp/myfs_B.img + ephemeral_fstype: ext3 + ephemeral_fstab: /etc/fstab + when: ansible_system == 'Linux' + +- name: Register facts on Solaris/SunOS + ansible.builtin.set_fact: + shell_executable: /usr/bin/bash + ephemeral_device_a: /dev/lofi/1 + ephemeral_device_b: /dev/lofi/2 + ephemeral_create_loop_dev_cmd: >- + lofiadm -a /tmp/myfs_A.img /dev/lofi/1 && + lofiadm -a /tmp/myfs_B.img /dev/lofi/2 + ephemeral_remove_loop_dev_cmd: >- + lofiadm -d /dev/lofi/1 && + lofiadm -d /dev/lofi/2 || true + ephemeral_fstype: ufs + ephemeral_fstab: /etc/vfstab + when: ansible_system == 'SunOS' + +- name: Register facts on FreeBSD + ansible.builtin.set_fact: + shell_executable: /usr/local/bin/bash + ephemeral_device_a: /dev/md1 + ephemeral_device_b: /dev/md2 + ephemeral_create_loop_dev_cmd: >- + mdconfig -a -t vnode -f /tmp/myfs_A.img -u /dev/md1 && + mdconfig -a -t vnode -f /tmp/myfs_B.img -u /dev/md2 + ephemeral_remove_loop_dev_cmd: >- + mdconfig -d -u /dev/md1 && + mdconfig -d -u /dev/md2 + ephemeral_fstype: ufs + ephemeral_fstab: /etc/fstab when: ansible_system == 'FreeBSD' - block: - - name: Install dependencies (FreeBSD) - ansible.builtin.package: - name: bash - state: present - - name: Set shell_executable fact (FreeBSD) - ansible.builtin.set_fact: - shell_executable: /usr/local/bin/bash + +- name: Register facts on NetBSD + ansible.builtin.set_fact: + shell_executable: /usr/local/bin/bash + ephemeral_device_a: /dev/vnd1 + ephemeral_device_b: /dev/vnd2 + ephemeral_create_loop_dev_cmd: >- + vnconfig /dev/vnd1 /tmp/myfs_A.img && + vnconfig /dev/vnd2 /tmp/myfs_B.img + ephemeral_remove_loop_dev_cmd: >- + vnconfig -u /dev/vnd1 && + vnconfig -u /dev/vnd2 + ephemeral_fstype: ufs + ephemeral_fstab: /etc/fstab + when: ansible_system == 'NetBSD' + +- name: Register format fs command on Non-Linux and Non-OpenBSD + ansible.builtin.set_fact: + ephemeral_format_fs_cmd: >- + newfs {{ ephemeral_device_a }} && + newfs {{ ephemeral_device_b }} + when: ansible_system in ('SunOS', 'FreeBSD', 'NetBSD') + +- name: Register facts on OpenBSD + ansible.builtin.set_fact: + shell_executable: /usr/local/bin/bash + ephemeral_device_a: /dev/vnd1c + ephemeral_device_b: /dev/vnd2c + ephemeral_create_loop_dev_cmd: >- + vnconfig vnd1 /tmp/myfs_A.img && + vnconfig vnd2 /tmp/myfs_B.img + ephemeral_remove_loop_dev_cmd: >- + vnconfig -u vnd1 && + vnconfig -u vnd2 + ephemeral_format_fs_cmd: >- + newfs /dev/rvnd1c && + newfs /dev/rvnd2c + ephemeral_fstype: ffs + ephemeral_fstab: /etc/fstab + when: ansible_system == 'OpenBSD' + - name: Create the mount point ansible.builtin.file: @@ -464,80 +533,6 @@ path: /tmp/myfs_B.img size: 20M - - name: Register facts on Linux - ansible.builtin.set_fact: - ephemeral_device_a: /tmp/myfs_A.img - ephemeral_device_b: /tmp/myfs_B.img - ephemeral_fstype: ext3 - ephemeral_fstab: /etc/fstab - when: ansible_system == 'Linux' - - - name: Register facts on Solaris/SunOS - ansible.builtin.set_fact: - ephemeral_device_a: /dev/lofi/1 - ephemeral_device_b: /dev/lofi/2 - ephemeral_create_loop_dev_cmd: >- - lofiadm -a /tmp/myfs_A.img /dev/lofi/1 && - lofiadm -a /tmp/myfs_B.img /dev/lofi/2 - ephemeral_remove_loop_dev_cmd: >- - lofiadm -d /dev/lofi/1 && - lofiadm -d /dev/lofi/2 || true - ephemeral_fstype: ufs - ephemeral_fstab: /etc/vfstab - when: ansible_system == 'SunOS' - - - name: Register facts on FreeBSD - ansible.builtin.set_fact: - ephemeral_device_a: /dev/md1 - ephemeral_device_b: /dev/md2 - ephemeral_create_loop_dev_cmd: >- - mdconfig -a -t vnode -f /tmp/myfs_A.img -u /dev/md1 && - mdconfig -a -t vnode -f /tmp/myfs_B.img -u /dev/md2 - ephemeral_remove_loop_dev_cmd: >- - mdconfig -d -u /dev/md1 && - mdconfig -d -u /dev/md2 - ephemeral_fstype: ufs - ephemeral_fstab: /etc/fstab - when: ansible_system == 'FreeBSD' - - - name: Register facts on NetBSD - ansible.builtin.set_fact: - ephemeral_device_a: /dev/vnd1 - ephemeral_device_b: /dev/vnd2 - ephemeral_create_loop_dev_cmd: >- - vnconfig /dev/vnd1 /tmp/myfs_A.img && - vnconfig /dev/vnd2 /tmp/myfs_B.img - ephemeral_remove_loop_dev_cmd: >- - vnconfig -u /dev/vnd1 && - vnconfig -u /dev/vnd2 - ephemeral_fstype: ufs - ephemeral_fstab: /etc/fstab - when: ansible_system == 'NetBSD' - - - name: Register format fs command on Non-Linux and Non-OpenBSD - ansible.builtin.set_fact: - ephemeral_format_fs_cmd: >- - yes | newfs {{ ephemeral_device_a }} && - yes | newfs {{ ephemeral_device_b }} - when: ansible_system in ('SunOS', 'FreeBSD', 'NetBSD') - - - name: Register facts on OpenBSD - ansible.builtin.set_fact: - ephemeral_device_a: /dev/vnd1c - ephemeral_device_b: /dev/vnd2c - ephemeral_create_loop_dev_cmd: >- - vnconfig vnd1 /tmp/myfs_A.img && - vnconfig vnd2 /tmp/myfs_B.img - ephemeral_remove_loop_dev_cmd: >- - vnconfig -u vnd1 && - vnconfig -u vnd2 - ephemeral_format_fs_cmd: >- - yes | newfs /dev/rvnd1c && - yes | newfs /dev/rvnd2c - ephemeral_fstype: ffs - ephemeral_fstab: /etc/fstab - when: ansible_system == 'OpenBSD' - ##### FORMAT FS ON LINUX - name: Block to format FS on Linux @@ -603,7 +598,9 @@ register: fstab_stat_after_mount - name: Get mountinfo - ansible.builtin.command: grep -c '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep -c '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" register: check_mountinfo failed_when: false changed_when: false @@ -616,7 +613,9 @@ - fstab_stat_before_mount['stat']['checksum'] == fstab_stat_after_mount['stat']['checksum'] - name: Get first mount record - ansible.builtin.command: grep '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" register: ephemeral_mount_record_1 changed_when: false @@ -630,12 +629,16 @@ register: ephemeral_mount_info - name: Get second mount record (should be different than the first) - ansible.builtin.command: grep '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" register: ephemeral_mount_record_2 changed_when: false - name: Get mountinfo - ansible.builtin.command: grep -c '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep -c '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" failed_when: false register: check_mountinfo changed_when: false @@ -658,12 +661,16 @@ ignore_errors: true - name: Get third mount record (should be the same than the second) - ansible.builtin.command: grep '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" register: ephemeral_mount_record_3 changed_when: false - name: Get mountinfo - ansible.builtin.command: grep -c '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep -c '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" failed_when: false register: check_mountinfo changed_when: false @@ -692,7 +699,9 @@ register: fstab_stat_after_unmount - name: Get mountinfo - ansible.builtin.command: grep -c '/tmp/myfs' /etc/mtab + ansible.builtin.shell: + cmd: grep -c '/tmp/myfs' <(mount -v) + executable: "{{ shell_executable }}" register: check_mountinfo failed_when: false changed_when: false