On Wed, Oct 05, 2016 at 06:06:29PM -0600, Jim Fehlig wrote:
On 10/04/2016 11:02 AM, Ian Jackson wrote:
> Currently, osstest wrongly thinks that ARM can do save/restore,
> because `virsh help' does mention the save command (on all
> architectures).
>
> Additionally, check the virth capabilities xpath
> /capabilities/host/migration_features
> to try to see whether this host supports migration.
>
> I am not sure if this is the right path to check. Perhaps
> /capabilities/host/migration_features/live
> is more correct, but this may be wrong if Xen comes to support save/restore
> on ARM, but not live migration (but perhaps libvirt cannot express this
> distinction in which case perhaps it's right after all).
Looking at the capabilities generation code again, I see that
virCapabilitiesNew() takes 'offlineMigrate' and 'liveMigrate' parameters.
I
assume offline in this context means save, copy, restore. Martin, is that
assumption correct?
The thing is that it's not documented. I can't even say "enough",
it's
more like "at all". You can have a look at it:
https://libvirt.org/formatcaps.html
It doesn't even talk about <migration_features/>, just <migration/>, but
I guess that's the same thing.
Since offline migration (as in migrating a domain between hosts without
being running) is not that used in the code and talked about, I'm
guessing offline means save restore. Looking at the history it was
added before the "offline" migration, so it probably means
save/restore. To avoid confusion, I would suggest we add either
<offline/> or rather <save/> (the naming is not important) and document
what it means. And then you can use it exactly how you'd like. And
you'll be also sure it means what you need it to mean ;) The patches
will be straigh-forward, let me know if I can help anyhow.
If so, I think the saverestore_check() below can look for
/capabilities/host/migration_features. The migration check in 1/2 can look for
/capabilities/host/migration_features/live. Is it fair to assume save/restore is
available when live migration is supported?
With that you could straight check for <save/> and <live/> ;)
Martin