Skip to content
Snippets Groups Projects
test_ntp.py 1.18 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# Copyright 2017, Florent Thiery
import os
import sys
import subprocess
import shlex
import imp

# Check that ntpd is synced
print('Running ntpq -pd')
ntpd_status = subprocess.getoutput('LANG=C ntpq -pd')
if not 'remote' in ntpd_status:
    print('NTP not working, ntpq -p output:\n%s' % ntpd_status)
    sys.exit(1)
else:
    print('System is NTP synchronized')

print('Checking NTP server conforms to conf')
if os.path.isfile('../utils.py'):
    es_utils = imp.load_source('es_utils', '../utils.py')
    conf = es_utils.load_conf()
    NTP_SERVER = conf.get('NTP_SERVER1')

    with open('/etc/ntp.conf', 'r') as f:
        d = f.read()
        servers = list()
        for l in d.split('\n'):
            if l.startswith('server '):
                servers.append(l.split('server ')[1])
        if not 'server %s' % NTP_SERVER in d:
            print('Expected NTP server %s not found in /etc/ntp.conf, found %s instead' % (NTP_SERVER, servers))
            sys.exit(1)
        else:
            print('Expected NTP server found in configuration')
else:
    print('Could not find envsetup conf file or not running from expected location')
    sys.exit(1)