2013-05-03 16:56:38 +00:00
|
|
|
# setup a virt instance using a dizzying array of variables :)
|
2013-05-03 16:58:47 +00:00
|
|
|
# FIXME
|
|
|
|
# do an action here that aborts if a bunch of vars are not set
|
|
|
|
|
2013-05-03 16:56:38 +00:00
|
|
|
- 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
|
2013-06-06 20:56:59 +00:00
|
|
|
lvol: lv=$inventory_hostname vg=$volgroup size=$lvm_size state=present
|
2013-05-03 16:56:38 +00:00
|
|
|
delegate_to: $vmhost
|
2013-06-11 16:29:13 +00:00
|
|
|
when: inventory_hostname not in result.list_vms
|
2013-05-03 16:56:38 +00:00
|
|
|
|
|
|
|
- name: run the virt-install
|
2013-06-12 17:01:31 +00:00
|
|
|
shell: ${virt_install_command}
|
2013-05-03 16:56:38 +00:00
|
|
|
delegate_to: $vmhost
|
2013-06-11 16:29:13 +00:00
|
|
|
when: inventory_hostname not in result.list_vms
|
2013-05-03 16:56:38 +00:00
|
|
|
|
|
|
|
- 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
|
2013-06-11 16:46:07 +00:00
|
|
|
when: inventory_hostname not in result.list_vms
|
2013-05-03 16:56:38 +00:00
|
|
|
|
|
|
|
- name: start the vm up
|
|
|
|
action: virt state=running name=${inventory_hostname}
|
|
|
|
delegate_to: $vmhost
|
2013-06-11 16:46:07 +00:00
|
|
|
when: inventory_hostname not in result.list_vms
|
2013-05-03 16:56:38 +00:00
|
|
|
|
|
|
|
- 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
|
2013-06-11 16:46:07 +00:00
|
|
|
when: inventory_hostname not in result.list_vms
|
2013-06-11 16:29:13 +00:00
|
|
|
|
2013-05-03 16:56:38 +00:00
|
|
|
|
|
|
|
|