From d2fb525388757174343d3229592f917673da8c0b Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 6 Jul 2019 18:17:57 +0200 Subject: seperate vm/install and vm/define --- roles/vm/define/tasks/main.yml | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 roles/vm/define/tasks/main.yml (limited to 'roles/vm/define/tasks/main.yml') diff --git a/roles/vm/define/tasks/main.yml b/roles/vm/define/tasks/main.yml new file mode 100644 index 00000000..1dd5017a --- /dev/null +++ b/roles/vm/define/tasks/main.yml @@ -0,0 +1,49 @@ +--- +- name: check if vm already exists + virt: + name: "{{ hostname }}" + command: info + register: vmhost_info + +- block: + - name: destroy exisiting vm + virt: + name: "{{ hostname }}" + state: destroyed + + - name: wait for vm to be destroyed + wait_for_virt: + name: "{{ hostname }}" + states: shutdown,crashed + timeout: 5 + + - name: undefining exisiting vm + virt: + name: "{{ hostname }}" + command: undefine + + when: hostname in vmhost_info + +- name: define vm + virt: + command: define + xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" + +- when: vm_define_start | bool + block: + - name: start vm + virt: + name: "{{ hostname }}" + state: running + + - name: wait for VM to start + wait_for_virt: + name: "{{ hostname }}" + states: running + timeout: 10 + +- name: mark vm as autostarted + virt: + name: "{{ hostname }}" + autostart: "{{ vm_define_autostart }}" + command: info ## virt module needs either command or state -- cgit v1.2.3