Kashyap Chamarthy
2018-Oct-12 20:38 UTC
[libvirt-users] How to explain this libvirt oddity w.r.t machine types?
Context: The baremetal host previously had QEMU 2.11. But I manually downgraded the QEMU version (via `dnf downgrade qemu-system-x86`); now it is at 2.10: $ rpm -q qemu-system-x86 qemu-system-x86-2.10.2-1.fc27.x86_64 The guest is offline. Let's see (in a couple of ways) what machine type it has while it is dormant: # virsh dumpxml cirros | grep -i machine <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type> # grep machine= /etc/libvirt/qemu/cirros.xml <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type> Okay, now edit the guest XML and carefully remove the "machine='pc-i440fx-2.10'" bit---to see what machine type will libvirt (libvirt-daemon-kvm-4.0.0-2.fc27.x86_64) default to: # virsh edit cirros Domain cirros XML configuration edited. Now check the machine type again. Bizarrely enough, libvirt "helpfully" auto-adds QEMU *2.11* machine type, which is obviously no longer on the system! # grep machine= /etc/libvirt/qemu/cirros.xml <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> # virsh dumpxml cirros | grep -i machine <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> How to explain this? Is this even a "valid test"? (To undo the nuisance, obviously, I had to `virsh edit cirros` again and change it to 2.10.) Note, I *don't* have 2.11 QEMU on the system: # rpm -qa | grep -E 'qemu.*2.11' # echo $? 1 * * * It's getting late, and I should stop staring at screens. -- /kashyap
Andrea Bolognani
2018-Oct-14 12:28 UTC
Re: [libvirt-users] How to explain this libvirt oddity w.r.t machine types?
On Fri, 2018-10-12 at 22:38 +0200, Kashyap Chamarthy wrote:> Context: The baremetal host previously had QEMU 2.11. But I manually > downgraded the QEMU version (via `dnf downgrade qemu-system-x86`); now > it is at 2.10: > > $ rpm -q qemu-system-x86 > qemu-system-x86-2.10.2-1.fc27.x86_64 > > The guest is offline. Let's see (in a couple of ways) what machine type > it has while it is dormant: > > # virsh dumpxml cirros | grep -i machine> <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type> > > # grep machine= /etc/libvirt/qemu/cirros.xml > <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type> > > Okay, now edit the guest XML and carefully remove the > "machine='pc-i440fx-2.10'" bit---to see what machine type will libvirt > (libvirt-daemon-kvm-4.0.0-2.fc27.x86_64) default to: > > # virsh edit cirros > Domain cirros XML configuration edited. > > Now check the machine type again. Bizarrely enough, libvirt "helpfully" > auto-adds QEMU *2.11* machine type, which is obviously no longer on the > system! > > # grep machine= /etc/libvirt/qemu/cirros.xml > <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> > > # virsh dumpxml cirros | grep -i machine> <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> > > How to explain this? Is this even a "valid test"? > > (To undo the nuisance, obviously, I had to `virsh edit cirros` again and > change it to 2.10.) > > Note, I *don't* have 2.11 QEMU on the system: > > # rpm -qa | grep -E 'qemu.*2.11' > # echo $? > 1 > > * * * > > It's getting late, and I should stop staring at screens.If I had to guess, I would say the <emulator> element of your guest is probably pointing to a custom-built QEMU 2.11 binary rather than the default one installed from RPMs. -- Andrea Bolognani / Red Hat / Virtualization
Kashyap Chamarthy
2018-Oct-15 06:21 UTC
Re: [libvirt-users] How to explain this libvirt oddity w.r.t machine types?
On Sun, Oct 14, 2018 at 02:28:07PM +0200, Andrea Bolognani wrote:> On Fri, 2018-10-12 at 22:38 +0200, Kashyap Chamarthy wrote:[...]> > Now check the machine type again. Bizarrely enough, libvirt "helpfully" > > auto-adds QEMU *2.11* machine type, which is obviously no longer on the > > system! > > > > # grep machine= /etc/libvirt/qemu/cirros.xml > > <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> > > > > # virsh dumpxml cirros | grep -i machine> > <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type> > > > > How to explain this? Is this even a "valid test"? > > > > (To undo the nuisance, obviously, I had to `virsh edit cirros` again and > > change it to 2.10.) > > > > Note, I *don't* have 2.11 QEMU on the system:[...]> If I had to guess, I would say the <emulator> element of your guest > is probably pointing to a custom-built QEMU 2.11 binary rather than > the default one installed from RPMs.Your guess made me curious enough to check the remote machine one last time before I went to sleep, but unfortunately the <emulator> element is pointing to the plain `/usr/bin/qemu-kvm`, which in turn exec()'s `/usr/bin/qemu-system-x86_64`. (I attached the nothing-special, full guest XML.) -- /kashyap
Seemingly Similar Threads
- Re: How to explain this libvirt oddity w.r.t machine types?
- Re: How to explain this libvirt oddity w.r.t machine types?
- Re: Nested KVM: L0 guest produces kernel BUG on wakeup from managed save (while a nested VM is running)
- e1000 network interface takes a long time to set the link ready
- Nested KVM: L0 guest produces kernel BUG on wakeup from managed save (while a nested VM is running)