diff options
author | Christian Pointner <equinox@spreadspace.org> | 2017-11-21 22:28:39 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2017-11-21 22:28:39 +0100 |
commit | 91cd5480b5a1ca1103d5e239af3d331477c41c2c (patch) | |
tree | b495bf31e2d5da50b045838a1e8d0455db09ee65 /roles/vm-install/templates |
initial commit as copy from helsinki ansible repo
Diffstat (limited to 'roles/vm-install/templates')
-rw-r--r-- | roles/vm-install/templates/libvirt-domain.xml.j2 | 70 | ||||
-rw-r--r-- | roles/vm-install/templates/preseed_stretch.cfg.j2 | 101 |
2 files changed, 171 insertions, 0 deletions
diff --git a/roles/vm-install/templates/libvirt-domain.xml.j2 b/roles/vm-install/templates/libvirt-domain.xml.j2 new file mode 100644 index 00000000..c95019eb --- /dev/null +++ b/roles/vm-install/templates/libvirt-domain.xml.j2 @@ -0,0 +1,70 @@ +<domain type='kvm'> + <name>{{ inventory_hostname }}</name> + <memory>{{ vm_install.mem * 1024 }}</memory> + <currentMemory>{{ vm_install.mem * 1024 }}</currentMemory> + <vcpu>{{ vm_install.numcpu }}</vcpu> + <os> + <type arch='x86_64' machine='pc-0.12'>hvm</type> +{% if run_installer %} + <kernel>/home/rhadmin/installer/{{ vmdistro }}/{{ vm_install.arch | default('amd64') }}/linux</kernel> + <initrd>/home/rhadmin/installer/{{ vmdistro }}/{{ vm_install.arch | default('amd64') }}/initrd.gz</initrd> + <cmdline>console=ttyS0,115200n8 auto=true interface=auto url=http://ansible.helsinki.at/preseed/vm-{{ inventory_hostname }}-{{ vmdistro }}.cfg netcfg/choose_interface=enp1s1 netcfg/disable_autoconfig=true netcfg/get_ipaddress={{ srv_network.internal.ip }} netcfg/get_netmask=255.255.255.0 netcfg/get_gateway=192.168.1.254 netcfg/get_nameservers=192.168.1.254 netcfg/confirm_static=true netcfg/get_hostname={{ inventory_hostname }} netcfg/get_domain=helsinki.at</cmdline> +{% endif %} + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <pae/> + </features> + <clock offset='utc'/> + <on_poweroff>destroy</on_poweroff> +{% if run_installer %} + <on_reboot>destroy</on_reboot> + <on_crash>destroy</on_crash> +{% else %} + <on_reboot>restart</on_reboot> + <on_crash>restart</on_crash> +{% endif %} + <devices> + <emulator>/usr/bin/kvm</emulator> + +{% if 'virtio' in vm_install.disks %} +{% for device, lv in vm_install.disks.virtio.items() %} + <disk type='block' device='disk'> + <driver name='qemu' type='raw' cache='none' discard='unmap'/> + <source dev='/dev/mapper/{{ lv.vg }}-{{ lv.lv }}'/> + <target dev='{{ device }}' bus='virtio'/> + </disk> +{% endfor %} +{% endif %} + +{% if 'scsi' in vm_install.disks %} + <controller type='scsi' index='0' model='virtio-scsi'/> +{% for device, lv in vm_install.disks.scsi.items() %} + <disk type='block' device='disk'> + <driver name='qemu' type='raw' cache='none' discard='unmap'/> + <source dev='/dev/mapper/{{ lv.vg }}-{{ lv.lv }}'/> + <target dev='{{ device }}' bus='scsi'/> + </disk> +{% endfor %} +{% endif %} + +{% if vm_install.interfaces %} +{% for if in vm_install.interfaces %} + <interface type='bridge'> + <source bridge='{{ if.bridge }}'/> + <model type='virtio'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x0{{ if.idx }}' function='0x0'/> + </interface> +{% endfor %} +{% endif %} + + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + </devices> +</domain> diff --git a/roles/vm-install/templates/preseed_stretch.cfg.j2 b/roles/vm-install/templates/preseed_stretch.cfg.j2 new file mode 100644 index 00000000..b197395e --- /dev/null +++ b/roles/vm-install/templates/preseed_stretch.cfg.j2 @@ -0,0 +1,101 @@ +######################################################################### +# Radio Helsinki preseed file for Debian stretch based VMs +######################################################################### + +d-i debian-installer/language string en +d-i debian-installer/country string AT +d-i debian-installer/locale string de_AT.UTF-8 +d-i keyboard-configuration/xkb-keymap select de + + +#d-i netcfg/choose_interface select enp1s1 +#d-i netcfg/disable_autoconfig boolean false +#d-i netcfg/get_ipaddress string {{ srv_network.internal.ip }} +#d-i netcfg/get_netmask string 255.255.255.0 +#d-i netcfg/get_gateway string 192.168.1.254 +#d-i netcfg/get_nameservers string 192.168.1.254 +#d-i netcfg/confirm_static boolean true + +d-i netcfg/get_hostname string {{ inventory_hostname }} +d-i netcfg/get_domain string helsinki.at +d-i netcfg/wireless_wep string + + +d-i mirror/country string manual +d-i mirror/http/hostname string apt +d-i mirror/http/directory string /debian +d-i mirror/http/proxy string + + +d-i passwd/make-user boolean false +d-i passwd/root-password password this-very-very-secure-password-will-be-removed-by-latecommand +d-i passwd/root-password-again password this-very-very-secure-password-will-be-removed-by-latecommand + + +d-i clock-setup/utc boolean true +d-i time/zone string Europe/Vienna +d-i clock-setup/ntp boolean false + + +d-i partman-auto/disk string /dev/{{ vm_install.disks.primary }} +d-i partman-auto/method string lvm +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true + +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true + +d-i partman-auto/expert_recipe string \ + boot-root :: \ + 1000 10000 -1 ext4 \ + $defaultignore{ } $primary{ } $bootable{ } \ + method{ lvm } vg_name{ {{ inventory_hostname }} } \ + . \ + 1536 10000 2048 ext4 \ + $lvmok{ } in_vg{ {{ inventory_hostname }} } \ + lv_name { root } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + mountpoint{ / } \ + . \ + 1024 11000 1280 ext4 \ + $lvmok{ } in_vg{ {{ inventory_hostname }} } \ + lv_name { var } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + mountpoint{ /var } \ + . \ + 768 10000 768 ext4 \ + $lvmok{ } in_vg{ {{ inventory_hostname }} } \ + lv_name { varlog } \ + method{ format } format{ } \ + use_filesystem{ } filesystem{ ext4 } \ + mountpoint{ /var/log } \ + options/nodev{ nodev } options/noatime{ noatime } \ + options/noexec{ noexec } \ + . + +d-i partman-auto-lvm/no_boot boolean true +d-i partman-basicfilesystems/no_swap true +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + + +d-i base-installer/install-recommends boolean false +d-i apt-setup/security_host string apt + +tasksel tasksel/first multiselect +d-i pkgsel/include string openssh-server python +d-i pkgsel/upgrade select safe-upgrade +popularity-contest popularity-contest/participate boolean false + +d-i grub-installer/choose_bootdev string /dev/{{ vm_install.disks.primary }} +d-i grub-installer/only_debian boolean true +d-i grub-installer/with_other_os boolean false + +d-i finish-install/reboot_in_progress note + + +d-i preseed/late_command string in-target bash -c "passwd -d root; passwd -l root; umask 077; mkdir -p /root/.ssh/; echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDSWnaaAe6PwzB+XaU4kLUnc7BaUbg6wtgLv3M9JkUix ansible config-management' > /root/.ssh/authorized_keys" |