From 28144e358c38e1c27eeb332b02d8470f18913af6 Mon Sep 17 00:00:00 2001 From: Ana Krivokapic Date: Mon, 2 Sep 2013 16:40:55 +0200 Subject: Replace ntpdate calls with ntpd Due to the upcoming deprecation of the ntpdate program (targeted for Fedora 20), replace ntpdate calls with ntpd. https://fedorahosted.org/freeipa/ticket/3797 --- ipa-client/ipaclient/ntpconf.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'ipa-client/ipaclient/ntpconf.py') diff --git a/ipa-client/ipaclient/ntpconf.py b/ipa-client/ipaclient/ntpconf.py index eb9afdee..714d4fb8 100644 --- a/ipa-client/ipaclient/ntpconf.py +++ b/ipa-client/ipaclient/ntpconf.py @@ -21,7 +21,6 @@ from ipapython import ipautil from ipapython import services as ipaservices import shutil import os -import sys ntp_conf = """# Permit time synchronization with our time source, but do not # permit the source to query or modify the service on this system. @@ -137,24 +136,23 @@ def config_ntp(server_fqdn, fstore = None, sysstore = None): def synconce_ntp(server_fqdn): """ - Syncs time with specified server using ntpdate. + Syncs time with specified server using ntpd. Primarily designed to be used before Kerberos setup to get time following the KDC time Returns True if sync was successful """ - ntpdate="/usr/sbin/ntpdate" - if os.path.exists(ntpdate): - # retry several times -- logic follows /etc/init.d/ntpdate - # implementation - cmd = [ntpdate, "-U", "ntp", "-s", "-b", "-v", server_fqdn] - for retry in range(0, 3): - try: - ipautil.run(cmd) - return True - except: - pass - return False + ntpd = '/usr/sbin/ntpd' + if not os.path.exists(ntpd): + return False + + tmp_ntp_conf = ipautil.write_tmp_file('server %s' % server_fqdn) + try: + ipautil.run([ntpd, '-qgc', tmp_ntp_conf.name]) + return True + except ipautil.CalledProcessError: + return False + class NTPConfigurationError(Exception): pass -- cgit