libvirt-guests: Allow time sync on guests resume

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>
This commit is contained in:
Michal Privoznik 2015-02-18 11:59:22 +01:00
parent f2f1e388e1
commit 0fa15b19a9
2 changed files with 12 additions and 0 deletions

View 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

View File

@ -39,3 +39,10 @@
# 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