We recently encountered a problem:
1) migrate a domain
2) the client unexpectedly got *crashed* (let's take it as virsh command)
3) *libvirtd still kept migrating the domain*
4) after it's restarted, the client didn't know the guest is still migrating.
The problem is that libvirtd and the client has different view of the task state. After
migration,
the client may wrongly think that something's wrong that the domain got unexpectedly
migrated.
In my opinion, libvirtd should just *execute* tasks, like the hands of a human,
while clients should be the brain to *schedule and remember* tasks.
So, In order to avoid this problem,we should let the client record all the taskes
somewhere,
and reload the states after its restart. the client may cancel or continue the task as it
wishes.
Libvirtd should not record the task status.
What's your opinions? thanks in advance.