Skip to content
Snippets Groups Projects
0_setup.py 1.35 KiB
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import utils


def setup(interactive=True):
    dir_path = utils.get_dir(__file__)
    servers = ''
    if utils.get_conf('NTP_SERVER'):
        for server in utils.get_conf('NTP_SERVER').split(','):
            if server.strip():
                servers += 'pool %s\n' % server.strip()
    if not servers:
        if 'Ubuntu' in subprocess.getoutput('lsb_release -a'):
            servers += 'pool 0.ubuntu.pool.ntp.org iburst\n'
            servers += 'pool 1.ubuntu.pool.ntp.org iburst\n'
            servers += 'pool 2.ubuntu.pool.ntp.org iburst\n'
            servers += 'pool 3.ubuntu.pool.ntp.org iburst\n'
            servers += 'pool ntp.ubuntu.com\n'
        else:
            servers += 'pool 0.debian.pool.ntp.org iburst\n'
            servers += 'pool 1.debian.pool.ntp.org iburst\n'
            servers += 'pool 2.debian.pool.ntp.org iburst\n'
            servers += 'pool 3.debian.pool.ntp.org iburst\n'
    cmds = [
        # NTP
        'timedatectl set-ntp false',
        'DEBIAN_FRONTEND=noninteractive apt-get install -y ntp',
        'echo "Replacing /etc/ntp.conf"',
        dict(line='write', template='%s/ntp.conf' % dir_path, target='/etc/ntp.conf', params=(
            ('{{ servers }}', servers),
        )),
        'systemctl restart ntp.service',
    ]
    utils.run_commands(cmds)