Files
toallab-automation/roles/oatakan.windows_ovirt_template/tasks/virtio_drivers.yml
2021-06-29 22:10:31 -04:00

40 lines
1.3 KiB
YAML

---
- name: download virtio win iso file
get_url:
url: "{{ virtio_iso_url }}"
dest: "{{ temp_directory }}/virtio_win.iso"
register: download_virtio_iso
until: download_virtio_iso is success
delay: 3
retries: 5
- name: set list of directories to copy
set_fact:
virtio_iso_list_of_directories_to_extract:
- /viostor/{{ os_short_names[distro_name] | default('2k16') }}/amd64
- /NetKVM/{{ os_short_names[distro_name] | default('2k16') }}/amd64
- name: get a list of files from template iso
shell: >
set -o pipefail &&
isoinfo -f -R -i {{ playbook_dir }}/{{ temp_directory }}/virtio_win.iso |
grep -E "^{{ virtio_iso_list_of_directories_to_extract | join('|^') }}"
changed_when: False
register: virtio_iso_list_of_files
- name: copy files from virtio iso to target
shell: |
set -o pipefail &&
isoinfo -f -R -i {{ playbook_dir }}/{{ temp_directory }}/virtio_win.iso |\
grep -E "^{{ virtio_iso_list_of_directories_to_extract | join('|^') }}" | while read line; do
d=$(dirname $line)
od=".${d}"
[ -f $od ] && rm -f $od
[ -d $od ] || mkdir -p $od
[ -d ".${line}" ] || isoinfo -R -i \
{{ playbook_dir }}/{{ temp_directory }}/virtio_win.iso -x $line > ".${line}"
done
changed_when: True
args:
chdir: "{{ playbook_dir }}/{{ temp_directory }}/ks_iso"