--- - name: Generate fstab content ansible.builtin.command: argv: - genfstab - -LU - /mnt register: configuration_fstab_result changed_when: false - name: Write fstab ansible.builtin.copy: dest: /mnt/etc/fstab content: "{{ configuration_fstab_result.stdout }}\n" owner: root group: root mode: "0644" - name: Remove deprecated attr2 and disable large extent when: os in ["almalinux", "rocky", "rhel"] and filesystem == "xfs" ansible.builtin.replace: path: /mnt/etc/fstab regexp: "(xfs.*?)(attr2)" replace: "\\1allocsize=64m" - name: Replace ISO UUID entry with /dev/sr0 in fstab when: os == "rhel" vars: configuration_fstab_dvd_line: >- {{ '/usr/local/install/redhat/rhel.iso /usr/local/install/redhat/dvd iso9660 loop,nofail 0 0' if hypervisor == 'vmware' else '/dev/sr0 /usr/local/install/redhat/dvd iso9660 ro,relatime,nojoliet,check=s,map=n,nofail 0 0' }} ansible.builtin.lineinfile: path: /mnt/etc/fstab regexp: "^.*\\/dvd.*$" line: "{{ configuration_fstab_dvd_line }}" state: present - name: Write image from RHEL ISO to the target machine when: os == "rhel" and hypervisor == 'vmware' ansible.builtin.command: argv: - dd - if=/dev/sr1 - of=/mnt/usr/local/install/redhat/rhel.iso - bs=4M creates: /mnt/usr/local/install/redhat/rhel.iso register: configuration_rhel_iso_result changed_when: configuration_rhel_iso_result.rc == 0 - name: Ensure TempFS is configured in fstab ansible.builtin.lineinfile: path: /mnt/etc/fstab regexp: "{{ fstab_entry.regexp }}" line: "{{ fstab_entry.line }}" insertafter: EOF loop: - { regexp: "^# TempFS$", line: "# TempFS" } - { regexp: "^tmpfs\\\\s+/tmp\\\\s+", line: "tmpfs /tmp tmpfs defaults,nosuid,nodev,noexec 0 0" } - { regexp: "^tmpfs\\\\s+/var/tmp\\\\s+", line: "tmpfs /var/tmp tmpfs defaults,nosuid,nodev,noexec 0 0" } - { regexp: "^tmpfs\\\\s+/dev/shm\\\\s+", line: "tmpfs /dev/shm tmpfs defaults,nosuid,nodev,noexec 0 0" } loop_control: loop_var: fstab_entry