From 138c4f7d7e28237c8b3209001f8da8ec128fd8b8 Mon Sep 17 00:00:00 2001 From: "Andreas B. Mundt" Date: Thu, 25 Jan 2024 10:47:49 +0100 Subject: [PATCH] Simplify netboot VM start by script. --- roles/lmn_vm/files/vm-netboot | 24 ++++++++++++++++++++++++ roles/lmn_vm/tasks/main.yml | 14 ++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 roles/lmn_vm/files/vm-netboot diff --git a/roles/lmn_vm/files/vm-netboot b/roles/lmn_vm/files/vm-netboot new file mode 100755 index 0000000..2b18831 --- /dev/null +++ b/roles/lmn_vm/files/vm-netboot @@ -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:-} diff --git a/roles/lmn_vm/tasks/main.yml b/roles/lmn_vm/tasks/main.yml index 46f0c20..8681ffe 100644 --- a/roles/lmn_vm/tasks/main.yml +++ b/roles/lmn_vm/tasks/main.yml @@ -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'