# make a installroot
- name: Create installroot
  command: mktemp -d "{{ remote_tmp_dir }}/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
  command: "{{ ansible_python_interpreter }} -c 'import yum; yb = yum.YumBase(); print(yb.conf.yumvar[\"releasever\"])'"
  register: releasever
  ignore_errors: yes

- name: Populate directory
  copy:
    content: "{{ releasever.stdout_lines[-1] }}\n"
    dest: "/{{ yumroot.stdout }}/etc/yum/vars/releasever"
  when: releasever is successful

# 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
