Bug 846911 - RFE: seamless migration
RFE: seamless migration
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-gtk (Show other bugs)
6.4
Unspecified Unspecified
high Severity high
: rc
: ---
Assigned To: Yonit Halperin
Desktop QE
: FutureFeature
: 842336 (view as bug list)
Depends On: 836133 836135 846910
Blocks: 894020
  Show dependency treegraph
 
Reported: 2012-08-09 02:00 EDT by Yonit Halperin
Modified: 2013-07-03 08:03 EDT (History)
13 users (show)

See Also:
Fixed In Version: spice-gtk-0.14-1.el6
Doc Type: Enhancement
Doc Text:
Feature: seamless migration Reason: The current spice migration pathway is almost equivalent to automatically connecting the client to the migration target, and starting the session from scratch. This pathway might result in unrecoverable data loss; Mainly usb/smartcard/copy-paste data that was on its way from the client to the guest and vice versa, when the non-live phase of the migration started. Result (if any): Seamless migration makes sure we don't lose in-flight data during migration
Story Points: ---
Clone Of: 836123
Environment:
Last Closed: 2013-02-21 03:48:31 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Yonit Halperin 2012-08-09 02:00:41 EDT
+++ This bug was initially created as a clone of Bug #836123 +++

Description of problem:
The current spice migration pathway is almost equivalent to automatically connecting the client to the migration target, and starting the session from scratch.
This pathway might result in unrecoverable data loss; Mainly usb/smartcard/copy-paste data that was on its way from the client to the guest and vice versa, when the non-live phase of the migration started.
Other data that can be lost is rendering commands. While this data loss can be recovered by sending the primary surface and other surfaces to the client after the client is connected to the target, it will be more efficient just not to lose this data, at least for a large part of the scenarios.

In order to support seamless migration, we need to be able to store the state of the src server, when the vm migration completes, and pass it to the target server. Passing this data will be done via client (i.e., src->client->target).

Migrating the spice server state requires changes in qemu and libvirt:
libvirt mustn't close the src qemu, till spice completes migrating the server state.
We will add a QMP event to qemu, for signaling spice migration completion.
libvirt will need to wait for this qmp event before closing the src qemu.

In order for spice to identify if the libvirt release supports this QMP event, we will add to spice's qemu arguments "seamless-migration=on". If this argument is not set, spice will fallback to the old migration pathway.
Comment 3 Hans de Goede 2012-09-20 09:14:38 EDT
*** Bug 842336 has been marked as a duplicate of this bug. ***
Comment 7 errata-xmlrpc 2013-02-21 03:48:31 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0343.html

Note You need to log in before you can comment on or make changes to this bug.