# # 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: 1500 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