[libvirt] [PATCH] libvirt-guests: wait for ntp service

Jim Fehlig jfehlig at suse.com
Fri Sep 19 23:36:09 UTC 2014


Martin Kletzander wrote:
> On Fri, Sep 19, 2014 at 02:37:12PM -0600, Jim Fehlig wrote:
>> Michal Privoznik wrote:
>>> On 08.09.2014 18:30, Jim Fehlig wrote:
>>>> If an NTP server is configured on the host, it is possible for
>>>> libvirt-guests to start before the NTP service, in which case
>>>> guest clocks won't be synchronized to the host clock.
>>>>
>>>> Add ntp-wait.service to "After" in libvirt-guests systemd service
>>>> file, ensuring NTP has synchronized the host clock before starting
>>>> any guests.
>>>>
>>>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>>>> ---
>>>>   tools/libvirt-guests.service.in | 2 +-
>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/tools/libvirt-guests.service.in
>>>> b/tools/libvirt-guests.service.in
>>>> index d8d7adf..226b3bd 100644
>>>> --- a/tools/libvirt-guests.service.in
>>>> +++ b/tools/libvirt-guests.service.in
>>>> @@ -1,6 +1,6 @@
>>>>   [Unit]
>>>>   Description=Suspend Active Libvirt Guests
>>>> -After=network.target libvirtd.service
>>>> +After=network.target libvirtd.service ntp-wait.service
>>>>   Documentation=man:libvirtd(8)
>>>>   Documentation=http://libvirt.org
>>>>
>>>>
>>>
>>> Well, guest can have their own ntp-client (and in most cases they do,
>>> right?).
>>
>> I think most do, but know of at least two users who want to use kvmclock
>> with no ntp in the guests :).
>>
>
> I'm sure there are way more users without ntp clients inside their
> guests.  I'm just wondering what's the difference when libvirt-guests
> starts before or after ntp has synchronized their clocks.  Is it that
> they have the time reset to a little bit inaccurate time?  Or are they
> off way too much?

They are off by the ntp adjustment.  As I understand it, the guests
start and read the host clock, which is later adjusted by ntp.

>
>>> I mean, since guests can be paused, saved & restored back, their time
>>> is often off. So the best is to have an ntp-client running inside the
>>> guest.
>>
>
> Yes, but if it's way off, ntp will refuse to update the time; that's
> why we are resetting the time, isn't it?
>
>> Yep.  I mentioned this, but seems they don't use save, restore, migrate,
>> et. al., since it wasn't a concern.  But I'm fine handling this
>> downstream.  Thanks!
>>
>
> Well, if they use libvirt-guests, they use at least save/restore :)

They have ON_SHUTDOWN=shutdown.

>
> Unfortunately I'm not very familiar with systemd files, but my guess
> is that After=ntp-wait.service means it should be started after the
> time is synchronized if and only if the ntp-wait.service unit is
> enabled, otherwise it doesn't require it.

Yes, this is my understanding too.

Regards,
Jim

>   My point is that if this
> doesn't enable ntp synchronization for users that don't want it, then
> we should probably push his upstream.  There is slight added benefit
> and no drawbacks.
>
> Martin




More information about the libvir-list mailing list