Red Hat Bugzilla – Bug 990258
libguestfs: error: could not create appliance through libvirt: XML error: No PCI buses available [code=27 domain=10]
Last modified: 2013-08-30 18:04:57 EDT
Description of problem:
libguestfs cannot create domains on armv7hl. See the attached
Version-Release number of selected component (if applicable):
Fedora Rawhide. For the precise versions of everything, please
see the attached root.log file.
Steps to Reproduce:
1. 'make check' in libguestfs sources on armv7hl
See attached build.log file.
Created attachment 780765 [details]
Created attachment 780770 [details]
Taking this bug, since plausibly it's a problem with the
XML that we are passing to libvirt. In any case, I'm
upgrading a couple of ARM machines to Fedora 19 so I can
investigate the problem further.
Use of ARM guests is known to be broken, with the fix targetted for F20
most ARM systems do not have a pci bus at all. if libvirt assumes that there always is a pci bus it is wrong
(In reply to Dennis Gilmore from comment #5)
> most ARM systems do not have a pci bus at all. if libvirt assumes that there
> always is a pci bus it is wrong
Yes, we're (painfully) aware of that. Historically libvirt had many assumptions about the "pc" (Intel i440fx chipset) machinetype built into it (artifacts of the days when that was the only machinetype anyone using libvirt was interested in), and we are now working to remove those (that's much of the work for the F20 feature Dan pointed out). (This is also a problem for the q35 machinetype, and many others as well).
FYI I'm posting a libvirt patch series today which allows kicking off qemu-system-arm guests. It isn't exhaustive so it may not cover libguestfs, but it makes certain configurations possible, where currently none are possible.
There's also a patch set for virtio-mmio support for qemu as well which is useful/needed for HW virt on ARM
(In reply to Peter Robinson from comment #8)
> There's also a patch set for virtio-mmio support for qemu as well which is
> useful/needed for HW virt on ARM
virtio-mmio is pretty much essential for libguestfs. Reading
the feedback on that patch series is not encouraging at all.
(In reply to Richard W.M. Jones from comment #9)
> (In reply to Peter Robinson from comment #8)
> > There's also a patch set for virtio-mmio support for qemu as well which is
> > useful/needed for HW virt on ARM
> > http://lists.nongnu.org/archive/html/qemu-devel/2013-06/msg04920.html
> virtio-mmio is pretty much essential for libguestfs. Reading
> the feedback on that patch series is not encouraging at all.
Well I take that back, because in fact it *did* end upstream
(just 4 days ago).
My patches are in rawhide, which drops the PCI assumption for all ARM. libguestfs/libvirt likely still needs more work to fix launching the libguestfs appliance, but this particular error message is fixed.