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/install/tasks/main.yml | 68 ++------------------- roles/vm/install/templates/libvirt-domain.xml.j2 | 76 ------------------------ 2 files changed, 6 insertions(+), 138 deletions(-) delete mode 100644 roles/vm/install/templates/libvirt-domain.xml.j2 (limited to 'roles/vm/install') diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index 9d603712..a15e2a47 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -8,30 +8,6 @@ lv: "{{ item.value.lv }}" size: "{{ item.value.size }}" -- 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 - block: - name: create a temporary workdir @@ -54,25 +30,12 @@ etype: user permissions: rx - - name: define new installer vm - virt: - command: define - xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" + - import_role: + name: vm/define vars: - run_installer: yes + vm_define_installer: yes preseed_tmpdir: "{{ tmpdir.path }}" - - name: start vm - virt: - name: "{{ hostname }}" - state: running - - - name: wait for installer to start - wait_for_virt: - name: "{{ hostname }}" - states: running - timeout: 10 - - debug: msg: "you can check on the status of the installer running this command 'virsh console {{ hostname }}' on host {{ inventory_hostname }}." @@ -84,32 +47,13 @@ register: installer_result failed_when: installer_result.failed or installer_result.state == "crashed" - - name: undefining installer vm - virt: - name: "{{ hostname }}" - command: undefine - always: - name: cleanup temporary workdir file: path: "{{ tmpdir.path }}" state: absent -- name: define new production vm - virt: - command: define - xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" +- import_role: + name: vm/define vars: - run_installer: no - -- name: start vm - virt: - name: "{{ hostname }}" - state: running - -- name: mark vm as autostarted - virt: - name: "{{ hostname }}" - autostart: "{{ hostvars[hostname].install_cooked.autostart }}" - command: info ## virt module needs either command or state - when: hostvars[hostname].install_cooked.autostart is defined + vm_define_installer: no diff --git a/roles/vm/install/templates/libvirt-domain.xml.j2 b/roles/vm/install/templates/libvirt-domain.xml.j2 deleted file mode 100644 index f3bdeae1..00000000 --- a/roles/vm/install/templates/libvirt-domain.xml.j2 +++ /dev/null @@ -1,76 +0,0 @@ - - {{ hostname }} - {{ hostvars[hostname].install_cooked.mem * 1024 }} - {{ hostvars[hostname].install_cooked.mem * 1024 }} - {{ hostvars[hostname].install_cooked.numcpu }} - - hvm -{% if run_installer %} - {{ debian_installer_path }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/linux - {{ preseed_tmpdir }}/initrd.preseed.gz - console=ttyS0,115200n8 -{% endif %} - - - - - - - - - destroy -{% if run_installer %} - destroy - destroy -{% else %} - restart - restart -{% endif %} - - /usr/bin/kvm - - - - - /dev/random - - -{% if 'virtio' in hostvars[hostname].install_cooked.disks %} -{% for device, lv in hostvars[hostname].install_cooked.disks.virtio.items() %} - - - - - -{% endfor %} -{% endif %} - -{% if 'scsi' in hostvars[hostname].install_cooked.disks %} - -{% for device, lv in hostvars[hostname].install_cooked.disks.scsi.items() %} - - - - - -{% endfor %} -{% endif %} - -{% if hostvars[hostname].install_cooked.interfaces %} -{% for if in hostvars[hostname].install_cooked.interfaces %} - - - -
- -{% endfor %} -{% endif %} - - - - - - - - - -- cgit v1.2.3