]> xenbits.xensource.com Git - libvirt.git/commitdiff
libvirt-guests: Allow time sync on guests resume
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 18 Feb 2015 10:59:22 +0000 (11:59 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 23 Feb 2015 07:49:21 +0000 (08:49 +0100)
Well, imagine domains were running, and as the host went down, they
were managesaved. Later, after some time, the host went up again and
domains got restored. But without correct time. And depending on how
long was the host shut off, it may take some time for ntp to sync the
time too. But hey, wait a minute. We have an API just for that! So:

1) Introduce SYNC_TIME variable in libvirt-guests.sysconf to allow
users control over the new functionality
2) Call 'virsh domtime --sync $dom' in the libvirt-guests script.

Unfortunately, this is all-or-nothing approach (just like anything
else with the script). Domains are required to have configured and
running qemu-ga inside.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
tools/libvirt-guests.sh.in
tools/libvirt-guests.sysconf

index 1b17bbe42a103ed312758b62d3520fe0c3522177..9aa06fa2b3da25c724b86e94256c416a13a34e13 100644 (file)
@@ -171,7 +171,9 @@ start() {
 
     isfirst=true
     bypass=
+    sync_time=false
     test "x$BYPASS_CACHE" = x0 || bypass=--bypass-cache
+    test "x$SYNC_TIME" = x0 || sync_time=true
     while read uri list; do
         configured=false
         set -f
@@ -206,6 +208,9 @@ start() {
                     retval run_virsh "$uri" start $bypass "$name" \
                         >/dev/null && \
                     gettext "done"; echo
+                    if "$sync_time"; then
+                        run_virsh "$uri" domtime --sync "$name" >/dev/null
+                    fi
                 fi
             fi
         done
index d1f20510c009eb0a33425d7d7cc79beea2194a84..277005677b3118a607a90a85894f642fa137113f 100644 (file)
 # restoring guests, even though this may give slower operation for
 # some file systems.
 #BYPASS_CACHE=0
+
+# If non-zero, try to sync guest time on domain resume. Be aware, that
+# this requires guest agent with support for time synchronization
+# running in the guest. For instance, qemu-ga doesn't support guest time
+# synchronization on Windows guests, but Linux ones. By default, this
+# functionality is turned off.
+#SYNC_TIME=1