URL: https://github.com/freeipa/freeipa/pull/279
Author: dkupka
 Title: #279: installer: Stop adding distro-specific NTP servers into ntp.conf
Action: synchronized

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/279/head:pr279
git checkout pr279
From ea389fa57f485ea4778300b1515aa9997a249c4b Mon Sep 17 00:00:00 2001
From: David Kupka <dku...@redhat.com>
Date: Mon, 28 Nov 2016 15:56:30 +0100
Subject: [PATCH] installer: Stop adding distro-specific NTP servers into
 ntp.conf

Distribution packaged ntpd has servers preconfigured in ntp.conf so
there's no point in trying to add them again during FreeIPA server
installation.
Also fix the code to always put fudge line right after the local server
line as required by ntpd.

https://fedorahosted.org/freeipa/ticket/6486
---
 ipaserver/install/ntpinstance.py | 49 ++++++----------------------------------
 1 file changed, 7 insertions(+), 42 deletions(-)

diff --git a/ipaserver/install/ntpinstance.py b/ipaserver/install/ntpinstance.py
index 716eb08..3d8db2d 100644
--- a/ipaserver/install/ntpinstance.py
+++ b/ipaserver/install/ntpinstance.py
@@ -20,7 +20,6 @@
 
 from ipaserver.install import service
 from ipaserver.install import sysupgrade
-from ipapython import ipautil
 from ipaplatform.constants import constants
 from ipaplatform.paths import paths
 from ipapython.ipa_log_manager import root_logger
@@ -60,26 +59,10 @@ def __write_config(self):
         self.fstore.backup_file(paths.NTP_CONF)
         self.fstore.backup_file(paths.SYSCONFIG_NTPD)
 
-        # We use the OS variable to point it towards either the rhel
-        # or fedora pools. Other distros should be added in the future
-        # or we can get our own pool.
-        os = ""
-        if ipautil.file_exists(paths.ETC_FEDORA_RELEASE):
-            os = "fedora"
-        elif ipautil.file_exists(paths.ETC_REDHAT_RELEASE):
-            os = "rhel"
-
-        srv_vals = []
-        srv_vals.append("0.%s.pool.ntp.org" % os)
-        srv_vals.append("1.%s.pool.ntp.org" % os)
-        srv_vals.append("2.%s.pool.ntp.org" % os)
-        srv_vals.append("3.%s.pool.ntp.org" % os)
-        srv_vals.append("127.127.1.0")
+        local_srv = "127.127.1.0"
         fudge = ["fudge", "127.127.1.0", "stratum", "10"]
 
         #read in memory, change it, then overwrite file
-        file_changed = False
-        fudge_present = False
         ntpconf = []
         fd = open(paths.NTP_CONF, "r")
         for line in fd:
@@ -88,37 +71,19 @@ def __write_config(self):
                 ntpconf.append(line)
                 continue
 
-            if opt[0] == "server":
-                match = False
-                for srv in srv_vals:
-                    if opt[1] == srv:
-                        match = True
-                        break
-                if match:
-                    srv_vals.remove(srv)
-                else:
-                    file_changed = True
-                    line = ""
+            if opt[0] == "server" and opt[1] == local_srv:
+                line = ""
             elif opt[0] == "fudge":
-                if opt[0:4] == fudge[0:4]:
-                    fudge_present = True
-                else:
-                    file_changed = True
-                    line = ""
+                line = ""
 
             ntpconf.append(line)
 
-        if file_changed or len(srv_vals) != 0 or not fudge_present:
-            fd = open(paths.NTP_CONF, "w")
+        with open(paths.NTP_CONF, "w") as fd:
             for line in ntpconf:
                 fd.write(line)
             fd.write("\n### Added by IPA Installer ###\n")
-            if len(srv_vals) != 0:
-                for srv in srv_vals:
-                    fd.write("server "+srv+" iburst\n")
-            if not fudge_present:
-                fd.write("fudge 127.127.1.0 stratum 10\n")
-            fd.close()
+            fd.write("server {} iburst\n".format(local_srv))
+            fd.write("{}\n".format(' '.join(fudge)))
 
         #read in memory, find OPTIONS, check/change it, then overwrite file
         needopts = [ {'val':'-x', 'need':True},
-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to