--- - 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 | lower in ["almalinux", "rhel8", "rhel9", "rhel10", "rocky"] 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 in ["rhel8", "rhel9", "rhel10"] 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 in ["rhel8", "rhel9", "rhel10"] 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