From: Yonit Halperin <yhalperi@redhat.com>
To: spice-devel@freedesktop.org
Cc: Yonit Halperin <yhalperi@redhat.com>,
alevy@redhat.com, qemu-devel@nongnu.org, kraxel@redhat.com
Subject: [Qemu-devel] [PATCH spice-server 00/13] semi-seamless migration v2 (RHBZ #738266, 725009)
Date: Wed, 21 Sep 2011 18:51:10 +0300 [thread overview]
Message-ID: <1316620283-8330-1-git-send-email-yhalperi@redhat.com> (raw)
same as the previous version with the following changes:
(1) I'm sending only the spice-server patches. I will send the client fixes later.
(and then I will move the "Release 0.8.3" patch to the head).
(2) migration interface changes:
* spice_server_migrate_connect was added.
It is called on client_migrate_info cmd, if spice-server is new (instead of spice_server_migrate_info).
* migrate_end_complete callback was added to the migration interface.
In case we will need it for future seamless migration implementation
* bump release to 0.8.3
(3) fall back to the switch host scheme in case of client failure to connect the target
(4) fix accessing the wrong ticket in the target side (legacy from old seamless migration code)
(5) fix not calling to migrate_connect_complete callback when no client is connected
reminder:
Here is a summary of the new migration scheme (copied from the commit msg of the first patch)
migration source side
---------------------
(1) spice_server_migrate_connect (*): tell client to link
to the target side - send SPICE_MSG_MAIN_MIGRATE_BEGIN.
It will be called on client_migrate_info cmd. client_migrate_info is asynchronous.
(2) Complete client_migrate_info only when the client has been connected
to the target - wait for SPICE_MSGC_MAIN_MIGRATE_(CONNECTED|CONNECT_ERROR) or a timeout.
(3) spice_server_migrate_end: tell client migration it can switch to the target - send
SPICE_MSG_MAIN_MIGRATE_END.
(4) client cleans up all data related to the connection to the source and switches to the target.
It sends SPICE_MSGC_MAIN_MIGRATE_END.
migration target side
---------------------
(1) the server identifies itself as a migraiton target since the client is linked with (connection_id != 0)
(2) server doesn't start the channels' logic (channel->link) till it receives SPICE_MSGC_MAIN_MIGRATE_END
from the client.
* After migration starts, the target qemu is blocked and cannot accept new spice client
connections. Thus, we trigger the connection to the target upon client_migrate_info
command.
Yonit Halperin (13):
server/spice.h: semi-seamless migration interface, RHBZ #738266
server: handle migration interface addition
configure: spice-protocol >= 0.8.2 (semi-seamless migration protocol)
server,proto: tell the client to connect to the migration target
before migraton starts
spice.proto: add SPICE_MSG_MAIN_MIGRATE_END &
SPICE_MSGC_MAIN_MIGRATE_END
server: send SPICE_MSG_MAIN_MIGRATE_END on spice_server_migrate_end
server: move SPICE_MSG_MAIN_INIT sending code to a separate routine
server: move the linking of channels to a separate routine
server: handling semi-seamless migration in the target side
server: call migrate_connect_complete callback when no client is
connected
server: turn spice_server_migrate_start into a valid call
server: fall back to switch host scheme in case semi-seamless
connection to target fails
Release 0.8.3
NEWS | 7 +
common/messages.h | 2 +
configure.ac | 4 +-
server/reds.c | 545 +++++++++++++++++++++++++++++++++----------
server/reds.h | 4 +
server/spice-experimental.h | 3 -
server/spice-server.syms | 4 +
server/spice.h | 29 +++-
spice.proto | 9 +-
9 files changed, 474 insertions(+), 133 deletions(-)
--
1.7.4.4
next reply other threads:[~2011-09-21 15:51 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-21 15:51 Yonit Halperin [this message]
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 01/13] server/spice.h: semi-seamless migration interface, RHBZ #738266 Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 02/13] server: handle migration interface addition Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 03/13] configure: spice-protocol >= 0.8.2 (semi-seamless migration protocol) Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 04/13] server, proto: tell the client to connect to the migration target before migraton starts Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 05/13] spice.proto: add SPICE_MSG_MAIN_MIGRATE_END & SPICE_MSGC_MAIN_MIGRATE_END Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 06/13] server: send SPICE_MSG_MAIN_MIGRATE_END on spice_server_migrate_end Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 07/13] server: move SPICE_MSG_MAIN_INIT sending code to a separate routine Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 08/13] server: move the linking of channels " Yonit Halperin
2011-09-22 14:01 ` Alon Levy
2011-09-25 9:13 ` Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 09/13] server: handling semi-seamless migration in the target side Yonit Halperin
2011-09-22 14:28 ` Alon Levy
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 10/13] server: call migrate_connect_complete callback when no client is connected Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 11/13] server: turn spice_server_migrate_start into a valid call Yonit Halperin
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 12/13] server: fall back to switch host scheme in case semi-seamless connection to target fails Yonit Halperin
2011-09-22 14:38 ` Alon Levy
2011-09-21 15:51 ` [Qemu-devel] [PATCH spice-server 13/13] Release 0.8.3 Yonit Halperin
2011-09-22 14:50 ` [Qemu-devel] [PATCH spice-server 00/13] semi-seamless migration v2 (RHBZ #738266, 725009) Alon Levy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1316620283-8330-1-git-send-email-yhalperi@redhat.com \
--to=yhalperi@redhat.com \
--cc=alevy@redhat.com \
--cc=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=spice-devel@freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).