I have 2 Chrony instances that I use as internal time sources in my
organization. They usually work the way they should and serve time to
clients. I have numerous stratum 1 servers listed in the Chrony configs
but PSM0, my GPS hardware, is the preferred and trusted source. My thought
was that if time skewed from GPS for some reason, squirrel chews the
antenna wire, card fries, that Chrony would look to the NTP entries, just
like if you list 10 servers and it picks the best and ignores any that are
way off. I had written a config change with the ubxtool to change active
GNSS constellations. Everything seemed fine as I could get sat info back
with cgps and gpsmon. Apparently it wasn't good and over the weekend the
clock had skewed by 5 seconds. Not a huge deal as I monitor time on all of
my servers with PRTG and was alerted but it got me thinking about how to
take GPS out of play if the time isn't close to the stratum 1 network
servers. I had to pull the battery and power cycle the GPS card to get it
back to factory and start working again. Everything is fine now but I want
to make sure this doesn't happen in the future. Any thoughts on how I could
do something like compare GPS to my server list and exclude GPS if the time
is off by let's say a second ? Which is huge when my accuracy is usually
measured in nanoseconds