[libvirt] "type 'hvm' & arch 'i686' combination is not supported" error

I recently updated for libvirt 0.4.6 to libvirt 0.6.0. Now several of the virtual machines I defined, are not shown in virt-manager nor by virsh list --all, although the config files are still in /etc/libvirt/qemu. I tried to run virsh create, and this error is shown: libvir: Domain Config error : internal error os type 'hvm' & arch 'i686' combination is not supported This configuration was working perfectly with libvirt 0.4.6. I needed to change i686 to x86_64 in all config files of 32 bit systems to make them work again. Is there no way libvirt could migrate those configuration files automatically? -- Frederik Himpe

On Mon, Feb 23, 2009 at 02:13:34PM +0000, Frederik Himpe wrote:
I recently updated for libvirt 0.4.6 to libvirt 0.6.0. Now several of the virtual machines I defined, are not shown in virt-manager nor by virsh list --all, although the config files are still in /etc/libvirt/qemu. I tried to run virsh create, and this error is shown:
libvir: Domain Config error : internal error os type 'hvm' & arch 'i686' combination is not supported
This configuration was working perfectly with libvirt 0.4.6. I needed to change i686 to x86_64 in all config files of 32 bit systems to make them work again. Is there no way libvirt could migrate those configuration files automatically?
What does 'virsh capabilities' show for your host on 0.6.0 ? Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Wed, Feb 25, 2009 at 12:11:37PM +0000, Daniel P. Berrange wrote:
On Mon, Feb 23, 2009 at 02:13:34PM +0000, Frederik Himpe wrote:
I recently updated for libvirt 0.4.6 to libvirt 0.6.0. Now several of the virtual machines I defined, are not shown in virt-manager nor by virsh list --all, although the config files are still in /etc/libvirt/qemu. I tried to run virsh create, and this error is shown:
libvir: Domain Config error : internal error os type 'hvm' & arch 'i686' combination is not supported
This configuration was working perfectly with libvirt 0.4.6. I needed to change i686 to x86_64 in all config files of 32 bit systems to make them work again. Is there no way libvirt could migrate those configuration files automatically?
What does 'virsh capabilities' show for your host on 0.6.0 ?
<capabilities> <host> <cpu> <arch>x86_64</arch> </cpu> </host> <guest> <os_type>hvm</os_type> <arch name='x86_64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-x86_64</emulator> <machine>pc</machine> <machine>isapc</machine> <domain type='kvm'> <emulator>/usr/bin/qemu-kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest> </capabilities> # rpm -q kvm; kvm-84-2mdv2009.1 # uname -a Linux defected 2.6.29-desktop-0.rc5.4.1mnb #1 SMP Fri Feb 20 09:37:50 EST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz GNU/Linux -- Frederik Himpe

On Wed, Feb 25, 2009 at 01:34:11PM +0100, Frederik Himpe wrote:
On Wed, Feb 25, 2009 at 12:11:37PM +0000, Daniel P. Berrange wrote:
On Mon, Feb 23, 2009 at 02:13:34PM +0000, Frederik Himpe wrote:
I recently updated for libvirt 0.4.6 to libvirt 0.6.0. Now several of the virtual machines I defined, are not shown in virt-manager nor by virsh list --all, although the config files are still in /etc/libvirt/qemu. I tried to run virsh create, and this error is shown:
libvir: Domain Config error : internal error os type 'hvm' & arch 'i686' combination is not supported
This configuration was working perfectly with libvirt 0.4.6. I needed to change i686 to x86_64 in all config files of 32 bit systems to make them work again. Is there no way libvirt could migrate those configuration files automatically?
What does 'virsh capabilities' show for your host on 0.6.0 ?
<capabilities>
<host> <cpu> <arch>x86_64</arch> </cpu> </host>
<guest> <os_type>hvm</os_type> <arch name='x86_64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-x86_64</emulator> <machine>pc</machine> <machine>isapc</machine> <domain type='kvm'> <emulator>/usr/bin/qemu-kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
This shows you haven't got the 32-bit emulator /usr/bin/qemu installed which is why its not recognising the i686 arch as valid. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Wed, Feb 25, 2009 at 12:39:30PM +0000, Daniel P. Berrange wrote:
<capabilities>
<host> <cpu> <arch>x86_64</arch> </cpu> </host>
<guest> <os_type>hvm</os_type> <arch name='x86_64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-x86_64</emulator> <machine>pc</machine> <machine>isapc</machine> <domain type='kvm'> <emulator>/usr/bin/qemu-kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
This shows you haven't got the 32-bit emulator /usr/bin/qemu installed which is why its not recognising the i686 arch as valid.
In the past, I have always had KVM installed and not qemu, and this sufficed to configure i686 hosts with virt-manager and run them. So now it seems I need to change either i686 to x86_64 in the configuration files, either I need to have plain qemu installed. Why is this needed now? -- Frederik Himpe

On Wed, Feb 25, 2009 at 02:17:29PM +0100, Frederik Himpe wrote:
On Wed, Feb 25, 2009 at 12:39:30PM +0000, Daniel P. Berrange wrote:
<capabilities>
<host> <cpu> <arch>x86_64</arch> </cpu> </host>
<guest> <os_type>hvm</os_type> <arch name='x86_64'> <wordsize>64</wordsize> <emulator>/usr/bin/qemu-system-x86_64</emulator> <machine>pc</machine> <machine>isapc</machine> <domain type='kvm'> <emulator>/usr/bin/qemu-kvm</emulator> </domain> </arch> <features> <acpi default='on' toggle='yes'/> <apic default='on' toggle='no'/> </features> </guest>
</capabilities>
This shows you haven't got the 32-bit emulator /usr/bin/qemu installed which is why its not recognising the i686 arch as valid.
In the past, I have always had KVM installed and not qemu, and this sufficed to configure i686 hosts with virt-manager and run them. So now it seems I need to change either i686 to x86_64 in the configuration files, either I need to have plain qemu installed. Why is this needed now?
Actually, installing qemu breaks running x86_64 hosts. virt-manager only gives "internal error starting the virtual machine" or something like that. Could it be that libvirt expects kvm and qemu executables to be named differently then they are on Mandriva? Actually I'm even suprised by the above capabilities output when I only had kvm installed: there was not even a /usr/bin/qemu-system-x86_64 binary on my system when I ran that command. $ rpm -q --filesbypkg kvm qemu | grep bin kvm /usr/bin/kvm kvm /usr/bin/kvmctl kvm /usr/bin/kvmtrace kvm /usr/bin/kvmtrace_format kvm /usr/bin/qemu-kvm kvm /usr/share/kvm/bios.bin kvm /usr/share/kvm/extboot.bin kvm /usr/share/kvm/pxe-e1000.bin kvm /usr/share/kvm/pxe-ne2k_pci.bin kvm /usr/share/kvm/pxe-pcnet.bin kvm /usr/share/kvm/pxe-rtl8139.bin kvm /usr/share/kvm/vgabios-cirrus.bin kvm /usr/share/kvm/vgabios.bin qemu /usr/bin/qemu qemu /usr/bin/qemu-alpha qemu /usr/bin/qemu-arm qemu /usr/bin/qemu-armeb qemu /usr/bin/qemu-cris qemu /usr/bin/qemu-i386 qemu /usr/bin/qemu-m68k qemu /usr/bin/qemu-mips qemu /usr/bin/qemu-mipsel qemu /usr/bin/qemu-nbd qemu /usr/bin/qemu-sh4 qemu /usr/bin/qemu-sh4eb qemu /usr/bin/qemu-sparc qemu /usr/bin/qemu-sparc32plus qemu /usr/bin/qemu-sparc64 qemu /usr/bin/qemu-system-arm qemu /usr/bin/qemu-system-cris qemu /usr/bin/qemu-system-i386 qemu /usr/bin/qemu-system-m68k qemu /usr/bin/qemu-system-mips qemu /usr/bin/qemu-system-mips64 qemu /usr/bin/qemu-system-mips64el qemu /usr/bin/qemu-system-mipsel qemu /usr/bin/qemu-system-sh4 qemu /usr/bin/qemu-system-sh4eb qemu /usr/bin/qemu-system-sparc qemu /usr/bin/qemu-system-x86_64 qemu /usr/bin/qemu-x86_64 qemu /usr/share/qemu/bios.bin qemu /usr/share/qemu/ppc_rom.bin qemu /usr/share/qemu/pxe-e1000.bin qemu /usr/share/qemu/pxe-ne2k_pci.bin qemu /usr/share/qemu/pxe-pcnet.bin qemu /usr/share/qemu/pxe-rtl8139.bin qemu /usr/share/qemu/vgabios-cirrus.bin qemu /usr/share/qemu/vgabios.bin -- Frederik Himpe
participants (2)
-
Daniel P. Berrange
-
Frederik Himpe