On Wed, Feb 12, 2014 at 10:22:11AM +0000, Daniel P. Berrange wrote:
I agree that this should be a completely separate command, not
merely a flag to the Resume API. The reason is that you cannot
do sensible error reporting if you overload this in one API
call. ie consider that resuming the CPUs succeeds, but syncing
time fails. If you return "success" to the caller you are lieing
about the result of time sync. If you return "error" to the caller
you are lieing about the result of resuming the CPUs.
If there is a separate API to invoke then the caller can clearly
see which operation succeeded vs failed.
Well then just require a new guest agent command. No need
for a separate command.
Going from "resume" to "resume-and-sync" versus
Going from "resume" to "resume; send-guest-agent-command"
Is not very different is it? In both cases qemu guest agent channel
must be operational.
I'll go write a virsh alias and virt-manager patch.
(BTW, error reporting would be in the libvirt logs,
GuestAgentError with all the details why time-sync failed).