Bug 1190256

Summary: Time sync after resuming from suspend (RHEL-6, libvirt)
Product: Red Hat Enterprise Linux 6 Reporter: Marcelo Tosatti <mtosatti>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED CANTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.7CC: rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-09 07:27:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1115340    

Description Marcelo Tosatti 2015-02-06 19:30:49 UTC
It is necessary to backport the libvirt components of the 

"Time sync after resuming from suspend" feature,
https://bugzilla.redhat.com/show_bug.cgi?id=1049038

as requested by

"[RFE] Clock in KVM guest is not up-to-date after save-to-disk/restore"
https://bugzilla.redhat.com/show_bug.cgi?id=1115340.

I've sent Michal a qemu-kvm build with rtc-reset-reinjection command.

The RHEL-6.7-beta qemu-kvm build already contains a qemu guest agent 
which supports "guest-set-time" without parameters.

Comment 2 Michal Privoznik 2015-02-09 07:27:11 UTC
Unfortunately, there's nothing libvirt can do in here. When implementing this feature in RHEL-7 I've invented this new API virDomainSetTime() which is, however, missing in RHEL-6. And to preserve ABI stability we can't backport an API.

But there's a workaround though. Since Marcello has backported the 'rtc-reset-reinjection' command, users can:
1) issue 'guest-set-time' via libvirt API
2) issue 'rtc-reset-reinjection', yet again via libvirt

Using virsh it boils down to the following:

virsh qemu-agent-command $dom '{"execute":"guest-set-time"}'
virsh qemu-monitor-command $dom '{"execute":"rtc-reset-reinjection"}'

I'm closing this one meanwhile.