parent
1f16debf42
commit
351098c3d4
@ -0,0 +1,5 @@ |
||||
--- |
||||
- hosts: local |
||||
become: true |
||||
roles: |
||||
- qemu-vm |
@ -0,0 +1,48 @@ |
||||
--- |
||||
- name: "{{vm_name}} - Gathering info" |
||||
stat: |
||||
path: "{{playbook_dir}}/vm/{{vm_name}}" |
||||
register: vm_stat |
||||
|
||||
- name: "{{vm_name}} - Checking if VM already exists" |
||||
meta: end_play |
||||
when: vm_stat.stat.exists == true |
||||
|
||||
# Start vm install |
||||
- name: "{{vm_name}} - Create directory for VM" |
||||
file: |
||||
state: directory |
||||
path: "{{playbook_dir}}/vm/{{vm_name}}" |
||||
|
||||
- name: "{{vm_name}} - Create disk images" |
||||
shell: |
||||
cmd: "for i in {1..6}; do qemu-img create -f qcow2 {{playbook_dir}}/vm/{{vm_name}}/drive${i} {{vm_disk_size}}; done" |
||||
|
||||
- name: "{{vm_name}} - Creating cloud-init iso" |
||||
command: "genisoimage -output {{playbook_dir}}/vm/{{vm_name}}/seed.iso -volid cidata -joliet -rock {{role_path}}/files/user-data {{role_path}}/files/meta-data" |
||||
|
||||
# Autoinstall ubuntu on vm |
||||
- name: "{{vm-name}} - Check if iso exists" |
||||
stat: |
||||
path: "{{role_path}}/files/ubuntu20_04.iso" |
||||
register: iso_stat |
||||
|
||||
- name: "{{vm-name}} - Fetching ubuntu iso" |
||||
get_url: |
||||
url: https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-live-server-amd64.iso |
||||
dest: "{{role_path}}/files/ubuntu20_04.iso" |
||||
when: iso_stat.stat.exists == false |
||||
|
||||
- name: "{{vm_name}} - Starting VM install" |
||||
command: > |
||||
qemu-system-x86_64 -cdrom {{role_path}}/files/ubuntu20_04.iso -enable-kvm -boot order=d |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive1,if=virtio,id=a,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive2,if=virtio,id=b,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive3,if=virtio,id=c,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive4,if=virtio,id=d,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive5,if=virtio,id=e,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/drive6,if=virtio,id=f,media=disk,format=qcow2 |
||||
-drive file={{playbook_dir}}/vm/{{vm_name}}/seed.iso,if=virtio,format=raw |
||||
-bios {{ovmf_location}} |
||||
-m {{vm_mem}} |
||||
|
Loading…
Reference in new issue