diff options
Diffstat (limited to 'roles/vmm/tasks/isos.yml')
-rw-r--r-- | roles/vmm/tasks/isos.yml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/roles/vmm/tasks/isos.yml b/roles/vmm/tasks/isos.yml new file mode 100644 index 0000000..946b659 --- /dev/null +++ b/roles/vmm/tasks/isos.yml @@ -0,0 +1,45 @@ + +# vmm isos ~~ roles/vmm/tasks/isos.yml +# download an iso file to hypervisor. + +--- + +- name: Check arguments + fail: + msg: "arguments : iso" + when: iso is not defined + +- name: ensure guest exists + set_fact: + disk_file: "{{ vmm.disk_dir }}/{{ guest }}.{{ vmm.disk_format }}" + when: guest is defined + +- name: generate iso infos 1/2 + set_fact: + iso_latest: "{{ vmm.iso_dir }}/{{ vmm.iso[iso].name }}-latest.iso" + when: iso is defined + +- name: generate iso infos 2/2 + set_fact: + iso_file: "{{ iso_latest | regex_replace('latest', vmm.iso[iso].version) }}" + iso_url: "{{ vmm.iso[iso].url \ + | regex_replace('VERSIONDIR', vmm.iso[iso].versiondir) \ + | regex_replace('VERSION', vmm.iso[iso].version) }}" + iso_checksum: "{{ vmm.iso[iso].sha256 \ + | regex_replace('VERSIONDIR', vmm.iso[iso].versiondir) \ + | regex_replace('VERSION', vmm.iso[iso].version) }}" + when: iso is defined + +- name: Get latest iso + get_url: + url: "{{ iso_url }}" + dest: "{{ iso_file }}" + force: "{{ force | default('no') }}" + checksum: "sha256:{{ iso_checksum }}" + +- name: Symlink latest iso + file: + src: "{{ iso_file }}" + dest: "{{ iso_latest }}" + state: link + |