From 2bc38303183c739b1f6db1d8afb44243c67e33d2 Mon Sep 17 00:00:00 2001 From: Changlei Li Date: Fri, 5 Dec 2025 10:57:32 +0800 Subject: [PATCH] CA-421635 Show the real NTP servers in dhcp NTP mode Get the servers form `chronyc -c sources`. The output is the csv format. Signed-off-by: Changlei Li --- XSConsoleData.py | 13 +++++++++++++ plugins-base/XSFeatureNTP.py | 6 +----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/XSConsoleData.py b/XSConsoleData.py index a65e48a..78a6b88 100644 --- a/XSConsoleData.py +++ b/XSConsoleData.py @@ -672,6 +672,19 @@ def SetTimeManually(self, date): getstatusoutput("date --set='%s'" % timestring) getstatusoutput("hwclock --utc --systohc") + def GetNTPServersFromChronyc(self): + servers =[] + (status, output) = getstatusoutput("chronyc -c sources") + # output is csv format: ^,*,10.79.16.11,5,7,377,13,-0.000067081,-0.000084192,0.172569677 + if status == 0: + for line in output.split("\n"): + fields = line.split(",") + if len(fields) >= 3: + server = fields[2].strip() + if server != "": + servers.append(server) + return servers + def SaveToResolveConf(self): # Double-check authentication Auth.Inst().AssertAuthenticated() diff --git a/plugins-base/XSFeatureNTP.py b/plugins-base/XSFeatureNTP.py index d03fb09..7a2ed92 100644 --- a/plugins-base/XSFeatureNTP.py +++ b/plugins-base/XSFeatureNTP.py @@ -428,11 +428,7 @@ def StatusUpdateHandler(cls, inPane): servers = data.ntp.servers([]) if ntpMethod == "DHCP": - gateway = data.ManagementGateway() - if gateway is None: - gateway = "Refreshing..." - - servers = [Lang(str(gateway) + " (DHCP)")] + servers = data.GetNTPServersFromChronyc() inPane.NewLine()