From d90144d2190009f8bd121cb8f773a9209500f034 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 1 Jan 2022 20:19:56 +0100 Subject: in-place variable cooking --- roles/vm/guest/base/tasks/Debian.yml | 2 +- roles/vm/guest/define/defaults/main.yml | 2 +- roles/vm/guest/define/tasks/main.yml | 10 ++++----- .../guest/define/templates/libvirt-domain.xml.j2 | 18 ++++++++-------- roles/vm/guest/install/tasks/installer-debian.yml | 4 ++-- roles/vm/guest/install/tasks/installer-openbsd.yml | 8 ++++---- roles/vm/guest/install/tasks/main.yml | 24 +++++++++++----------- roles/vm/guest/network/tasks/Debian.yml | 4 ++-- roles/vm/guest/network/tasks/OpenBSD.yml | 2 +- roles/vm/guest/network/templates/interfaces.j2 | 2 +- roles/vm/guest/network/templates/resolv.conf.j2 | 4 ++-- 11 files changed, 40 insertions(+), 40 deletions(-) (limited to 'roles/vm') diff --git a/roles/vm/guest/base/tasks/Debian.yml b/roles/vm/guest/base/tasks/Debian.yml index 7a383fe1..74778d8e 100644 --- a/roles/vm/guest/base/tasks/Debian.yml +++ b/roles/vm/guest/base/tasks/Debian.yml @@ -40,7 +40,7 @@ content: | [Service] ExecStart= - ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --noclear --autologin root --login-pause --host {{ vm_host_cooked.name }} %I $TERM + ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --noclear --autologin root --login-pause --host {{ vm_host.name }} %I $TERM - name: enable serial console in grub and for kernel diff --git a/roles/vm/guest/define/defaults/main.yml b/roles/vm/guest/define/defaults/main.yml index 05aeaab6..f0c74831 100644 --- a/roles/vm/guest/define/defaults/main.yml +++ b/roles/vm/guest/define/defaults/main.yml @@ -1,5 +1,5 @@ --- -vm_define_autostart: "{{ not vm_define_installer and install_cooked.vm.autostart | default(False) }}" +vm_define_autostart: "{{ not vm_define_installer and install.vm.autostart | default(False) }}" vm_define_start: yes vm_define_installer: no diff --git a/roles/vm/guest/define/tasks/main.yml b/roles/vm/guest/define/tasks/main.yml index a4405de1..769afdac 100644 --- a/roles/vm/guest/define/tasks/main.yml +++ b/roles/vm/guest/define/tasks/main.yml @@ -1,6 +1,6 @@ --- - name: check if vm already exists - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" virt: name: "{{ inventory_hostname }}" command: info @@ -8,7 +8,7 @@ - name: remove old vm when: inventory_hostname in vmhost_info - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" block: - name: destroy exisiting vm virt: @@ -27,14 +27,14 @@ command: undefine - name: define vm - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" virt: command: define xml: "{{ lookup('template', 'libvirt-domain.xml.j2') }}" - name: start new vm when: vm_define_start | bool - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" block: - name: start vm virt: @@ -48,7 +48,7 @@ timeout: 10 - name: mark vm as autostarted - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" virt: name: "{{ inventory_hostname }}" autostart: "{{ vm_define_autostart }}" diff --git a/roles/vm/guest/define/templates/libvirt-domain.xml.j2 b/roles/vm/guest/define/templates/libvirt-domain.xml.j2 index 2287dd0b..0430229b 100644 --- a/roles/vm/guest/define/templates/libvirt-domain.xml.j2 +++ b/roles/vm/guest/define/templates/libvirt-domain.xml.j2 @@ -1,8 +1,8 @@ {{ inventory_hostname }} - {{ ((install_cooked.vm.memory | human_to_bytes) / 1024) | int }} - {{ ((install_cooked.vm.memory | human_to_bytes) / 1024) | int }} - {{ install_cooked.vm.numcpus }} + {{ ((install.vm.memory | human_to_bytes) / 1024) | int }} + {{ ((install.vm.memory | human_to_bytes) / 1024) | int }} + {{ install.vm.numcpus }} hvm {% if vm_define_installer %} @@ -50,18 +50,18 @@ {% endif %} -{% if install_cooked.disks %} -{% if 'scsi' in install_cooked.disks %} +{% if install.disks %} +{% if 'scsi' in install.disks %} {% endif %} {% for bus in ['virtio', 'scsi'] %} -{% for device, src in (install_cooked.disks[bus] | default({})).items() %} +{% for device, src in (install.disks[bus] | default({})).items() %} {% if src.type == 'lvm' %} {% elif src.type == 'zfs' %} - + {% elif src.type == 'blockdev' %} {% endif %} @@ -71,8 +71,8 @@ {% endfor %} {% endif %} -{% if install_cooked.interfaces %} -{% for if in install_cooked.interfaces %} +{% if install.interfaces %} +{% for if in install.interfaces %} {% if 'mac' in if %} diff --git a/roles/vm/guest/install/tasks/installer-debian.yml b/roles/vm/guest/install/tasks/installer-debian.yml index 80d41647..8a5c0120 100644 --- a/roles/vm/guest/install/tasks/installer-debian.yml +++ b/roles/vm/guest/install/tasks/installer-debian.yml @@ -2,10 +2,10 @@ ## this file is sourced using import_task and all task are therefore delegated to the vm-host - name: fetch debian installer files vars: - installer_base_path: "{{ hostvars[vm_host_cooked.name].installer_base_path }}" + installer_base_path: "{{ hostvars[vm_host.name].installer_base_path }}" debian_installer_distro: "{{ install_distro }}" debian_installer_codename: "{{ install_codename }}" - debian_installer_arch: "{{ install_cooked.arch | default('amd64') }}" + debian_installer_arch: "{{ install.arch | default('amd64') }}" debian_installer_variant: netboot import_role: name: installer/debian/fetch diff --git a/roles/vm/guest/install/tasks/installer-openbsd.yml b/roles/vm/guest/install/tasks/installer-openbsd.yml index 903e94e2..e3e05fb4 100644 --- a/roles/vm/guest/install/tasks/installer-openbsd.yml +++ b/roles/vm/guest/install/tasks/installer-openbsd.yml @@ -2,18 +2,18 @@ ## this file is sourced using import_task and all task are therefore delegated to the vm-host - name: fetch openbsd installer files vars: - installer_base_path: "{{ hostvars[vm_host_cooked.name].installer_base_path }}" + installer_base_path: "{{ hostvars[vm_host.name].installer_base_path }}" openbsd_installer_version: "{{ install_codename }}" - openbsd_installer_arch: "{{ install_cooked.arch | default('amd64') }}" + openbsd_installer_arch: "{{ install.arch | default('amd64') }}" import_role: name: installer/openbsd/fetch - name: generate host specific autoinstall iso vars: - obsd_autoinstall_orig_iso: "{{ hostvars[vm_host_cooked.name].installer_base_path }}/openbsd-{{ install_codename }}/{{ install_cooked.arch | default('amd64') }}/install{{ openbsd_installer_version_short }}.iso" + obsd_autoinstall_orig_iso: "{{ hostvars[vm_host.name].installer_base_path }}/openbsd-{{ install_codename }}/{{ install.arch | default('amd64') }}/install{{ openbsd_installer_version_short }}.iso" obsd_autoinstall_tmpdir: "{{ tmpdir.path }}" obsd_autoinstall_version: "{{ install_codename }}" - obsd_autoinstall_arch: "{{ install_cooked.arch | default('amd64') }}" + obsd_autoinstall_arch: "{{ install.arch | default('amd64') }}" obsd_autoinstall_serial_device: com0 install_interface: vio0 import_role: diff --git a/roles/vm/guest/install/tasks/main.yml b/roles/vm/guest/install/tasks/main.yml index 06987bc3..f2bd5362 100644 --- a/roles/vm/guest/install/tasks/main.yml +++ b/roles/vm/guest/install/tasks/main.yml @@ -1,9 +1,9 @@ --- - name: create lvm-based disks for vm - loop: "{{ install_cooked.disks.virtio | default({}) | combine(install_cooked.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'lvm') | list }}" + loop: "{{ install.disks.virtio | default({}) | combine(install.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'lvm') | list }}" loop_control: label: "{{ item.value.vg }} / {{ item.value.lv }} ({{ item.value.size }})" - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" lvol: vg: "{{ item.value.vg }}" lv: "{{ item.value.lv }}" @@ -11,31 +11,31 @@ state: present - name: create zfs base datasets for vm - loop: "{{ install_cooked.disks.virtio | default({}) | combine(install_cooked.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'zfs') | map(attribute='value.backend') | map('default', 'default') | unique | list }}" - delegate_to: "{{ vm_host_cooked.name }}" + loop: "{{ install.disks.virtio | default({}) | combine(install.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'zfs') | map(attribute='value.backend') | map('default', 'default') | unique | list }}" + delegate_to: "{{ vm_host.name }}" zfs: - name: "{{ vm_host_cooked.zfs[item].pool }}/{{ vm_host_cooked.zfs[item].name }}/{{ inventory_hostname }}" + name: "{{ vm_host.zfs[item].pool }}/{{ vm_host.zfs[item].name }}/{{ inventory_hostname }}" state: present extra_zfs_properties: canmount: no mountpoint: none - name: create zfs-based disk volumes for vm - loop: "{{ install_cooked.disks.virtio | default({}) | combine(install_cooked.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'zfs') | list }}" + loop: "{{ install.disks.virtio | default({}) | combine(install.disks.scsi | default({})) | dict2items | selectattr('value.type', 'eq', 'zfs') | list }}" loop_control: label: "{{ item.value.name }} on backend {{ item.value.backend | default('default') }} ({{ item.value.size }})" - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" zfs: - name: "{{ vm_host_cooked.zfs[item.value.backend | default('default')].pool }}/{{ vm_host_cooked.zfs[item.value.backend | default('default')].name }}/{{ inventory_hostname }}/{{ item.value.name }}" + name: "{{ vm_host.zfs[item.value.backend | default('default')].pool }}/{{ vm_host.zfs[item.value.backend | default('default')].name }}/{{ inventory_hostname }}/{{ item.value.name }}" state: present extra_zfs_properties: "{{ item.value.properties | default({}) | combine({'volsize': item.value.size}) | dehumanize_zfs_properties }}" -- delegate_to: "{{ vm_host_cooked.name }}" +- delegate_to: "{{ vm_host.name }}" block: - name: create a temporary workdir tempfile: - path: "{{ hostvars[vm_host_cooked.name].installer_base_path }}/" + path: "{{ hostvars[vm_host.name].installer_base_path }}/" prefix: ".{{ inventory_hostname }}." state: directory register: tmpdir @@ -62,7 +62,7 @@ name: vm/guest/define - debug: - msg: "you can check on the status of the installer running this command 'virsh console {{ inventory_hostname }}' on host {{ vm_host_cooked.name }}." + msg: "you can check on the status of the installer running this command 'virsh console {{ inventory_hostname }}' on host {{ vm_host.name }}." - when: installer_manual_steps_msg is defined pause: @@ -90,6 +90,6 @@ - name: define vm vars: vm_define_installer: no - delegate_to: "{{ vm_host_cooked.name }}" + delegate_to: "{{ vm_host.name }}" import_role: name: vm/guest/define diff --git a/roles/vm/guest/network/tasks/Debian.yml b/roles/vm/guest/network/tasks/Debian.yml index 27a7682a..1b785ee5 100644 --- a/roles/vm/guest/network/tasks/Debian.yml +++ b/roles/vm/guest/network/tasks/Debian.yml @@ -1,6 +1,6 @@ --- - name: configure systemd link units - when: network_cooked.systemd_link is defined + when: network.systemd_link is defined block: - name: remove legacy systemd.link units loop: @@ -11,7 +11,7 @@ state: absent - name: install systemd network link units - loop: "{{ network_cooked.systemd_link.interfaces }}" + loop: "{{ network.systemd_link.interfaces }}" loop_control: label: "{{ item.name }}" index_var: interface_index diff --git a/roles/vm/guest/network/tasks/OpenBSD.yml b/roles/vm/guest/network/tasks/OpenBSD.yml index 4357ea4e..ac31af55 100644 --- a/roles/vm/guest/network/tasks/OpenBSD.yml +++ b/roles/vm/guest/network/tasks/OpenBSD.yml @@ -1,6 +1,6 @@ --- - name: generate network interface configs - loop: "{{ network_cooked.interfaces }}" + loop: "{{ network.interfaces }}" loop_control: loop_var: interface label: "{{ interface.name }}" diff --git a/roles/vm/guest/network/templates/interfaces.j2 b/roles/vm/guest/network/templates/interfaces.j2 index c8ff5b94..02442a57 100644 --- a/roles/vm/guest/network/templates/interfaces.j2 +++ b/roles/vm/guest/network/templates/interfaces.j2 @@ -6,7 +6,7 @@ source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback -{% for interface in network_cooked.interfaces %} +{% for interface in network.interfaces %} auto {{ interface.name }} diff --git a/roles/vm/guest/network/templates/resolv.conf.j2 b/roles/vm/guest/network/templates/resolv.conf.j2 index 00aaafe3..a32ec181 100644 --- a/roles/vm/guest/network/templates/resolv.conf.j2 +++ b/roles/vm/guest/network/templates/resolv.conf.j2 @@ -1,4 +1,4 @@ -{% for nsrv in network_cooked.nameservers %} +{% for nsrv in network.nameservers %} nameserver {{ nsrv }} {% endfor %} -search {{ network_cooked.domain }} +search {{ network.domain }} -- cgit v1.2.3