Public bug reported:

Having upgraded to Ussuri, we've noted that live migrations now always
fail across our hosts with newer Intel CPUs (identified by libvirt as
Cascadelake-Server-noTSX).

When processing the CPU's features, the calls made by Nova to libvirt
appear to result in an XML segment which includes 'policy' keys for each
feature which may be set to 'disable'. When Nova interprets this (see
https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L699
and
https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L670)
the 'policy' key does not appear to be handled, resulting in more CPU
features being recorded against the hypervisor than it really has.

When a live migration is scheduled, these additional feature
requirements are then passed to the remote host which compares with its
running features and identifies they are incompatible, despite the CPUs
being identical. As a result we're currently unable to live migrate any
VMs between hosts which use these CPUs.

Further debug output is included in
http://paste.openstack.org/show/798740/

Nova stable/ussuri 7d556106bfd3e64860dc26226d364876e8bce43c
Ubuntu 18.04
libvirt 6.0.0-0ubuntu8.2~cloud0

** 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/1898715

Title:
  Live migration fails despite matching CPUs

Status in OpenStack Compute (nova):
  New

Bug description:
  Having upgraded to Ussuri, we've noted that live migrations now always
  fail across our hosts with newer Intel CPUs (identified by libvirt as
  Cascadelake-Server-noTSX).

  When processing the CPU's features, the calls made by Nova to libvirt
  appear to result in an XML segment which includes 'policy' keys for
  each feature which may be set to 'disable'. When Nova interprets this
  (see
  https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L699
  and
  
https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L670)
  the 'policy' key does not appear to be handled, resulting in more CPU
  features being recorded against the hypervisor than it really has.

  When a live migration is scheduled, these additional feature
  requirements are then passed to the remote host which compares with
  its running features and identifies they are incompatible, despite the
  CPUs being identical. As a result we're currently unable to live
  migrate any VMs between hosts which use these CPUs.

  Further debug output is included in
  http://paste.openstack.org/show/798740/

  Nova stable/ussuri 7d556106bfd3e64860dc26226d364876e8bce43c
  Ubuntu 18.04
  libvirt 6.0.0-0ubuntu8.2~cloud0

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to