← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1193146] Re: libvirt hypervisor version checks are insufficient

 

** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => havana-2

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

Title:
  libvirt hypervisor version checks are insufficient

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  This impacts master and Grizzly.

  With Grizzly, we implemented functionality ("live snapshots") in the
  libvirt driver to make use of new blockcopy/blockpull operations which
  became available in Qemu 1.0.3.  The determination as to whether to
  attempt a live or cold (legacy) snapshot is based on libvirt's
  response to the getVersion() API call.  The fundamental flaw in our
  approach is that libvirt will return the *current* version of Qemu,
  despite the fact that instances which were already running prior to
  upgrading Qemu are still running the older version.  As such, we end
  up satisfying version requirements to utilize new functionality, when
  it isn't actually available until a given instance is restarted on the
  new version of Qemu.

  To reproduce the problem:

      1. Install QEMU < before 1.0.3.

      2. Launch an instance ("instanceA"), and leave this instance
  running.

      3. Upgrade Qemu to 1.0.3 (available via UCA) and restart libvirt.

      4. Launch another instance ("InstanceB").

      5. Attempt a snapshot of InstanceA.  This will fail with an
  exception.

      6. Attempt a snapshot of InstanceB.  It will succeed.

  #5 fails because the instance is actually running the version of Qemu
  which was installed in with step #1.  Checking getVersion() via
  libvirt is not sufficient in this case, we need to know what version
  any given instance is running before attempting to use newer
  functionality.

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