From bcf57f8581ff172aac1aec1da5a09566780af996 Mon Sep 17 00:00:00 2001 From: James Shubin Date: Sat, 13 Sep 2025 23:48:25 -0400 Subject: [PATCH] engine: resources: Make the qemu guest agent automatic --- engine/resources/virt_builder.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/engine/resources/virt_builder.go b/engine/resources/virt_builder.go index 6a7f0ebb..6faf2c80 100644 --- a/engine/resources/virt_builder.go +++ b/engine/resources/virt_builder.go @@ -187,7 +187,8 @@ type VirtBuilderRes struct { LogOutput bool `lang:"log_output" yaml:"log_output"` // Tweaks adds some random tweaks to work around common bugs. This - // defaults to true. + // defaults to true. It also does some useful things that most may find + // desirable. Tweaks bool `lang:"tweaks" yaml:"tweaks"` varDir string @@ -508,6 +509,12 @@ func (obj *VirtBuilderRes) CheckApply(ctx context.Context, apply bool) (bool, er extraPackages = append(extraPackages, p...) } + // Magic vm things should happen automatically. + if d := obj.getDistro(); obj.Tweaks && (d == "fedora" || d == "debian") { + p := "qemu-guest-agent" // same for debian and fedora + extraPackages = append(extraPackages, p) + } + if len(obj.Packages) > 0 || len(extraPackages) > 0 { packages := []string{} // I think the ordering _may_ matter. packages = append(packages, obj.Packages...) @@ -516,6 +523,13 @@ func (obj *VirtBuilderRes) CheckApply(ctx context.Context, apply bool) (bool, er cmdArgs = append(cmdArgs, args...) } + // Magic vm things should happen automatically. + if d := obj.getDistro(); obj.Tweaks && (d == "fedora" || d == "debian") { + x := "/usr/bin/systemctl enable qemu-guest-agent.service" + args := []string{"--run-command", x} + cmdArgs = append(cmdArgs, args...) + } + // XXX: Tweak for debian grub-pc bug: // https://www.mail-archive.com/guestfs@lists.libguestfs.org/msg00062.html if obj.Tweaks && obj.Update && obj.getDistro() == "debian" {