<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style>
</head>
<body><div>Am Mo, 3. Sep 2018, um 16:47, schrieb Mantas Mikulėnas:<br></div>
<blockquote type="cite"><div dir="ltr"><div defang_data-gmailquote="yes"><div dir="ltr">On Mon, Sep 3, 2018 at 3:41 PM Manuel Wagesreither <<a href="mailto:ManWag@fastmail.fm">ManWag@fastmail.fm</a>> wrote:<br></div>
<blockquote defang_data-gmailquote="yes" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div>Hallo all!<br></div>
<div> <br></div>
<div> I'm working on an embedded project consisting of an host and numerous virtual machines and am facing problems related to time management. systemd-timesyncd dies on one machine (HOST), but runs okay on another (VM2) with identical config.<br></div>
<div> <br></div>
<div> The project setup is as follows:<br></div>
<div> <br></div>
<div> HOST: Runs a (heavily) modified Debian with systemd, retrieves time via NTP from VM1 using systemd-timesyncd.<br></div>
<div> * VM1: Runs openwrt and serves time via NTP using chrony<br></div>
<div> * VM2: Runs a (heavily) modified Debian with SELINUX and systemd, retrieves time via NTP from VM1 using systemd-timesyncd<br></div>
<div> * VM3-?: Some other VMs which seem to run fine<br></div>
<div> <br></div>
<div> The symptoms are as follows:<br></div>
<div> <br></div>
<div> HOST: `systemd-timesyncd.service` is reported as inactive (dead). A time update (adjusting the time by 2 days) took place. Then, after 5min, the service died. (It always seems to die 5-15min after a time update.)<br></div>
<div> ```<br></div>
<div> root@HOST:/var/log# systemctl status systemd-timesyncd<br></div>
<div> ● systemd-timesyncd.service - Network Time Synchronization<br></div>
<div>    Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)<br></div>
<div>   Drop-In: /lib/systemd/system/systemd-timesyncd.service.d<br></div>
<div>            └─disable-with-time-daemon.conf<br></div>
<div>    Active: inactive (dead) since Wed 2018-09-05 07:30:02 CEST; 1 day 17h left<br></div>
<div>      Docs: man:systemd-timesyncd.service(8)<br></div>
<div>   Process: 4724 ExecStart=/lib/systemd/systemd-timesyncd (code=exited, status=0/SUCCESS)<br></div>
<div>  Main PID: 4724 (code=exited, status=0/SUCCESS)<br></div>
<div>    Status: "Idle."<br></div>
<div> <br></div>
<div> Sep 03 11:51:58 HOST systemd[1]: Starting Network Time Synchronization...</div>
<div> Sep 03 11:51:58 HOST systemd[1]: Started Network Time Synchronization.</div>
<div> Sep 05 07:25:31 HOST systemd-timesyncd[4724]: Synchronized to time server <a href="http://192.168.253.1:123">192.168.253.1:123</a> (192.168.253.1).</div>
<div> Sep 05 07:30:02 HOST systemd[1]: Stopping Network Time Synchronization...</div>
<div> Sep 05 07:30:02 HOST systemd[1]: Stopped Network Time Synchronization.</div>
<div> ```<br></div>
</blockquote><div><br></div>
<div>Looks like a normal exit, though. What systemd version is this? For v217 or later I'd expect to see _Status: "Shutting down"_...<br></div>
<div><br></div>
<div>Try starting it with [Service] Environment="SYSTEMD_LOG_LEVEL=debug" to see more details.<br></div>
</div>
</div>
</blockquote><div><br></div>
<div>With "normal exit" you mean `systemctl stop systemd-timesync`, I suppose? Hmm... I did not invoke this command.<br></div>
<div><br></div>
<div>I am using systemd 232.<br></div>
<div><br></div>
<div>And, by the way, may I ask where the "Status" field of `systemctl status systemd-timesyncd` is coming from? Is the content of this field returned by the particular unit or from systemd?<br></div>
<div><br></div>
<div>I activated verbose logging as per your suggestion, but the output doesn't yield any additional information:<br></div>
<div>```<br></div>
<div>root@HOST:~# systemctl status systemd-timesyncd<br></div>
<div>● systemd-timesyncd.service - Network Time Synchronization<br></div>
<div>   Loaded: loaded (/run/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)<br></div>
<div>  Drop-In: /lib/systemd/system/systemd-timesyncd.service.d<br></div>
<div>           └─disable-with-time-daemon.conf<br></div>
<div>   Active: inactive (dead) since Wed 2018-09-05 23:30:01 CEST; 8h ago<br></div>
<div>     Docs: man:systemd-timesyncd.service(8)<br></div>
<div>  Process: 15355 ExecStart=/lib/systemd/systemd-timesyncd (code=exited, status=0/SUCCESS)<br></div>
<div>Main PID: 15355 (code=exited, status=0/SUCCESS)<br></div>
<div>   Status: "Idle."<br></div>
<div><br></div>
<div>Sep 05 23:29:57 HOST systemd-timesyncd[15355]:   poll interval: 32</div>
<div>Sep 05 23:29:57 HOST systemd-timesyncd[15355]:   adjust (jump): -16.125 sec</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]:   status       : 8192 sync</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]:   time now     : 1536182981.380</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]:   constant     : 2</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]:   offset       : +0.000 sec</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]:   freq offset  : -2177702 (-33 ppm)</div>
<div>Sep 05 23:29:41 HOST systemd-timesyncd[15355]: interval/delta/delay/jitter/drift 32s/-16.125s/0.001s/0.001s/-33ppm</div>
<div>Sep 05 23:30:01 HOST systemd[1]: Stopping Network Time Synchronization...</div>
<div>Sep 05 23:30:01 HOST systemd[1]: Stopped Network Time Synchronization.</div>
<div>```</div>
<div><br></div>
<div>Also, `timedatectl set-ntp yes` doesn't seem to have any effect either. This is the output while systemd-timesyncd was up and running:<br></div>
<div>```</div>
<div>root@HOST:~# timedatectl set-ntp yes<br></div>
<div>root@HOST:~# timedatectl<br></div>
<div>      Local time: Wed 2018-09-05 23:49:51 CEST<br></div>
<div>  Universal time: Wed 2018-09-05 21:49:51 UTC<br></div>
<div>        RTC time: Thu 2018-09-06 06:48:25<br></div>
<div>       Time zone: Europe/Berlin (CEST, +0200)<br></div>
<div>Network time on: yes<br></div>
<div>NTP synchronized: no<br></div>
<div>RTC in local TZ: no<br></div>
<div>```</div>
<div><br></div>
<blockquote type="cite"><div dir="ltr"><div defang_data-gmailquote="yes"><blockquote defang_data-gmailquote="yes" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204, 204, 204);padding-left:1ex;"><div><br></div>
<div>systemd-timesyncd configuration for both HOST and VM2<br></div>
<div> ```<br></div>
<div> root@HOST, VM2:/var/log# cat /lib/systemd/system/systemd-networkd.service<br></div>
</blockquote><div><br></div>
<div>That's not timesyncd...<br></div>
</div>
</div>
</blockquote><div><br></div>
<div>My bad.<br></div>
<div><br></div>
<div>```<br></div>
<div>root@HOST, VM2:~# cat /lib/systemd/system/systemd-timesyncd.service<br></div>
<div>#  This file is part of systemd.<br></div>
<div>#<br></div>
<div>#  systemd is free software; you can redistribute it and/or modify it<br></div>
<div>#  under the terms of the GNU Lesser General Public License as published by<br></div>
<div>#  the Free Software Foundation; either version 2.1 of the License, or<br></div>
<div>#  (at your option) any later version.<br></div>
<div><br></div>
<div>[Unit]<br></div>
<div>Description=Network Time Synchronization<br></div>
<div>Documentation=man:systemd-timesyncd.service(8)<br></div>
<div>ConditionCapability=CAP_SYS_TIME<br></div>
<div>ConditionVirtualization=!container<br></div>
<div>DefaultDependencies=no<br></div>
<div>RequiresMountsFor=/var/lib/systemd/clock<br></div>
<div>After=systemd-remount-fs.service systemd-tmpfiles-setup.service systemd-sysusers.service<br></div>
<div>Before=time-sync.target sysinit.target shutdown.target<br></div>
<div>Conflicts=shutdown.target<br></div>
<div>Wants=time-sync.target<br></div>
<div><br></div>
<div>[Service]<br></div>
<div>Type=notify<br></div>
<div>Restart=always<br></div>
<div>RestartSec=0<br></div>
<div>ExecStart=/lib/systemd/systemd-timesyncd<br></div>
<div>WatchdogSec=3min<br></div>
<div>CapabilityBoundingSet=CAP_SYS_TIME CAP_SETUID CAP_SETGID CAP_SETPCAP CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER<br></div>
<div>PrivateTmp=yes<br></div>
<div>PrivateDevices=yes<br></div>
<div>ProtectSystem=full<br></div>
<div>ProtectHome=yes<br></div>
<div>ProtectControlGroups=yes<br></div>
<div>ProtectKernelTunables=yes<br></div>
<div>MemoryDenyWriteExecute=yes<br></div>
<div>RestrictRealtime=yes<br></div>
<div>RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6<br></div>
<div>SystemCallFilter=~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io<br></div>
<div><br></div>
<div>[Install]<br></div>
<div>WantedBy=sysinit.target<br></div>
<div>```<br></div>
<div><br></div>
</body>
</html>