ansible/tasks/virt_instance_create.yml
2014-07-07 17:29:55 +00:00

42 lines
1.3 KiB
YAML

#
# This task is the thing that creates a vm for later use
#
- name: get vm list
delegate_to: "{{ vmhost }}"
virt: command=list_vms
register: result
always_run: yes
- name: ensure the lv for the guest is made
lvol: lv={{ inventory_hostname }} vg={{ volgroup }} size={{ lvm_size }} state=present
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: run the virt-install
shell: "{{ virt_install_command }}"
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: wait for the install to finish
virt: command=status name={{ inventory_hostname }}
register: vmstatus
until: vmstatus.status == 'shutdown'
delegate_to: "{{ vmhost }}"
retries: 150
delay: 10
when: inventory_hostname not in result.list_vms
- name: start the vm up
action: virt state=running name={{ inventory_hostname }}
delegate_to: "{{ vmhost }}"
when: inventory_hostname not in result.list_vms
- name: set it to autostart
action: virt command=autostart name={{ inventory_hostname }}
delegate_to: "{{ vmhost }}"
when: 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: inventory_hostname not in result.list_vms