diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-04-23 01:24:38 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-04-23 01:24:38 +0200 |
commit | 17077868e615fa7115abdb03a5af4662ab0a3679 (patch) | |
tree | 22cb752792c3410bcfe8ce856b9746cad1ccf8d3 /roles/vm/define | |
parent | remove spreadspace k8s-test cluster (diff) |
refactor all install roles ans playbooks to work with new variable install_hostname
Diffstat (limited to 'roles/vm/define')
-rw-r--r-- | roles/vm/define/defaults/main.yml | 2 | ||||
-rw-r--r-- | roles/vm/define/tasks/main.yml | 20 | ||||
-rw-r--r-- | roles/vm/define/templates/libvirt-domain.xml.j2 | 22 |
3 files changed, 23 insertions, 21 deletions
diff --git a/roles/vm/define/defaults/main.yml b/roles/vm/define/defaults/main.yml index dbde0d8c..29884a9b 100644 --- a/roles/vm/define/defaults/main.yml +++ b/roles/vm/define/defaults/main.yml @@ -1,5 +1,5 @@ --- -vm_define_autostart: "{{ not vm_define_installer and hostvars[hostname].install_cooked.autostart | default(False) }}" +vm_define_autostart: "{{ not vm_define_installer and hostvars[install_hostname].install_cooked.autostart | default(False) }}" vm_define_start: yes vm_define_installer: no diff --git a/roles/vm/define/tasks/main.yml b/roles/vm/define/tasks/main.yml index 4c2b99e1..d0790628 100644 --- a/roles/vm/define/tasks/main.yml +++ b/roles/vm/define/tasks/main.yml @@ -1,26 +1,27 @@ --- - name: check if vm already exists virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" command: info register: vmhost_info -- when: hostname in vmhost_info +- name: remove old vm + when: install_hostname in vmhost_info block: - name: destroy exisiting vm virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" state: destroyed - name: wait for vm to be destroyed wait_for_virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" states: shutdown,crashed timeout: 5 - name: undefining exisiting vm virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" command: undefine - name: define vm @@ -28,21 +29,22 @@ command: define xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" -- when: vm_define_start | bool +- name: start new vm + when: vm_define_start | bool block: - name: start vm virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" state: running - name: wait for VM to start wait_for_virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" states: running timeout: 10 - name: mark vm as autostarted virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" autostart: "{{ vm_define_autostart }}" command: info ## virt module needs either command or state diff --git a/roles/vm/define/templates/libvirt-domain.xml.j2 b/roles/vm/define/templates/libvirt-domain.xml.j2 index 780d1bae..3465cec0 100644 --- a/roles/vm/define/templates/libvirt-domain.xml.j2 +++ b/roles/vm/define/templates/libvirt-domain.xml.j2 @@ -1,13 +1,13 @@ <domain type='kvm'> - <name>{{ hostname }}</name> - <memory>{{ hostvars[hostname].install_cooked.mem * 1024 }}</memory> - <currentMemory>{{ hostvars[hostname].install_cooked.mem * 1024 }}</currentMemory> - <vcpu>{{ hostvars[hostname].install_cooked.numcpu }}</vcpu> + <name>{{ install_hostname }}</name> + <memory>{{ hostvars[install_hostname].install_cooked.mem * 1024 }}</memory> + <currentMemory>{{ hostvars[install_hostname].install_cooked.mem * 1024 }}</currentMemory> + <vcpu>{{ hostvars[install_hostname].install_cooked.numcpu }}</vcpu> <os> <type arch='x86_64' machine='pc-0.12'>hvm</type> {% if vm_define_installer %} {% if install_distro == 'debian' or install_distro == 'ubuntu' %} - <kernel>{{ installer_path }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[hostname].install_cooked.arch | default('amd64') }}/linux</kernel> + <kernel>{{ installer_path }}/{{ install_distro }}-{{ install_codename }}/{{ hostvars[install_hostname].install_cooked.arch | default('amd64') }}/linux</kernel> <initrd>{{ preseed_tmpdir }}/initrd.preseed.gz</initrd> <cmdline>console=ttyS0,115200n8</cmdline> <boot dev='hd'/> @@ -50,8 +50,8 @@ </disk> {% endif %} -{% if 'virtio' in hostvars[hostname].install_cooked.disks %} -{% for device, src in hostvars[hostname].install_cooked.disks.virtio.items() %} +{% if 'virtio' in hostvars[install_hostname].install_cooked.disks %} +{% for device, src in hostvars[install_hostname].install_cooked.disks.virtio.items() %} <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' discard='unmap'/> {% if src.type == 'lvm' %} @@ -64,9 +64,9 @@ {% endfor %} {% endif %} -{% if 'scsi' in hostvars[hostname].install_cooked.disks %} +{% if 'scsi' in hostvars[install_hostname].install_cooked.disks %} <controller type='scsi' index='0' model='virtio-scsi'/> -{% for device, src in hostvars[hostname].install_cooked.disks.scsi.items() %} +{% for device, src in hostvars[install_hostname].install_cooked.disks.scsi.items() %} <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='none' discard='unmap'/> {% if src.type == 'lvm' %} @@ -79,8 +79,8 @@ {% endfor %} {% endif %} -{% if hostvars[hostname].install_cooked.interfaces %} -{% for if in hostvars[hostname].install_cooked.interfaces %} +{% if hostvars[install_hostname].install_cooked.interfaces %} +{% for if in hostvars[install_hostname].install_cooked.interfaces %} <interface type='bridge'> {% if 'mac' in if %} <mac address='{{ if.mac }}'/> |