enable debugging of ntpd during client installation

When installing IPA client in debug mode, the ntpd command spawned during
initial time-sync with master KDC will also run in debug mode.

https://fedorahosted.org/freeipa/ticket/4931

Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Martin Babinsky 2015-03-30 12:29:04 +02:00 committed by Jan Cholasta
parent 37b1af9a7c
commit 1ec174b92d
2 changed files with 8 additions and 4 deletions

View File

@ -2388,12 +2388,13 @@ def install(options, env, fstore, statestore):
ntp_servers = options.ntp_servers
for s in ntp_servers:
synced_ntp = ipaclient.ntpconf.synconce_ntp(s)
synced_ntp = ipaclient.ntpconf.synconce_ntp(s, options.debug)
if synced_ntp:
break
if not synced_ntp and not options.ntp_servers:
synced_ntp = ipaclient.ntpconf.synconce_ntp(cli_server[0])
synced_ntp = ipaclient.ntpconf.synconce_ntp(cli_server[0],
options.debug)
if not synced_ntp:
root_logger.warning("Unable to sync time with NTP " +
"server, assuming the time is in sync. Please check " +

View File

@ -137,7 +137,7 @@ def config_ntp(ntp_servers, fstore = None, sysstore = None):
services.knownservices.ntpd.restart()
def synconce_ntp(server_fqdn):
def synconce_ntp(server_fqdn, debug=False):
"""
Syncs time with specified server using ntpd.
Primarily designed to be used before Kerberos setup
@ -150,13 +150,16 @@ def synconce_ntp(server_fqdn):
return False
tmp_ntp_conf = ipautil.write_tmp_file('server %s' % server_fqdn)
args = [ntpd, '-qgc', tmp_ntp_conf.name]
if debug:
args.append('-d')
try:
# The ntpd command will never exit if it is unable to reach the
# server, so timeout after 15 seconds.
timeout = 15
root_logger.info('Attempting to sync time using ntpd. '
'Will timeout after %d seconds' % timeout)
ipautil.run([ntpd, '-qgc', tmp_ntp_conf.name], timeout=timeout)
ipautil.run(args, timeout=timeout)
return True
except ipautil.CalledProcessError:
return False