Bug 836123 - RFE: seamless migration
Summary: RFE: seamless migration
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-server
Version: 6.4
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: ---
Assignee: Yonit Halperin
QA Contact: Desktop QE
: 842333 (view as bug list)
Depends On: 836133 836135 846910
Blocks: 894020
TreeView+ depends on / blocked
Reported: 2012-06-28 07:24 UTC by Yonit Halperin
Modified: 2013-07-03 11:59 UTC (History)
14 users (show)

Fixed In Version: spice-server-0.12.0-1.el6
Doc Type: Enhancement
Doc Text:
Clone Of:
: 846910 846911 (view as bug list)
Last Closed: 2013-02-21 10:03:09 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:0529 0 normal SHIPPED_LIVE spice-server bug fix and enhancement update 2013-02-20 21:51:04 UTC

Description Yonit Halperin 2012-06-28 07:24:10 UTC
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 2 Hans de Goede 2012-09-20 13:09:38 UTC
*** Bug 842333 has been marked as a duplicate of this bug. ***

Comment 6 errata-xmlrpc 2013-02-21 10:03:09 UTC
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.


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