On Mon, Mar 10, 2014 at 03:36:06PM +0100, Olaf Hering wrote: > Here is my proposal for a new option for virsh and 2 new options for xl: > > [xl | virsh --live] --max-suspend-time N --timeout N VM host > > --max-suspend-time N: as the name suggests, the VM downtime must not be > longer than specified. The code doing the migration has to estimate the > transfer speed. If the VM is about to be suspended, it has to check if > the remaining dirty pages can be transfered within the required > timeframe. If not, the migration is aborted, the VM continues to run on > the src host, the new VM on the dst host is destroyed and an error is > returned. Ok, this is already supported by the libvirt virDomainMigrateSetMaxDowntime API. Strangely you can't set it immediately when invoking 'virsh migrate', only able to set it once running via 'virsh migrate-setmaxdowntime'. It makes sense to support it as an arg to 'virsh migrate' itself too, though I suggest you call it '--maxdowntime' for consistent naming with the API & existing command. > --timeout N: if a VM is busy and its workload causes many new dirty > pages the migrate command would take forever. This option is supposed to > stop the migration attempt if the number of new dirty pages is too high. > It would change the semantics of "virsh migrate --timeout n", which > currently forces a suspend (according to the help text). The '--timeout' arg isn't anything that's part of the libvirt API, it is implemented exclusively in virsh client code. That said I still don't think we can change its semantics in the way you describe. '--timeout' is a rather poor choice of name for what it does currently, but we're stuck with it. So for your proposed semantics, I think we'll have to introduce a separate '--abort N' argument to virsh. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list