From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= To: development@lists.ipfire.org Subject: Re: [PATCH] Ship NTP changes Date: Mon, 20 Jun 2022 09:55:51 +0000 Message-ID: <72cb187f-952f-f5f9-fa7b-1335fa63fcab@ipfire.org> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1872956307926068821==" List-Id: --===============1872956307926068821== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Jon, thanks for your mail. No, it did not (yet), as I kind of lost track about the status of this patch,= due to the amount of other stuff on my plate during the recent days. I will have a look at it again later today and amend it for Core Update 169, = if suitable. Apologies for the delay and the silence on my end. Thanks, and best regards, Peter M=C3=BCller > Peter, >=20 > Did this get approved for CU 169? >=20 > Or is it waiting for someone A-OK? >=20 >=20 > Jon >=20 >=20 >> On Jun 1, 2022, at 4:43 AM, Michael Tremer w= rote: >> >> Okay, that is soft enough for me. >> >>> On 31 May 2022, at 17:08, Jon Murphy wrote: >>> >>> Michael, >>> >>> (see below) >>> >>> >>>> On May 31, 2022, at 6:49 AM, Michael Tremer wrote: >>>> >>>> Hello everyone, >>>> >>>> I would say that it is worth to work on this change, because it is simpl= e enough that we won=E2=80=99t need to spend a week. If it is going to be rep= laced by chronie or something else, so be it - at least we had a problem fixe= d in the meantime. >>>> >>>>> On 30 May 2022, at 22:30, Jon Murphy wrote: >>>>> >>>>> Peter, >>>>> >>>>> (see below) >>>>> >>>>> >>>>>> On May 30, 2022, at 2:07 PM, Peter M=C3=BCller wrote: >>>>>> >>>>>> Hello Jon, >>>>>> >>>>>> thank you for submitting this. >>>>>> >>>>>> I consent with the intention of your patch, and believe this is the cu= re (or at least >>>>>> a medicine) to insanely high clock drifts on some IPFire installations= . Based on the >>>>>> forum activity, there used to be more of them, but my gut feeling is t= hat this issue >>>>>> never completely went away. >>>>> >>>>> I found one system that was off by 38 seconds per day=E2=80=A6 >>>> >>>> Okay. This is really bad though. Watches from a bubble gum machine keep = time better than this. >>>> >>>>>> >>>>>> Nevertheless, I would like to await Arne's feedback on this: Particula= rly on ARM systems >>>>>> without a battery-backed RTC, IPFire comes up with a bogus time, and I= am not sure what >>>>>> the implications of this patch would be for such systems. >>>>> >>>>> `ntpd` added a feature that may help: >>>>> " -g no panicgate Allow the first adjustment to be Big" >>>>> >>>> >>>> Yes, the rationale here is that if the system comes up with Jan 1st, 197= 0, ntpd refuses to change that. I don=E2=80=99t know why. It does not seem to= make sense to me. >>>> >>>>> >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> The change I made to the initscript ntp file does not seem very elega= nt! But I was not sure of a better way too complete the same results. >>>>>>> >>>>>>>> + echo -e "server ${NTP_ADDR_1} prefer\nserver ${NTP_ADDR_2}" > /et= c/ntp/ntpInclude.conf >>>>>>> >>>>>>> Is this OK or does it belong in a different section of code. It need= s to be updated when the NTP Servers are changed or when the time.cgi (Time S= erver) page is updated. >>>>>> >>>>>> Hmm, I would favour a better solution as well. That file might be popu= lated, and just >>>>>> overwriting it seems to be a bit brutal to me. :-) >>>>> >>>>> The `/etc/ntp/ntpInclude.conf` file is intentionally over written. I w= as going to do a find & replace on the `config/ntp/ntp.conf` file, but this s= eemed much simpler. Barbaric but simple! >>>> >>>> I agree that this isn=E2=80=99t the most elegant solution, but it isn=E2= =80=99t far off. >>>> >>>> I would give the file a different name, because =E2=80=9CntpInclude.conf= =E2=80=9D does not really represent what it holds - which is the servers. >>>> >>>> Is it necessary to mark one of the servers with the =E2=80=9Cprefer=E2= =80=9D keyword? I am not sure if we should rank them. Shouldn=E2=80=99t the s= ystem choose the one that is most accurate? >>> >>> >>> If I understand prefer correctly this helps break the "tie". >>> prefer >>> Marks the server as preferred. All other things being equal, this host wi= ll be chosen for synchronization among a set of correctly operating hosts. Se= e the "Mitigation Rules and the prefer Keyword" page for further information. >>> >>> Both servers could be marked "prefer" but that just means the preference = becomes the first server in the config files. >>> The mitigation rules are designed to provide an intelligent selection of = the system peer from among the selectable sources of different types. >>> >>> When used with the server or peer commands, the prefer option designates = one or more sources as preferred over all others. While the rules do not forb= id it, it is usually not useful to designate more than one source as preferre= d; however, if more than one source is so designated, they are used in the or= der specified in the configuration file. If the first one becomes unselectabl= e, the second one is considered and so forth. >>> >>> >>>> >>>>>> >>>>>>> -and- >>>>>>> >>>>>>> Is chrony going to replace NTP? If so, then the change below is not = needed. >>>>>> >>>>>> I would really like so, but don't see that happen in IPFire 2.x soon. = For the medium >>>>>> term at least, you patch is by no means obsolete. >>>>>> >>>>>>> Please don't hurt me! >>>>>> >>>>>> Hope I did not. :-) >>>>>> >>>>> >>>>> No pain! :-) >>>>> >>>>> >>>>>> Thanks, and best regards, >>>>>> Peter M=C3=BCller >>>>>> >>>>>>> >>>>>>> Jon >>>>>>> >>>>>>> >>>>>>>> On May 26, 2022, at 7:40 PM, Jon Murphy wr= ote: >>>>>>>> >>>>>>>> - Device time more accurate. (e.g., +/- 10 seconds per day to < 100= ms on some devices) >>>>>>>> ( I know we don't need the perfect time server ) >>>>>>>> - NTP and time will be accurate in manual mode (setting on Time Serv= er > NTP Configuration WebGUI) >>>>>>>> - Change NTP "prefer" server: >>>>>>>> - The current preferred NTP server in an Undisciplined Local Clock. >>>>>>>> - This is intended when no outside source of synchronized time is av= ailable. >>>>>>>> - Change the "prefer" server from 127.127.1.0 to the Primary NTP ser= ver specified on >>>>>>>> the Time Server > NTP Configuration WebGUI page. >>>>>>>> - Change allows the drift file (located at /etc/ntp/drift) to be pop= ulated by ntpd. >>>>>>>> - The drift file is updated about once per hour which helps correct = the device time. >>>>>>>> >>>>>>>> Signed-off-by: Jon Murphy >>>>>>>> --- >>>>>>>> config/ntp/ntp.conf | 3 ++- >>>>>>>> src/initscripts/system/ntp | 2 ++ >>>>>>>> 2 files changed, 4 insertions(+), 1 deletion(-) >>>>>>>> >>>>>>>> diff --git a/config/ntp/ntp.conf b/config/ntp/ntp.conf >>>>>>>> index 9e393ca8e..bcaf2ee9e 100644 >>>>>>>> --- a/config/ntp/ntp.conf >>>>>>>> +++ b/config/ntp/ntp.conf >>>>>>>> @@ -1,6 +1,7 @@ >>>>>>>> disable monitor >>>>>>>> restrict default nomodify noquery >>>>>>>> restrict 127.0.0.1 >>>>>>>> -server 127.127.1.0 prefer >>>>>>>> +server 127.127.1.0 >>>>>>>> fudge 127.127.1.0 stratum 10 >>>>>>>> driftfile /etc/ntp/drift >>>>>>>> +includefile /etc/ntp/ntpInclude.conf >>>>>>>> diff --git a/src/initscripts/system/ntp b/src/initscripts/system/ntp >>>>>>>> index 74b8bc86a..6c8174d25 100644 >>>>>>>> --- a/src/initscripts/system/ntp >>>>>>>> +++ b/src/initscripts/system/ntp >>>>>>>> @@ -52,6 +52,8 @@ case "$1" in >>>>>>>> fi >>>>>>>> fi >>>>>>>> >>>>>>>> + echo -e "server ${NTP_ADDR_1} prefer\nserver ${NTP_ADDR_2}" > /et= c/ntp/ntpInclude.conf >>>>>>>> + >>>>>>>> boot_mesg "Starting ntpd..." >>>>>>>> loadproc /usr/bin/ntpd -Ap /var/run/ntpd.pid >>>>>>>> ;; >>>>>>>> --=20 >>>>>>>> 2.30.2 >> >> >=20 --===============1872956307926068821==--