On 08/26/2011 10:56 AM, Alon Levy wrote:
On Thu, Aug 25, 2011 at 02:20:13PM +0300, Yonit Halperin wrote:
On 08/25/2011 02:15 PM, Daniel P. Berrange wrote:
On Thu, Aug 25, 2011 at 02:13:01PM +0300, Yonit Halperin wrote:
On 08/25/2011 01:53 PM, Gerd Hoffmann wrote:
I've played with a approach simliar to (2) long ago. Actually did it by
registering a "live" migration handler. Didn't work that well too.
spice client will stay connected to both source and target for a long
time, and the spice code base simply couldn't handle that very well. One
problem was a timeout somewhere which was *way* to short. Second was
that some stuff such as new connects are blocked in that "migration"
state. Doesn't hurt much if that lasts a second or two, but for a few
minutes it isn't acceptable. Maybe there was more which I don't remember.
If we can't connect to the target during migration, this means the
"not seamless" solution is problematic as well, and we may need ==>
a libvirt change<== :
We need to connect to the target before migration starts. We can
either do it upon client_migrate_info, under the assumption that the
target is already up and that it is called just before migration.
Or otherwise, we need to introduce a new command from libvirt, just
before migration, with the same assumptions.
Yes, the target QEMU is neccessarily up by the time client_migrate_info
is run, because we need to know the SPICE port number for the running
target QEMU. We run client_migrate_info, immediately before running
migrate monitor command.
If you're wanting to ensure the client connects to target QEMU before
migrate starts, then this implies that the libspice-server.so would
block in client_migrate_info, until it knows the client has succesfully
connected to the target ?
Yes, but with a reasonable timeout. But this is for seamless. And
I'm not sure we want the seamless solution for 6.3
I thought it is for both seamless and the 'connect-on-migration-start' approach
you are suggesting here.
Daniel, can libvirt add an async monitor command equivalent to
client_migrate_info, so that spice will inform libvirt when to continue
to migrate command (after the client connects to the target or a
timeout) without the need to hold the iothread?
Cheers,
Yonit
Thanks,
Yonit.
Daniel
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel