--- Begin Message ---
Subject: |
libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files |
Date: |
Fri, 04 May 2018 17:01:03 -0700 |
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
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#31365: libvirt/virt-manager: Embeds full path to qemu-system in saved .xml files |
Date: |
Wed, 11 Sep 2019 19:21:18 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Vagrant Cascadian <address@hidden> 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!
--- End Message ---