# make a installroot - name: Create installroot local_action: module: command mktemp -d "{{ lookup('env', 'TMPDIR') | default('/tmp', true) }}/ansible.test.XXXXXX" register: yumroot #- name: Populate directory # file: # path: "/{{ yumroot.stdout }}/etc/" # state: directory # mode: 0755 # #- name: Populate directory2 # copy: # content: "[main]\ndistropkgver={{ ansible_distribution_version }}\n" # dest: "/{{ yumroot.stdout }}/etc/yum.conf" - name: Make a necessary directory file: path: "{{ yumroot.stdout }}/etc/yum/vars/" state: directory mode: 0755 - name: get yum releasever shell: python -c 'import yum; yb = yum.YumBase(); print(yb.conf.yumvar["releasever"])' | tail -n 1 register: releasever - name: Populate directory copy: content: "{{ releasever.stdout }}\n" dest: "/{{ yumroot.stdout }}/etc/yum/vars/releasever" # This will drag in > 200 MB. - name: attempt installroot yum: name=zlib installroot="{{ yumroot.stdout }}/" disable_gpg_check=yes register: yum_result - name: check sos with rpm in installroot shell: rpm -q zlib --root="{{ yumroot.stdout }}/" failed_when: False register: rpm_result - name: verify installation of sos assert: that: - "yum_result.rc == 0" - "yum_result.changed" - "rpm_result.rc == 0" - name: verify yum module outputs assert: that: - "'changed' in yum_result" - "'msg' in yum_result" - "'rc' in yum_result" - "'results' in yum_result" - name: cleanup installroot file: path: "{{ yumroot.stdout }}/" state: absent