blob: 88f879995dc9cf40f73fe0fa63fa5c28f7fcdd8a [file] [log] [blame]
---
- assert:
that:
- image_url is defined
- image_checksum is defined
- image is defined
- image_url != ''
- image_checksum != ''
- image != ''
- name: Set some runtime facts
set_fact:
image_cache_file: "{{ image_cache_dir }}/{{ image }}"
image_tmp_dir: "/var/tmp/{{ image_output | basename }}"
- name: Make sure cache directory exist
file:
path: "{{ image_cache_dir }}"
state: directory
- name: Delete previous image cache
file:
path: "{{ image_cache_file }}"
state: absent
when: image_wipe_cache
- name: Check if image is already downloaded
stat:
path: "{{ image_cache_file }}"
register: _image_cache_file_stat
- name: Download if checksum doesn't match
get_url:
url: "{{ image_url }}"
dest: "{{ image_cache_file }}"
checksum: "{{ image_checksum }}"
when: not _image_cache_file_stat.stat.exists
- name: Extract the image if necessary
command: "xz -k -d {{ image_cache_file }}.xz"
args:
chdir: "{{ image_cache_dir }}"
creates: "{{ image_cache_file }}"
- name: Update the cache
command: "virt-customize -m {{ memsize }} -a {{ image_cache_file }} --update"
environment: "{{ virt_customize_env|default({}) }}"
- name: Create tmp directory
file:
path: "{{ image_tmp_dir }}"
state: directory
mode: '0755'
- name: Set filename copy fact
set_fact:
image_file: "{{ image_tmp_dir }}/{{ image_cache_file | basename }}"
- name: Copy the image
copy:
src: "{{ image_cache_file }}"
dest: "{{ image_file }}"
remote_src: true
mode: '0644'
- set_fact:
virt_customize_cmd:
- "virt-customize -m {{ memsize }} -a {{ image_file }}"
- "--selinux-relabel"
- "--install '{{ base_packages | join(',') }}'"