mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-03-10 20:29:18 +03:00
Add image builder to create Docker vm's for kube-virt
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
---
|
||||
|
||||
- name: Create image directory
|
||||
file:
|
||||
state: directory
|
||||
path: " {{ images_dir }}"
|
||||
|
||||
- name: Download images files
|
||||
get_url:
|
||||
url: "{{ item.value.url }}"
|
||||
dest: "{{ images_dir }}/{{ item.value.filename }}"
|
||||
checksum: "{{ item.value.checksum }}"
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
|
||||
- name: Convert images which is not in qcow2 format
|
||||
command: qemu-img convert -O qcow2 {{ images_dir }}/{{ item.value.filename }} {{ images_dir }}/{{ item.key }}.qcow2
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
when:
|
||||
- item.value.converted|bool != true
|
||||
register: converted
|
||||
|
||||
- name: Make sure all images are ending with qcow2
|
||||
command: cp {{ images_dir }}/{{ item.value.filename }} {{ images_dir }}/{{ item.key }}.qcow2
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
when:
|
||||
- item.value.converted|bool == true
|
||||
|
||||
- name: Resize images
|
||||
command: qemu-img resize {{ images_dir }}/{{ item.key }}.qcow2 +8G
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
|
||||
# STEP 2: Include the images inside a container
|
||||
- name: Template default Dockerfile
|
||||
template:
|
||||
src: Dockerfile
|
||||
dest: "{{ images_dir }}/Dockerfile"
|
||||
|
||||
- name: Create docker images for each OS
|
||||
command: docker build -t {{registry}}/vm-{{ item.key }} --build-arg cloud_image="{{ item.key }}.qcow2" {{ images_dir }}
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
|
||||
- name: docker login
|
||||
command: docker login -u="{{ docker_user }}" -p="{{ docker_password }}" "{{ docker_host }}"
|
||||
|
||||
- name: docker push image
|
||||
command: docker push {{ registry }}/vm-{{ item.key }}:latest
|
||||
with_dict:
|
||||
- "{{ images }}"
|
||||
Reference in New Issue
Block a user