40 lines
1.3 KiB
YAML
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" |