live-migration block-migrate broken
Hi all, I'm having issue on debian based openstack install, for live-migrations with block migrate. Exact same setup with nfs shared storage, live-migration works OK.
Eveything used to work like a charm, but now I get this error in the logs : "Returning exception can only parse strings" on the destination host ;seems to be broken since update to nova v 2014.1.2-7~bpo70+1. Anybody has had the same issue ?
Log extract says :
2014-10-10 14:39:28.390 2944 ERROR oslo.messaging._drivers.common [-] Returning exception can only parse strings
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply
incoming.message))
File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch
return self._do_dispatch(endpoint, method, ctxt, args)
File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch
result = getattr(endpoint, method)(ctxt, **new_args)
File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 88, in wrapped
payload)
File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__
six.reraise(self.type_, self.value, self.tb)
File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 71, in wrapped
return f(self, context, *args, **kw)
File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 303, in decorated_function
e, sys.exc_info())
File "/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, in __exit__
six.reraise(self.type_, self.value, self.tb)
File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 290, in decorated_function
return function(self, context, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 4473, in check_can_live_migrate_source
block_device_info)
File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 4314, in check_can_live_migrate_source
block_device_info)
File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 4382, in _assert_dest_node_has_enough_disk
ret = self.get_instance_disk_info(instance['name'], block_device_info)
File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 4841, in get_instance_disk_info
doc = etree.fromstring(xml)
File "lxml.etree.pyx", line 2754, in lxml.etree.fromstring (src/lxml/lxml.etree.c:54631)
File "parser.pxi", line 1575, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:82710)
ValueError: can only parse strings
to caller
I am also seeing this. Same setup as well.