← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1430948] [NEW] Live-migration fails with CPU doesn't have compatibility

 

Public bug reported:


Live migration in nova does not seem to work as it fails with "CPU doesn't have compatibility" even between hosts with the exact same CPU models. This was introduced recently by the commit below. If I revert Nova to the offending commits parent, the live migration succeeds.

commit 79a0755597f4983367eb0caf4669ffb881b4f720
Author: yunhong jiang <yunhong.jiang@xxxxxxxxx>
Date:   Fri Feb 6 07:03:45 2015 -0800

    libvirt: fix overly strict CPU model comparison in live migration

    The current libvirt driver migration code checks whether the
    dest host can support the guest, by comparing the source host
    CPU model. This is overly strict, as the guest may well be
    running with a more restrictive CPU model that hides many
    host features.  The correct approach is to compare against
    the guest's configured CPU model.

    To achieve the compatibility when migrate instance from old compute
    node which does not provide vcpu_model in instance object, the source
    host's compute info is still provided.

    Co-authored: Daniel P. Berrange <berrange@xxxxxxxxxx>
    Co-authored: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>

    Closes-Bug: 1082414

    Change-Id: I65f505fec64c65d2641d2bfd940cde44bcd83a78


nova.conf's libvirt section on both nova nodes is:
[libvirt]
iscsi_use_multipath = True
vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
inject_partition = -2
live_migration_uri = qemu+ssh://ameade@%s/system
use_usb_tablet = False
cpu_mode = none
virt_type = kvm

and 'virsh capabilities' on both hosts show the same cpu information as follows:
<cpu>
      <arch>x86_64</arch>
      <model>cpu64-rhel6</model>
      <vendor>Intel</vendor>
      <topology sockets='2' cores='1' threads='1'/>
      <feature name='hypervisor'/>
      <feature name='popcnt'/>
      <feature name='vmx'/>
    </cpu>

** Affects: nova
     Importance: Undecided
         Status: New

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

Title:
  Live-migration fails with CPU doesn't have compatibility

Status in OpenStack Compute (Nova):
  New

Bug description:
  
  Live migration in nova does not seem to work as it fails with "CPU doesn't have compatibility" even between hosts with the exact same CPU models. This was introduced recently by the commit below. If I revert Nova to the offending commits parent, the live migration succeeds.

  commit 79a0755597f4983367eb0caf4669ffb881b4f720
  Author: yunhong jiang <yunhong.jiang@xxxxxxxxx>
  Date:   Fri Feb 6 07:03:45 2015 -0800

      libvirt: fix overly strict CPU model comparison in live migration

      The current libvirt driver migration code checks whether the
      dest host can support the guest, by comparing the source host
      CPU model. This is overly strict, as the guest may well be
      running with a more restrictive CPU model that hides many
      host features.  The correct approach is to compare against
      the guest's configured CPU model.

      To achieve the compatibility when migrate instance from old compute
      node which does not provide vcpu_model in instance object, the source
      host's compute info is still provided.

      Co-authored: Daniel P. Berrange <berrange@xxxxxxxxxx>
      Co-authored: Yunhong Jiang <yunhong.jiang@xxxxxxxxx>

      Closes-Bug: 1082414

      Change-Id: I65f505fec64c65d2641d2bfd940cde44bcd83a78


  nova.conf's libvirt section on both nova nodes is:
  [libvirt]
  iscsi_use_multipath = True
  vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
  inject_partition = -2
  live_migration_uri = qemu+ssh://ameade@%s/system
  use_usb_tablet = False
  cpu_mode = none
  virt_type = kvm

  and 'virsh capabilities' on both hosts show the same cpu information as follows:
  <cpu>
        <arch>x86_64</arch>
        <model>cpu64-rhel6</model>
        <vendor>Intel</vendor>
        <topology sockets='2' cores='1' threads='1'/>
        <feature name='hypervisor'/>
        <feature name='popcnt'/>
        <feature name='vmx'/>
      </cpu>

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


Follow ups

References