From 3449d6ee718ab8597ff987b04abbf1e80ae183d7 Mon Sep 17 00:00:00 2001 From: "Daniel A. Maierhofer" Date: Mon, 8 Oct 2018 17:53:15 +0200 Subject: [PATCH] Add NTP server config --- defaults/main.yml | 4 ++++ handlers/main.yml | 4 ++-- tasks/ntp.yml | 12 ++++++++++++ templates/chrony.conf.j2 | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 templates/chrony.conf.j2 diff --git a/defaults/main.yml b/defaults/main.yml index 4cbad28..fe4e22d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -18,6 +18,10 @@ common_locales: [] common_locales_default: common_ntp: True +common_ntp_servers: + - tutimea.tuwien.ac.at + - tutimeb.tuwien.ac.at + - tutimec.tuwien.ac.at common_resolvconf: True common_resolvconf_remove_resolvconf: True diff --git a/handlers/main.yml b/handlers/main.yml index 6513912..865e324 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,7 +1,7 @@ --- -- name: restart ntp - service: name=ntp state=restarted +- name: restart chrony + service: name=chrony state=restarted - name: restart rsyslog service: name=rsyslog state=restarted diff --git a/tasks/ntp.yml b/tasks/ntp.yml index ff19fb2..3f5ded4 100644 --- a/tasks/ntp.yml +++ b/tasks/ntp.yml @@ -9,3 +9,15 @@ - name: ntp - set timezone file: src=/usr/share/zoneinfo/Europe/Vienna dest=/etc/localtime state=link + +- name: ntp - set servers for debian + template: "dest=/etc/chrony/chrony.conf src={{ chrony.conf.j2 }} owner=root group=root mode=0644" + when: (ansible_virtualization_type != 'lxc' or ansible_virtualization_role == 'host') and ansible_os_family == "Debian" + notify: + restart chrony + +- name: ntp - set servers for void + template: "dest=/etc/chrony.conf src={{ chrony.conf.j2 }} owner=root group=root mode=0644" + when: (ansible_virtualization_type != 'lxc' or ansible_virtualization_role == 'host') and ansible_os_family != "Debian" + notify: + restart chrony diff --git a/templates/chrony.conf.j2 b/templates/chrony.conf.j2 new file mode 100644 index 0000000..1b1a9eb --- /dev/null +++ b/templates/chrony.conf.j2 @@ -0,0 +1,34 @@ +# Welcome to the chrony configuration file. See chrony.conf(5) for more +# information about usuable directives. +{% for server in common_ntp_servers %} +server {{ server }} iburst +{% endfor %} + +# This directive specify the location of the file containing ID/key pairs for +# NTP authentication. +keyfile /etc/chrony/chrony.keys + +# This directive specify the file into which chronyd will store the rate +# information. +driftfile /var/lib/chrony/chrony.drift + +# Uncomment the following line to turn logging on. +#log tracking measurements statistics + +# Log files location. +logdir /var/log/chrony + +# Stop bad estimates upsetting machine clock. +maxupdateskew 100.0 + +# This directive tells 'chronyd' to parse the 'adjtime' file to find out if the +# real-time clock keeps local time or UTC. It overrides the 'rtconutc' directive. +hwclockfile /etc/adjtime + +# This directive enables kernel synchronisation (every 11 minutes) of the +# real-time clock. Note that it can’t be used along with the 'rtcfile' directive. +rtcsync + +# Step the system clock instead of slewing it if the adjustment is larger than +# one second, but only in the first three clock updates. +makestep 1 3