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 :|