From 047dad17fe021e5e221c5b151be37cb66a40cd14 Mon Sep 17 00:00:00 2001 From: Benjamin Arntzen Date: Sun, 21 Jun 2026 08:37:09 +0100 Subject: [PATCH] fix(os-templates): correct qemu-guest-agent runcmd cloud-init's final stage was failing with exit 5 on every provisioned VM: the runcmd ran 'systemctl start qemu-guest-agent' with no preceding daemon-reload, so systemd hadn't scanned the unit file apt just dropped; and 'systemctl enable' errored on this static (no [Install]) unit, bailing before its implicit reload. With no 'set -e', the last command's exit propagated and marked scripts-user FAILED -> cloud-init status: error. Fix: apt-get update + noninteractive install, daemon-reload, then start (tolerate failure since udev may race activation). Drop the meaningless enable on a static unit. debian-12/13 + ubuntu-2204/2404 (apt), rocky-10 (dnf). Co-Authored-By: Claude --- os-templates/debian-12.yml | 7 ++++--- os-templates/debian-13.yml | 7 ++++--- os-templates/rocky-10.yml | 4 ++-- os-templates/ubuntu-2204.yml | 7 ++++--- os-templates/ubuntu-2404.yml | 7 ++++--- 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/os-templates/debian-12.yml b/os-templates/debian-12.yml index 1390f85c..e71bbda9 100644 --- a/os-templates/debian-12.yml +++ b/os-templates/debian-12.yml @@ -60,9 +60,10 @@ spec: - | # Only install qemu-guest-agent if virtio serial port exists (running on QEMU/KVM) if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - apt-get install -y qemu-guest-agent - systemctl enable qemu-guest-agent - systemctl start qemu-guest-agent + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y qemu-guest-agent + systemctl daemon-reload + systemctl start qemu-guest-agent 2>/dev/null || true fi mode: "0644" timeout: 90 diff --git a/os-templates/debian-13.yml b/os-templates/debian-13.yml index 449752f2..5670f408 100644 --- a/os-templates/debian-13.yml +++ b/os-templates/debian-13.yml @@ -60,9 +60,10 @@ spec: - | # Only install qemu-guest-agent if virtio serial port exists (running on QEMU/KVM) if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - apt-get install -y qemu-guest-agent - systemctl enable qemu-guest-agent - systemctl start qemu-guest-agent + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y qemu-guest-agent + systemctl daemon-reload + systemctl start qemu-guest-agent 2>/dev/null || true fi mode: "0644" timeout: 90 diff --git a/os-templates/rocky-10.yml b/os-templates/rocky-10.yml index 823a9502..998cffe7 100644 --- a/os-templates/rocky-10.yml +++ b/os-templates/rocky-10.yml @@ -61,8 +61,8 @@ spec: # Only install qemu-guest-agent if virtio serial port exists (running on QEMU/KVM) if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then dnf install -y qemu-guest-agent - systemctl enable qemu-guest-agent - systemctl start qemu-guest-agent + systemctl daemon-reload + systemctl start qemu-guest-agent 2>/dev/null || true fi mode: "0644" timeout: 90 diff --git a/os-templates/ubuntu-2204.yml b/os-templates/ubuntu-2204.yml index 0cf7b9c9..587c4c62 100644 --- a/os-templates/ubuntu-2204.yml +++ b/os-templates/ubuntu-2204.yml @@ -60,9 +60,10 @@ spec: - | # Only install qemu-guest-agent if virtio serial port exists (running on QEMU/KVM) if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - apt-get install -y qemu-guest-agent - systemctl enable qemu-guest-agent - systemctl start qemu-guest-agent + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y qemu-guest-agent + systemctl daemon-reload + systemctl start qemu-guest-agent 2>/dev/null || true fi mode: "0644" timeout: 90 diff --git a/os-templates/ubuntu-2404.yml b/os-templates/ubuntu-2404.yml index b8d47bf2..53baee86 100644 --- a/os-templates/ubuntu-2404.yml +++ b/os-templates/ubuntu-2404.yml @@ -60,9 +60,10 @@ spec: - | # Only install qemu-guest-agent if virtio serial port exists (running on QEMU/KVM) if [ -e /dev/virtio-ports/org.qemu.guest_agent.0 ]; then - apt-get install -y qemu-guest-agent - systemctl enable qemu-guest-agent - systemctl start qemu-guest-agent + apt-get update + DEBIAN_FRONTEND=noninteractive apt-get install -y qemu-guest-agent + systemctl daemon-reload + systemctl start qemu-guest-agent 2>/dev/null || true fi mode: "0644" timeout: 90