Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Customize Qemu Hardware

As posted in another thread, I am trying to use Qemu to run some PPC emulators with OpenStack. I want to give some engineering staff the ability to spin up their own instances of Qemu PPC VMs. The second of two things that I'm struggling with is the hardware model that is passed to libvirt by OpenStack. I'm also fighting getting the correct CPU architecture and machine type passed through, but, once I (seemingly) get passed that, I run into a slew of other errors trying to actually get the instance to start, because the virtual hardware defined by OpenStack isn't compatible with the CPU architecture and machine type of the Qemu emulator. Here's a quick run-down of what I run into:

  • Apparently qemu-kvm automatically creates a PCI bus, but qemu-system-ppc does not. This results in a "No PCI buses available" error trying to get an instance to start.
  • The XML file specifies the machine type as set in the glance image (hw_machine_type) in the <type> property, but not the "arch=ppc" as specified by the image "architecture" option.
  • smbios is not supported in qemu-system-ppc, which throws errors when trying to pass all of the information that OpenStack inserts in for smbios in the "<sysinfo type="smbios">" tag, along with the "<smbios mode="sysinfo">" option.
  • OpenStack sets "<cpu mode="host-model" match="exact">", which causes problems when trying to run a different CPU architecture (error is "Cannot find suitable CPU model for given data.")

Anyone have any experience getting Qemu running on Intel hardware but emulating a different platform under OpenStack?