fedora-ansible/tasks/virt_instance_create.yml

35 lines
1.2 KiB
YAML

# setup a virt instance using a dizzying array of variables :)
- name: get vm list on the vmhost
delegate_to: $vmhost
virt: command=list_vms
register: result
- name: ensure the lv for the host is made
lvol: lv=$inventory_hostname_short vg=$volgroup size=$lvm_size state=present
delegate_to: $vmhost
when_string: ${inventory_hostname} not in ${result.list_vms}
- name: run the virt-install
shell: ${install_command}
delegate_to: $vmhost
when_string: ${inventory_hostname} not in ${result.list_vms}
- name: wait for the install to finish - by watching the domstate
# this just keeps checking the domstate until it stops running
shell: while `/usr/bin/virsh domstate ${inventory_hostname} | grep -q running` ; do sleep 20; done
delegate_to: $vmhost
async: 1200
poll: 10
when_string: ${inventory_hostname} not in ${result.list_vms}
- name: start the vm up
action: virt state=running name=${inventory_hostname}
delegate_to: $vmhost
when_string: ${inventory_hostname} not in ${result.list_vms}
- name: wait for ssh on the vm to start back
local_action: wait_for delay=10 host=${inventory_hostname} port=22 state=started timeout=1200
when_string: ${inventory_hostname} not in ${result.list_vms}