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 | |
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')
-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 | ||||
-rw-r--r-- | roles/vm/install/tasks/main.yml | 12 |
4 files changed, 29 insertions, 27 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 }}'/> diff --git a/roles/vm/install/tasks/main.yml b/roles/vm/install/tasks/main.yml index 20484401..50772e53 100644 --- a/roles/vm/install/tasks/main.yml +++ b/roles/vm/install/tasks/main.yml @@ -1,6 +1,6 @@ --- - name: create lvm-based disks for vm - loop: "{{ hostvars[hostname].install_cooked.disks.virtio | default({}) | combine(hostvars[hostname].install_cooked.disks.scsi | default({})) | dict2items }}" + loop: "{{ hostvars[install_hostname].install_cooked.disks.virtio | default({}) | combine(hostvars[install_hostname].install_cooked.disks.scsi | default({})) | dict2items }}" loop_control: label: "{% if item.value.type == 'lvm' %}{{ item.value.vg }} / {{ item.value.lv }} ({{ item.value.size }}){% else %}unused{% endif %}" when: item.value.type == 'lvm' @@ -11,7 +11,7 @@ state: present - name: create zfs-based disks for vm - loop: "{{ hostvars[hostname].install_cooked.disks.virtio | default({}) | combine(hostvars[hostname].install_cooked.disks.scsi | default({})) | dict2items }}" + loop: "{{ hostvars[install_hostname].install_cooked.disks.virtio | default({}) | combine(hostvars[install_hostname].install_cooked.disks.scsi | default({})) | dict2items }}" loop_control: label: "{% if item.value.type == 'zfs' %}{{ item.value.pool }} / {{ item.value.name }} ({{ item.value.size }}){% else %}unused{% endif %}" when: item.value.type == 'zfs' @@ -30,7 +30,7 @@ - when: install_distro in ['debian', 'ubuntu'] vars: - ssh_keys_root: "{{ hostvars[hostname].ssh_keys_root }}" + ssh_keys_root: "{{ hostvars[install_hostname].ssh_keys_root }}" preseed_tmpdir: "{{ tmpdir.path }}" preseed_force_net_ifnames_policy: path preseed_no_netplan: yes @@ -40,7 +40,7 @@ - when: install_distro in ['openbsd'] vars: - ssh_keys_root: "{{ hostvars[hostname].ssh_keys_root }}" + ssh_keys_root: "{{ hostvars[install_hostname].ssh_keys_root }}" obsd_autoinstall_tmpdir: "{{ tmpdir.path }}" obsd_autoinstall_serial_device: com0 install_interface: vio0 @@ -62,7 +62,7 @@ preseed_tmpdir: "{{ tmpdir.path }}" - debug: - msg: "you can check on the status of the installer running this command 'virsh console {{ hostname }}' on host {{ inventory_hostname }}." + msg: "you can check on the status of the installer running this command 'virsh console {{ install_hostname }}' on host {{ inventory_hostname }}." - when: installer_manual_steps_msg is defined pause: @@ -75,7 +75,7 @@ - name: wait for installer to finish or crash wait_for_virt: - name: "{{ hostname }}" + name: "{{ install_hostname }}" states: shutdown,crashed timeout: 1800 register: installer_result |