add kubespray to the XTesting as it provides newer version of kubenetes and can be...
[it/test.git] / XTesting / kubespray / test-infra / image-builder / roles / kubevirt-images / tasks / main.yml
1 ---
2
3 - name: Create image directory
4   file:
5     state: directory
6     path: "{{ images_dir }}"
7     mode: 0755
8
9 - name: Download images files
10   get_url:
11     url: "{{ item.value.url }}"
12     dest: "{{ images_dir }}/{{ item.value.filename }}"
13     checksum: "{{ item.value.checksum }}"
14   loop: "{{ images|dict2items }}"
15
16 - name: Unxz compressed images
17   command: unxz --force {{ images_dir }}/{{ item.value.filename }}
18   loop: "{{ images|dict2items }}"
19   when:
20     - item.value.filename.endswith('.xz')
21
22 - name: Convert images which is not in qcow2 format
23   command: qemu-img convert -O qcow2 {{ images_dir }}/{{ item.value.filename.rstrip('.xz') }} {{ images_dir }}/{{ item.key }}.qcow2
24   loop: "{{ images|dict2items }}"
25   when:
26     - not (item.value.converted|bool)
27
28 - name: Make sure all images are ending with qcow2
29   command: cp {{ images_dir }}/{{ item.value.filename.rstrip('.xz') }} {{ images_dir }}/{{ item.key }}.qcow2
30   loop: "{{ images|dict2items }}"
31   when:
32     - item.value.converted|bool
33
34 - name: Resize images  # noqa 301
35   command: qemu-img resize {{ images_dir }}/{{ item.key }}.qcow2 +8G
36   loop: "{{ images|dict2items }}"
37
38 # STEP 2: Include the images inside a container
39 - name: Template default Dockerfile
40   template:
41     src: Dockerfile
42     dest: "{{ images_dir }}/Dockerfile"
43     mode: 0644
44
45 - name: Create docker images for each OS  # noqa 301
46   command: docker build -t {{ registry }}/vm-{{ item.key }}:{{ item.value.tag }} --build-arg cloud_image="{{ item.key }}.qcow2" {{ images_dir }}
47   loop: "{{ images|dict2items }}"
48
49 - name: docker login  # noqa 301
50   command: docker login -u="{{ docker_user }}" -p="{{ docker_password }}" "{{ docker_host }}"
51
52 - name: docker push image  # noqa 301
53   command: docker push {{ registry }}/vm-{{ item.key }}:{{ item.value.tag }}
54   loop: "{{ images|dict2items }}"
55
56 - name: docker logout  # noqa 301
57   command: docker logout -u="{{ docker_user }}" "{{ docker_host }}"