# make a installroot - name: Create installroot local_action: module: command mktemp -d "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}/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" # This will drag in > 200 MB. - name: attempt installroot dnf: name=sos installroot="/{{ dnfroot.stdout }}/" disable_gpg_check=yes register: dnf_result - name: check sos with rpm in installroot shell: rpm -q sos --root="/{{ dnfroot.stdout }}/" failed_when: False register: rpm_result - debug: var=dnf_result - debug: var=rpm_result - name: verify installation of sos in installroot assert: that: - "not dnf_result.failed | default(False)" - "dnf_result.changed" - "rpm_result.rc == 0" - name: verify dnf module outputs in / assert: that: - "'changed' in dnf_result" - "'results' in dnf_result" - name: cleanup installroot file: path: "/{{ dnfroot.stdout }}/" state: absent