blob: 0c66a441748ebc629be071fee36da646e0a48302 (
plain) (
tree)
|
|
# vmm ~~ tasks/init_vm_alpine.yml
---
- set_fact:
iso: "{{ vms | selectattr('name', 'equalto', guest) | map(attribute='iso') | first }}"
- include: set_facts.yml
- name: Check for existing drive
stat:
path: "{{ disk_file }}"
register: st_disk
- fail:
msg: "No empty disk detected ! You need to generated disks via hypervisor playbook"
when: not st_disk.stat.exists
- fail:
msg: "Existing installation detected ! Manual action on host required"
when: st_disk.stat.size > 500000
- include_role:
name: serial
- name: Copy vm init script
copy:
src: init_vm_alpine.py
dest: /data/python/init_vm_alpine.py
- name: Stop vm if running
shell: vmctl stop "{{ guest }}" ; vmctl stop vm-tmp
ignore_errors: true
- name: Start temporary vm
shell: vmctl start -r {{ iso_latest }} -d {{ disk_file }} -n {{ vmm.switch.name }} -m 1G vm-tmp
- name: Pause 30 seconds for vm boot
pause:
seconds: 30
- name: Init vm via script
command: python3 /data/python/init_vm_alpine.py \
{{ guest }} \
{{ hostvars[guest].ip.out }} \
{{ hypervisor.gateway }} \
{{ hypervisor.mask }} \
{{ _i.dns[0] }} \
"{{ lookup('file', inventory_dir + '/files/pubkeys/rgoncalves.pub') }}"
|