Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perfSONAR 5.1.2 + owstats - chronyd support for EL9 systems (NTP: STA_NANO should be set) #97

Open
mty22 opened this issue Aug 1, 2024 · 3 comments

Comments

@mty22
Copy link

mty22 commented Aug 1, 2024

With more users migrating away from EL7 over to EL8 or EL9, a lot of users will have the choice to use chronyd or ntpd (via ntpsec package).

While the perfSONAR 5.1.0 docs mentions that we can configure chronyd by hand, the pitfall is that there's no mention of 'owstats' tool having a dependency on ntpd as it simply does not support chronyd. See: https://github.com/perfsonar/owamp/blob/master/owamp/owamp/owamp/time.c#L114-L139

In addition, the rpm spec file doesn't have dependencies https://github.com/perfsonar/owamp/blob/master/owamp/owamp/unibuild-packaging/rpm/owamp.spec (it may be ideal to add package ntpsec deps here?)

As such, journalctl is being spammed by owstats even though the system clocks remain in sync (thanks to chronyd) when pscheduler-runner.service service is (re)started:

[root@host ~]# owstats
owstats: NTP: STA_NANO should be set. Make sure ntpd is running, and your NTP configuration is good.
[root@host  ~]# timedatectl
               Local time: Thu 2024-08-01 02:01:39 UTC
           Universal time: Thu 2024-08-01 02:01:39 UTC
                 RTC time: Thu 2024-08-01 02:01:39
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
[root@host ~]# systemctl status chronyd
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
     Active: active (running) since Thu 2024-07-11 21:14:22 UTC; 2 weeks 6 days ago
       Docs: man:chronyd(8)
             man:chrony.conf(5)
   Main PID: 936 (chronyd)
      Tasks: 1 (limit: 52428)
     Memory: 1.4M
        CPU: 1min 395ms
     CGroup: /system.slice/chronyd.service
             └─936 /usr/sbin/chronyd -F 2

image

If possible, could you please review adding chronyd support? .. or potentially update the spec files to enforce ntpsec package dependencies if you decide against adding chronyd support?

Thanks!

@mty22
Copy link
Author

mty22 commented Aug 2, 2024

Just a side note, I've since disabled chronyd and redeployed ntpd across all of the perfSONAR 5.1.2 servers within my control.

@jkasten2
Copy link

jkasten2 commented Mar 1, 2025

I have to say that in my testing with twping as a client I get WAY more accurate numbers with chrony than ntp. More context, Iam running twping on my local machine to public servers to understand the latency I am experiencing on DOCIS 3.1. Since my internet is cable / coax my pings range from 10 to 20ms to the closest ntp / chrony Stratum 2 server. Seems the NTP client just doesn't handle that well and as a result I get invalid negative send times with twping.

So in conclusion, I think twping should check for chrony as well, and even should be recommend for clients over ntp.

  • I have less insight in this server side.

@mfeit-internet2
Copy link
Member

@jkasten2 We do recommend running Chrony these days because NTPd is deprecated on pretty much every OS we support. OWAMP and TWAMP are a behind on being able to look at Chrony, largely because it doesn't provide the same API that NTPd does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Ready
Development

No branches or pull requests

3 participants