# make an installroot - name: Create installroot command: mktemp -d "{{ remote_tmp_dir }}/ansible.test.XXXXXX" register: dnfroot - name: Make a necessary directory file: path: "/{{dnfroot.stdout}}/etc/dnf/vars" state: directory mode: 0755 - name: Populate directory copy: content: "{{ansible_distribution_version}}\n" dest: "/{{dnfroot.stdout}}/etc/dnf/vars/releasever" - name: attempt releasever to the installroot dnf: name: filesystem installroot: '/{{dnfroot.stdout}}' releasever: '{{ansible_distribution_version|int - 1}}' register: dnf_result - name: check filesystem version shell: rpm -q filesystem --root="/{{dnfroot.stdout}}/" failed_when: False register: rpm_result - debug: var=dnf_result - debug: var=rpm_result - name: verify installation was done assert: that: - "not dnf_result.failed | default(False)" - "dnf_result.changed" - "rpm_result.rc == 0" - name: verify the version assert: that: - "rpm_result.stdout.find('fc' ~ (ansible_distribution_version|int - 1)) != -1" - name: cleanup installroot file: path: "/{{dnfroot.stdout}}/" state: absent