yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #03854
[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