Simplify netboot VM start by script.

This commit is contained in:
Andreas B. Mundt 2024-01-25 10:47:49 +01:00
parent 0a0e942fd0
commit 138c4f7d7e
2 changed files with 38 additions and 0 deletions

24
roles/lmn_vm/files/vm-netboot Executable file
View file

@ -0,0 +1,24 @@
#!/usr/bin/bash
#
# Start a netboot VM
#
set -eu
if [[ $# -eq 0 ]] ; then
arg="--memory 4096 --vcpu 4"
fi
# find macvtap interface MAC address:
MAC="$(ip link | grep -A1 "vm-macvtap" | \
sed -nE "s%\s+link/ether ([[:xdigit:]:]{17}) .+%\1%p")"
XDG_CONFIG_HOME="/tmp/${UID}/.config" \
exec virt-install \
--name bookworm \
--osinfo debiantesting \
--nodisks --import \
--pxe --boot loader=/usr/share/OVMF/OVMF_CODE_4M.fd,\
loader.readonly=yes,loader.type=pflash,\
nvram.template=/usr/share/OVMF/OVMF_VARS_4M.fd \
--network type=ethernet,mac=${MAC},\
target.dev=vm-macvtap,xpath1.set=./target/@managed=no $@ ${arg:-}

View file

@ -247,3 +247,17 @@
command: sudo -u lmnsynci /usr/local/bin/sync-vm.sh -t
register: result
changed_when: result.stdout | length > 0
- name: Start virt-manager in session mode by default
ansible.builtin.copy:
dest: /usr/local/bin/virt-manager
content: |
#!/usr/bin/sh
exec /usr/bin/virt-manager --connect qemu:///session $@
mode: '0755'
- name: Copy vm-netboot script
ansible.builtin.copy:
src: vm-netboot
dest: /usr/local/bin/
mode: '0755'