← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1434429] [NEW] libvirt: _compare_cpu doesn't consider NotSupportedError

 

Public bug reported:

Issue
=====

The libvirt driver method "_compare_cpu" doesn't consider that the
underlying libvirt function could throw a NotSupportedError (like 
baselineCPU call in "host.py" module [1])


Steps to reproduce
==================

* Create setup with at least 2 compute nodes
* Create cinder volume with bootable image
* Launch instance from that volume
* Start live migration of instance to another host

Expected behavior
=================

If the target host has the same CPU architecture like the source host,
the live migration should be triggered.

Actual behavior
===============

The live migration gets aborted and rolled back because all libvirt
errors gets treated equally.

Logs & Env.
===========

section "libvirt" in "/etc/nova/nova.conf" in both nodes:

    [libvirt]
    live_migration_flag = VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED
    disk_cachemodes = block=none
    vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
    inject_partition = -2
    live_migration_uri = qemu+tcp://stack@%s/system
    use_usb_tablet = False
    cpu_mode = none
    virt_type = kvm


Nova version
------------

/opt/stack/nova$ git log --oneline -n5
90ee915 Merge "Add api microvesion unit test case for wsgi.action"
7885b74 Merge "Remove db layer hard-code permission checks for flavor-manager"
416f310 Merge "Remove db layer hard-code permission checks for migrations_get*"
ecb306b Merge "Remove db layer hard-code permission checks for migration_create/update"
6efc8ad Merge "libvirt: don't allow to resize down the default ephemeral disk"


References
==========

[1] baselineCPU call to libvirt catches NotSupportedError; 
    https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L753

** Affects: nova
     Importance: Undecided
     Assignee: Markus Zoeller (mzoeller)
         Status: In Progress


** Tags: 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/1434429

Title:
  libvirt: _compare_cpu doesn't consider NotSupportedError

Status in OpenStack Compute (Nova):
  In Progress

Bug description:
  Issue
  =====

  The libvirt driver method "_compare_cpu" doesn't consider that the
  underlying libvirt function could throw a NotSupportedError (like 
  baselineCPU call in "host.py" module [1])

  
  Steps to reproduce
  ==================

  * Create setup with at least 2 compute nodes
  * Create cinder volume with bootable image
  * Launch instance from that volume
  * Start live migration of instance to another host

  Expected behavior
  =================

  If the target host has the same CPU architecture like the source host,
  the live migration should be triggered.

  Actual behavior
  ===============

  The live migration gets aborted and rolled back because all libvirt
  errors gets treated equally.

  Logs & Env.
  ===========

  section "libvirt" in "/etc/nova/nova.conf" in both nodes:

      [libvirt]
      live_migration_flag = VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED
      disk_cachemodes = block=none
      vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver
      inject_partition = -2
      live_migration_uri = qemu+tcp://stack@%s/system
      use_usb_tablet = False
      cpu_mode = none
      virt_type = kvm

  
  Nova version
  ------------

  /opt/stack/nova$ git log --oneline -n5
  90ee915 Merge "Add api microvesion unit test case for wsgi.action"
  7885b74 Merge "Remove db layer hard-code permission checks for flavor-manager"
  416f310 Merge "Remove db layer hard-code permission checks for migrations_get*"
  ecb306b Merge "Remove db layer hard-code permission checks for migration_create/update"
  6efc8ad Merge "libvirt: don't allow to resize down the default ephemeral disk"

  
  References
  ==========

  [1] baselineCPU call to libvirt catches NotSupportedError; 
      https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L753

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


Follow ups

References