> -----Original Message----- > From: Stefan Berger [mailto:stefanb@xxxxxxxxxxxxxxxxxx] > Sent: Thursday, April 21, 2011 6:34 AM > To: Daniel P. Berrange > Cc: Christian Benvenuti (benve); eblake@xxxxxxxxxx; laine@xxxxxxxxx; > chrisw@xxxxxxxxxx; libvir-list@xxxxxxxxxx; David Wang (dwang2); Roopa > Prabhu (roprabhu); Gerhard Stenzel; Jens Osterkamp; Anthony Liguori > Subject: Re: [PATCH 3/6] Introduce yet another migration > version in API. > > On 04/21/2011 07:43 AM, Daniel P. Berrange wrote: > > On Thu, Apr 21, 2011 at 07:37:30AM -0400, Stefan Berger wrote: > >> > >> and simply doesn't start the VM. After this function is called all > >> sockets are closed and the communication with the source host is > >> cut. I don't think it allows for fall-back at this point. > > Sure it does. As long as the destination QEMU CPUs have not been > > started, you can fallback by simply killing the dest QEMU and > > restarting CPUs on the src QEMU. > > > FWIW, I did a test and disabled the starting of the CPUs on the > destination side and > did a sleep() instead. Before the sleep() was over the Qemu on the > source side had already disappeared. Did you test this with migration V2 or migration V3? I think what you describe is V2 (V3 now is different): - Migration V2 SRC HOST DST HOST | |- dump XML | | (PREPARE) +------------------------------>Start empty VM | |(PERFORM) |- migrate cmd to monitor |- kill VM | | (FINISH) +------------------------------->Start CPU - Migration V3 SRC HOST DST HOST | |(BEGIN) |- dumpxml | (PREPARE) +------------------------------>Start empty VM | |(PERFORM) |- migrate cmd to monitor | (src CPU is now paused) | | (FINISH) +------------------------------->Start CPU | |(CONFIRM) |- if FINISH succeeded: Kill src VM |- if FINISH failed : Run src VM /Christian -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list