[libvirt-users] How to explain this libvirt oddity w.r.t machine types?

Andrea Bolognani abologna at redhat.com
Sun Oct 14 12:28:07 UTC 2018


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




More information about the libvirt-users mailing list