Error while creating VM using virt-manager on Xen

kvm-virtualizationvirt-managervirtualizationxen

After a great struggle I got my XEN installed now I am using virt-manager and trying to create a VM. Since my H/W doesnt support full Virtualization using the Para Virtualization installation over network. After I specify all the details like URL , N/w etc., I get the following error:

Unable to complete install: 'POST operation failed: xend_post: error from xen daemon:
(xend.err "Error creating domain: 'NoneType' object has no attribute 'rfind'")

The complete error:

Unable to complete install: 'POST operation failed: xend_post: error from xen daemon: (xend.err "Error creating domain: 'NoneType' object has no attribute 'rfind'")'

DETAILS->
Unable to complete install '<class 'libvirt.libvirtError'> POST operation failed: xend_post: error from xen daemon: (xend.err "Error creating domain: 'NoneType' object has no attribute 'rfind'")
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/create.py", line 1555, in do_install
    dom = guest.start_install(False, meter = meter)
  File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 973, in start_install
    return self._do_install(consolecb, meter, removeOld, wait)
  File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 1038, in _do_install
    "install")
  File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 1009, in _create_guest
    dom = self.conn.createLinux(start_xml, 0)
  File "/usr/lib/python2.6/dist-packages/libvirt.py", line 1277, in createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: POST operation failed: xend_post: error from xen daemon: (xend.err "Error creating domain: 'NoneType' object has no attribute 'rfind'")
'

Best Answer

Some older versions of libvirtd get confused after some internal bug and start throwing errors of this type. I never bothered tracking down the exact bug as it eventually got fixed after a number of updates.

Two things to do:

  • To get things going again, restart libvirtd. (This will not affect running VMs.)
  • Ensure that libvirtd is up to date.