Subject: bug#31365: closed (Re: bug#47570: libvirt still embeds full path to qemu-system in saved .xml files)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 06 Apr 2021 13:57:03 +0000

Your bug report

#47570: libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
47570: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47570
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#47570: libvirt still embeds full path to qemu-system in saved .xml files
From: Pierre Langlois <[email-masked]>
To: divoplade <[email-masked]>
Cc: Pierre Langlois <[email-masked]>, [email-masked], [email-masked]
Date: Tue, 06 Apr 2021 14:56:28 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

divoplade writes:

> Le lundi 05 avril 2021 à 19:45 +0100, Pierre Langlois a écrit :
>> Do you know at which guix commit this happened?  I'm wondering which
>> version of libvirt triggered this.  AFAICT, right now, if you create
>> a
>> fresh VM using gnome-boxes, it initializes the xml config with the
>> qemu
>> in /run/current-system/profile, which looks like the right thing to
>> do.
>
> I think my system did not auto-upgrade for some time because of a bug
> in org-html-export-to-html that broke one of my packages (the bug is,
> there’s an explicit comment to indicate a license for a script and that
> comment is not XHTML). I don’t know which commit did that, but the
> faulty system was between that commit and 24h before. Or there was
> another earlier problem, and I can’t help, sorry.
>
> You’re right, now that I upgraded it’s fixed.

Cool :-), closing the bug then!

Thanks,
Pierre

Subject: libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files
From: Vagrant Cascadian <[email-masked]>
To: [email-masked]
Date: Fri, 04 May 2018 17:01:03 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

When i create a new libvirt instance with virt-manager, it embeds the
full path to the qemu binary used at the time. For the machine named
"networkboot":

  # grep qemu-system /etc/libvirt/qemu/networkboot.xml
  <emulator>/gnu/store/0rzb7rjri2kb258j58asndw2pnp0xv9p-qemu-2.11.1/bin/qemu-system-x86_64:</emulator>

If I later run "guix gc" and it happens to remove this particular qemu
version, the system no longer runs, of course:

  # virsh start networkboot
  error: Failed to start domain networkboot
  error: Cannot check QEMU binary
      /gnu/store/0rzb7rjri2kb258j58asndw2pnp0xv9p-qemu-2.11.1/bin/qemu-system-x86_64:
      No such file or directory

It also means each virtual machine may be running on an older version of
qemu, for better or worse.

Manaully replacing the emulator entry in the .xml file with
/run/current-system/profie/bin/qemu-system-x86_64 works around the
issue, and might be the easiest fix.

It wouldn't take advantage of a qemu install done in the user's
profile. I'm not sure if libvirtd can be run as a user-installed
profile, so maybe it has to use the system path anyways. I believe
libvirtd is normally run as it's own user, with it's own PATH.

live well,
  vagrant