← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1588003] [NEW] Skip host to guest CPU compatibility check for emulated (QEMU "TCG" mode) guests during live migration

 

Public bug reported:

The _compare_cpu() method of Nova's libvirt driver performs guest vCPU 
model to destination host CPU model comparison (during live migration) 
even in the case of emulated (QEMU "TCG" mode) guests, where the CPU
instructions are emulated completely in software, and no hardware
acceleration, such as KVM is involved.

>From nova/virt/libvirt/driver.py:

   [...]
   5464     def _compare_cpu(self, guest_cpu, host_cpu_str, instance):
   5465         """Check the host is compatible with the requested CPU
   [...]    [...]
   5481         if CONF.libvirt.virt_type not in ['qemu', 'kvm']:
   5482             return
   5483

Skip the comparison for 'qemu' part above.

Fix for master branch is here:

    https://review.openstack.org/#/c/323467/ -- 
    libvirt: Skip CPU compatibility check for emulated guests


This bug is for stable branch backports: Mitaka and Liberty.

[Thanks: Daniel P. Berrange for the pointer.]


Related context and references
------------------------------

(a) This upstream discussion thread where using the custom CPU model 
    ("gate64") is causing live migration CI jobs to fail.

    http://lists.openstack.org/pipermail/openstack-dev/2016-May/095811.html 
    -- "[gate] [nova] live migration, libvirt 1.3, and the gate"

(b) Gate DevStack change to avoid setting the custom CPU model in 
    nova.conf

    https://review.openstack.org/#/c/320925/4 -- don't set libvirt 
    cpu_model

** Affects: nova
     Importance: High
     Assignee: Kashyap Chamarthy (kashyapc)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Kashyap Chamarthy (kashyapc)

** Changed in: nova
   Importance: Undecided => High

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

Title:
  Skip host to guest CPU compatibility check for emulated (QEMU "TCG"
  mode) guests  during live migration

Status in OpenStack Compute (nova):
  New

Bug description:
  The _compare_cpu() method of Nova's libvirt driver performs guest vCPU 
  model to destination host CPU model comparison (during live migration) 
  even in the case of emulated (QEMU "TCG" mode) guests, where the CPU
  instructions are emulated completely in software, and no hardware
  acceleration, such as KVM is involved.

  From nova/virt/libvirt/driver.py:

     [...]
     5464     def _compare_cpu(self, guest_cpu, host_cpu_str, instance):
     5465         """Check the host is compatible with the requested CPU
     [...]    [...]
     5481         if CONF.libvirt.virt_type not in ['qemu', 'kvm']:
     5482             return
     5483

  Skip the comparison for 'qemu' part above.

  Fix for master branch is here:

      https://review.openstack.org/#/c/323467/ -- 
      libvirt: Skip CPU compatibility check for emulated guests

  
  This bug is for stable branch backports: Mitaka and Liberty.

  [Thanks: Daniel P. Berrange for the pointer.]

  
  Related context and references
  ------------------------------

  (a) This upstream discussion thread where using the custom CPU model 
      ("gate64") is causing live migration CI jobs to fail.

      http://lists.openstack.org/pipermail/openstack-dev/2016-May/095811.html 
      -- "[gate] [nova] live migration, libvirt 1.3, and the gate"

  (b) Gate DevStack change to avoid setting the custom CPU model in 
      nova.conf

      https://review.openstack.org/#/c/320925/4 -- don't set libvirt 
      cpu_model

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


Follow ups