[libvirt] [PATCH] Introduce yet another migration version in API.
Dan Kenigsberg
danken at redhat.com
Wed Nov 3 14:51:18 UTC 2010
On Tue, Nov 02, 2010 at 01:08:53PM +0000, Daniel P. Berrange wrote:
> This patch attempts to introduce a version 3 that uses the
> improved 5 step sequence
>
> * Src: Begin
> - Generate XML to pass to dst
> - Generate optional cookie to pass to dst
>
> * Dst: Prepare
> - Get ready to accept incoming VM
> - Generate optional cookie to pass to src
>
> * Src: Perform
> - Start migration and wait for send completion
> - Generate optional cookie to pass to dst
>
> * Dst: Finish
> - Wait for recv completion and check status
> - Kill off VM if failed, resume if success
> - Generate optional cookie to pass to src
>
> * Src: Confirm
> - Kill off VM if success, resume if failed
What happens if no confirmation is recieved (destination silently died)?
Will there be a timeout (bad idea), or at least a means by which higher
level management can cancel migration?
Either way, I did not get the suggestion to contact divinity.
> + /*
> + * If Perform3 indicated an error, or if NULL was returned
> + * from Finish3, then the status code tells the source
> + * to resume CPUs on the original VM.
> + */
> + ret = domain->conn->driver->domainMigrateConfirm3
> + (domain->conn, dname, cookiesrc, cookiesrclen, cookiedst, cookiedstlen,
> + uri, flags, ret >= 0 && domain ? 0 : -1);
> + /* XXX is there anything we can do if Confirm3 returns -1.
> + * Probably nothing beyond praying
> + */
More information about the libvir-list
mailing list