X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=ansible%2Froles%2Fvm%2Fdefine%2Ftasks%2Fmain.yml;fp=ansible%2Froles%2Fvm%2Fdefine%2Ftasks%2Fmain.yml;h=566765840e569443e8fe9ba5467f73c1f3532a23;hb=d4fe54d43b23749a930247c46c3177a06c44d0ae;hp=0000000000000000000000000000000000000000;hpb=e1dff95cc52cbc911eaeffd049bd8efff67528ee;p=noc.git diff --git a/ansible/roles/vm/define/tasks/main.yml b/ansible/roles/vm/define/tasks/main.yml new file mode 100644 index 0000000..5667658 --- /dev/null +++ b/ansible/roles/vm/define/tasks/main.yml @@ -0,0 +1,51 @@ +--- +- name: check if vm already exists + virt: + name: "{{ hostname }}" + command: info + register: vmhost_info + +- when: hostname in 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 + + +- name: redefine vm + virt: + name: "{{ hostname }}" + command: define + xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" + +- when: vm_define_start + 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 + when: vm_define_autostart + virt: + name: "{{ hostname }}" + autostart: yes + command: info ## virt module needs either command or state