Subject: bug#31365: closed (Re: bug#31365: libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 11 Sep 2019 11:22:02 +0000

Your bug report

#31365: 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].

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

Subject: Re: bug#31365: libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files
From: [email-masked] (宋文武)
To: Vagrant Cascadian <[email-masked]>
Cc: [email-masked]
Date: Wed, 11 Sep 2019 19:21:18 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Vagrant Cascadian <[email-masked]> writes:

> 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.
>

Hello, I believe my commit 'ef640db2f509f51ebfe3a6a66ba837ef3103bbb7'
fix this, now it use '/run/current-system/profie/bin/qemu-system-x86_64'
in the xml files.  Close now..  Thank you!

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