--- - name: "Bootstrap {{ os | capitalize }}" vars: _dnf_config: "{{ lookup('vars', bootstrap_var_key) }}" _dnf_repos: "{{ _dnf_config.repos | map('regex_replace', '^', '--repo=') | join(' ') }}" _dnf_groups: "{{ _dnf_config.base | join(' ') }}" _dnf_extra: >- {{ ((_dnf_config.extra | default([])) + (_dnf_config.conditional | default([]))) | reject('equalto', '') | join(' ') }} block: - name: "Install base system for {{ os | capitalize }}" ansible.builtin.command: >- dnf --releasever={{ os_version }} --best {{ _dnf_repos }} --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y {{ _dnf_groups }} register: bootstrap_dnf_base_result changed_when: bootstrap_dnf_base_result.rc == 0 - name: Ensure chroot has DNS resolution ansible.builtin.file: src: /run/NetworkManager/resolv.conf dest: /mnt/etc/resolv.conf state: link force: true - name: Install extra packages ansible.builtin.command: >- {{ chroot_command }} dnf --releasever={{ os_version }} --setopt=install_weak_deps=False install -y {{ _dnf_extra }} register: bootstrap_dnf_extra_result changed_when: bootstrap_dnf_extra_result.rc == 0 - name: Detect installed kernel package name ansible.builtin.command: "{{ chroot_command }} rpm -q kernel-core" register: bootstrap_dnf_kernel_check changed_when: false failed_when: false - name: Reinstall kernel package vars: _kernel_pkg: "{{ 'kernel-core' if bootstrap_dnf_kernel_check.rc == 0 else 'kernel' }}" ansible.builtin.command: "{{ chroot_command }} dnf reinstall -y {{ _kernel_pkg }}" register: bootstrap_dnf_kernel_result changed_when: bootstrap_dnf_kernel_result.rc == 0