← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1362929] [NEW] libvirt: KVM live migration failed due to VIR_DOMAIN_XML_MIGRATABLE flag

 

Public bug reported:

OS version: RHEL 6.5
libvirt version:  libvirt-0.10.2-29.el6_5.9.x86_64

When I attempt to live migrate my KVM instance using latest Juno code on
RHEL 6.5, I notice nova-compute error on source compute node:

2014-08-27 09:24:41.836 26638 ERROR nova.virt.libvirt.driver [-]
[instance: 1b1618fa-ddbd-4fce-aa04-720a72ec7dfe] Live Migration failure:
unsupported configuration: Target CPU model SandyBridge does not match
source (null)

And this libvirt error on source compute node:

2014-08-27 09:32:24.955+0000: 17721: error : virCPUDefIsEqual:753 :
unsupported configuration: Target CPU model SandyBridge does not match
source (null)

After looking into the code, I notice that https://review.openstack.org/#/c/73428/ adds VIR_DOMAIN_XML_MIGRATABLE flag to dump instance xml. With this flag, the KVM instance xml will include full CPU information like this:
  <cpu mode='host-model' match='exact'>
    <model fallback='allow'>SandyBridge</model>
    <vendor>Intel</vendor>

Without this flag, the xml will not have those CPU information:
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <topology sockets='1' cores='1' threads='1'/>
  </cpu>

The CPU model of my source and destination server are exactly identical.
So I suspect it is a side effect of
https://review.openstack.org/#/c/73428/. When libvirtd doing
virDomainDefCheckABIStability(), its src domain xml does not include CPU
model info, so that the checking fails.

After I remove the code change of
https://review.openstack.org/#/c/73428/ from my compute node, this
libvirt checking error does not occur anymore.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: libvirt

** Tags added: libvirt

-- 
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/1362929

Title:
  libvirt: KVM live migration failed due to VIR_DOMAIN_XML_MIGRATABLE
  flag

Status in OpenStack Compute (Nova):
  New

Bug description:
  OS version: RHEL 6.5
  libvirt version:  libvirt-0.10.2-29.el6_5.9.x86_64

  When I attempt to live migrate my KVM instance using latest Juno code
  on RHEL 6.5, I notice nova-compute error on source compute node:

  2014-08-27 09:24:41.836 26638 ERROR nova.virt.libvirt.driver [-]
  [instance: 1b1618fa-ddbd-4fce-aa04-720a72ec7dfe] Live Migration
  failure: unsupported configuration: Target CPU model SandyBridge does
  not match source (null)

  And this libvirt error on source compute node:

  2014-08-27 09:32:24.955+0000: 17721: error : virCPUDefIsEqual:753 :
  unsupported configuration: Target CPU model SandyBridge does not match
  source (null)

  After looking into the code, I notice that https://review.openstack.org/#/c/73428/ adds VIR_DOMAIN_XML_MIGRATABLE flag to dump instance xml. With this flag, the KVM instance xml will include full CPU information like this:
    <cpu mode='host-model' match='exact'>
      <model fallback='allow'>SandyBridge</model>
      <vendor>Intel</vendor>

  Without this flag, the xml will not have those CPU information:
    <cpu mode='host-model'>
      <model fallback='allow'/>
      <topology sockets='1' cores='1' threads='1'/>
    </cpu>

  The CPU model of my source and destination server are exactly
  identical. So I suspect it is a side effect of
  https://review.openstack.org/#/c/73428/. When libvirtd doing
  virDomainDefCheckABIStability(), its src domain xml does not include
  CPU model info, so that the checking fails.

  After I remove the code change of
  https://review.openstack.org/#/c/73428/ from my compute node, this
  libvirt checking error does not occur anymore.

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


Follow ups

References