29 lines
900 B
YAML
29 lines
900 B
YAML
---
|
|
- name: Check if file exists
|
|
ansible.builtin.stat:
|
|
path: "{{ proxmox_dirs.isos }}/{{ distro.name }}"
|
|
register: image_stat
|
|
|
|
- name: Download image if missing
|
|
ansible.builtin.get_url:
|
|
url: "{{ distro.url }}"
|
|
dest: "{{ proxmox_dirs.isos }}/{{ distro.name }}"
|
|
mode: "0644"
|
|
when: not image_stat.stat.exists
|
|
|
|
- name: Set raw image file name fact
|
|
ansible.builtin.set_fact:
|
|
raw_image_name: "{{ distro.name | splitext | first }}.img"
|
|
|
|
- name: Check if raw image already exists
|
|
ansible.builtin.stat:
|
|
path: "{{ proxmox_dirs.isos }}/{{ raw_image_name }}"
|
|
register: raw_image_stat
|
|
|
|
- name: Convert image to raw format
|
|
ansible.builtin.command:
|
|
cmd: "qemu-img convert -O raw {{ proxmox_dirs.isos }}/{{ distro.name }} {{ proxmox_dirs.isos }}/{{ raw_image_name }}"
|
|
when:
|
|
- download_result is changed or not raw_image_stat.stat.exists
|
|
- image_stat.stat.exists
|