Ask Your Question

DocEmmetBrown's profile - activity

2014-12-26 02:00:14 -0600 received badge  Famous Question (source)
2014-12-02 22:40:46 -0600 received badge  Famous Question (source)
2014-10-30 07:19:49 -0600 received badge  Notable Question (source)
2014-10-14 13:06:05 -0600 received badge  Notable Question (source)
2014-10-11 12:02:23 -0600 received badge  Popular Question (source)
2014-10-10 07:47:18 -0600 asked a question 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
2014-10-08 14:25:59 -0600 received badge  Popular Question (source)
2014-10-08 09:50:58 -0600 received badge  Editor (source)
2014-10-08 09:49:56 -0600 answered a question live-migration - libvirt - invtsc

After discussions on the #openstack-nova channel, it IS a libvirt bug / regression due on the newly backported package.

As it seems to be corrected in the upstream libvirt with commit de0aeafe9ce3eb414c8b5d3aa8995d776a2952de, does anybody know how to contact the maintainers of the archive.gplhost.com/debian icehouse-backports repository in order to ask them to backport the libvirt-bin package ?

Thanx again !

Update :

ugly but working workaround :

comment the invtsc feature in /usr/share/libvirt/cpu_map.xml

 <!-- Advanced Power Management edx features -->
    <!--
    <feature name='invtsc'>
      <cpuid function='0x80000007' edx='0x00000100'/>
    </feature>
    -->

Restart libvirt service

Restart nova-compute service

Et voilĂ ...

2014-10-08 07:14:41 -0600 asked a question live-migration - libvirt - invtsc

Hi all,

I'm using openstack on Debian, with http://archive.gplhost.com/debian icehouse apt mirror.

Installing new compute nodes yesterday seems to break live migration from these new hosts. Libvirt installed version is now 1.2.7-11~bpo70+1 and seems to introduce a new cpu feature :

$ virsh capabilities : 



<capabilities>
  <host>
    <uuid>xxxxxxxx</uuid>
    <cpu>
      <arch>x86_64</arch>
      <model>Haswell</model>
      <vendor>Intel</vendor>
      <topology sockets='1' cores='4' threads='2'/>
      <feature name='invtsc'/>

.....

When I try a live migrate, I get an error in the nova-compute.log of the host from which the instance should be migrating :

Live Migration failure: Requested operation is not valid: domain has CPU feature: invtsc

I googled it, and didn't find a lot of answers, mainly this post https://bugs.launchpad.net/nova/+bug/1373949 (https://bugs.launchpad.net/nova/+bug/...) confirming that it is a libvirt issue.

Does anyone has had this issue ? Is there any workaround to be able to live-migrate from these newly installed hosts ?

Thanx