Add role for chrony

This commit is contained in:
Ryan Cavicchioni 2019-03-16 20:34:53 +00:00
parent 605345d032
commit ddad3dc65d
Signed by: ryanc
GPG Key ID: 877EEDAF9245103D
6 changed files with 96 additions and 0 deletions

View File

@ -0,0 +1,7 @@
---
chrony_package_name: 'chrony'
chrony_package_state: 'present'
chrony_service_name: 'chrony'
chrony_service_state: 'started'
chrony_service_enabled: yes

View File

@ -0,0 +1,6 @@
---
- name: reload chrony
service:
name: "{{ chrony_service_name }}"
state: reloaded
when: chrony_service_enabled

View File

@ -0,0 +1,30 @@
---
- name: gather OS specific variables
include_vars: "{{ item }} "
with_first_found:
- "{{ ansible_distribution }}.yaml"
- "{{ ansible_os_family }}.yaml"
- name: stop/disable systemd-timesyncd
service:
name: systemd-timesyncd.service
state: stopped
enabled: no
- name: install chrony
package:
name: "{{ chrony_package_name }}"
state: "{{ chrony_package_state }}"
- name: configure chrony
template:
src: chrony.conf.j2
dest: /etc/chrony/chrony.conf
notify:
- reload chrony
- name: start chrony
service:
name: "{{ chrony_service_name }}"
state: "{{ chrony_service_state }}"
enabled: "{{ chrony_service_enabled }}"

View File

@ -0,0 +1,46 @@
# {{ ansible_managed }}
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usuable directives.
# This will use (up to):
# - 4 sources from ntp.ubuntu.com which some are ipv6 enabled
# - 2 sources from 2.ubuntu.pool.ntp.org which is ipv6 enabled as well
# - 1 source from [01].ubuntu.pool.ntp.org each (ipv4 only atm)
# This means by default, up to 6 dual-stack and up to 2 additional IPv4-only
# sources will be used.
# At the same time it retains some protection against one of the entries being
# down (compare to just using one of the lines). See (LP: #1754358) for the
# discussion.
#
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
{% for p in chrony_pool %}
pool {{ p }}
{% 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 enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it cant 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

View File

@ -0,0 +1 @@
---

View File

@ -0,0 +1,6 @@
---
chrony_pool:
- ntp.ubuntu.com iburst maxsources 4
- 0.ubuntu.pool.ntp.org iburst maxsources 1
- 1.ubuntu.pool.ntp.org iburst maxsources 1
- 2.ubuntu.pool.ntp.org iburst maxsources 2