← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1082414] Re: Live migration between hosts with differents CPU models fails

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => kilo-3

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1082414

Title:
  Live migration between hosts with differents CPU models fails

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  When trying to migrate an instance from a new compute node to an older
  compute node (hardware-wise), nova-computes fails saying that the CPU
  models are incompatible and leaves the instance in Error Status.

  I did specify the CPU model in instances with the options :

  libvirt_cpu_mode=custom
  libvirt_cpu_model=kvm64

  While it seems normal to refuse migration when libvirt_cpu_mode is set
  to host-model or host-passthrough, setting it to custom and using
  kvm64 in instances should not impact CPU compatibility between hosts.

  Migrating the other way around (old to new) works correctly, mainly
  because of a superseeding set of instructions.

  I'm using the Folsom Ubuntu packaged release of nova-compute on Ubuntu
  12.10.

  Edit : Adding stacktrace

  MSG_ID is fe5d9a7c1a634d7f9c0270e35fed083b from (pid=2363) multicall /usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py:354
  [req-0512c53b-1b31-4924-a7d8-1ab57505ca0b ac90b7751f7f4da78f238916f3d01788 0173fc0a9e3d42caa34659f84ee7cb7c] Live migration of instance 97177534-6947-4756-9db5-b92fd4e504df to host os-node1 failed
  Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/contrib/admin_actions.py", line 282, in _migrate_live
      disk_over_commit, host)
    File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 94, in inner
      return f(self, context, instance, *args, **kw)
    File "/usr/lib/python2.7/dist-packages/nova/compute/api.py", line 1960, in live_migrate
      disk_over_commit, instance, host)
    File "/usr/lib/python2.7/dist-packages/nova/scheduler/rpcapi.py", line 96, in live_migration
      dest=dest))
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/proxy.py", line 80, in call
      return rpc.call(context, self._get_topic(topic), msg, timeout)
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/__init__.py", line 102, in call
      return _get_impl().call(cfg.CONF, context, topic, msg, timeout)
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/impl_kombu.py", line 712, in call
      rpc_amqp.get_connection_pool(conf, Connection))
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py", line 368, in call
      rv = list(rv)
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py", line 336, in __iter__
      raise result
  RemoteError: Remote error: InvalidCPUInfo_Remote Unacceptable CPU info: CPU doesn't have compatibility.
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
  0
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
  Refer to http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult
  Traceback (most recent call last):
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/amqp.py", line 275, in _process_data
      rval = self.proxy.dispatch(ctxt, version, method, **args)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/openstack/common/rpc/dispatcher.py", line 145, in dispatch
      return getattr(proxyobj, method)(ctxt, **kwargs)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 117, in wrapped
      temp_level, payload)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/contextlib.py", line 24, in __exit__
      self.gen.next()
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 92, in wrapped
      return f(*args, **kw)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2076, in check_can_live_migrate_destination
      instance, block_migration, disk_over_commit)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2238, in check_can_live_migrate_destination
      self._compare_cpu(source_cpu_info)
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
    File "/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2367, in _compare_cpu
      raise exception.InvalidCPUInfo(reason=m % locals())
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
  InvalidCPUInfo: Unacceptable CPU info: CPU doesn't have compatibility.
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
  0
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions
  Refer to http://libvirt.org/html/libvirt-libvirt.html#virCPUCompareResult
  2012-11-14 22:33:41 TRACE nova.api.openstack.compute.contrib.admin_actions

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1082414/+subscriptions