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

Kashyap Chamarthy kchamart at redhat.com
Fri Oct 12 20:38:44 UTC 2018


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




More information about the libvirt-users mailing list