diff --git a/roles/timesync-enabled/handlers/main.yml b/roles/timesync-enabled/handlers/main.yml index 050e846..2ce178f 100644 --- a/roles/timesync-enabled/handlers/main.yml +++ b/roles/timesync-enabled/handlers/main.yml @@ -11,3 +11,9 @@ state: restarted +- name: Restart Chrony + service: + name: '{{ chrony_service_name }}' + state: restarted + + diff --git a/roles/timesync-enabled/tasks/main.yml b/roles/timesync-enabled/tasks/main.yml index 4d25c9f..fb20446 100644 --- a/roles/timesync-enabled/tasks/main.yml +++ b/roles/timesync-enabled/tasks/main.yml @@ -2,7 +2,7 @@ - name: Check selected timesync daemon fail: fail_msg: "{{ timesync_daemon|default('No daemon') }} not supported" - when: timesync_daemon not in [ "ntp", "timesyncd" ] + when: timesync_daemon not in [ "chrony", "ntp", "timesyncd" ] - name: Include each network variables if there is no host variable @@ -22,7 +22,6 @@ when: timesync_servers|default(False) == False and timesync_pools|default(False) == False - - name: Include OS dependent variables include_vars: "{{ item }}" with_first_found: diff --git a/roles/timesync-enabled/tasks/timesync_chrony.yml b/roles/timesync-enabled/tasks/timesync_chrony.yml new file mode 100644 index 0000000..d679254 --- /dev/null +++ b/roles/timesync-enabled/tasks/timesync_chrony.yml @@ -0,0 +1,24 @@ +--- +- name: Install Chrony + package: + name: chrony + state: latest + + +- name: Template chrony.conf + template: + src: etc/chrony/chrony.conf.j2 + dest: /etc/chrony/chrony.conf + owner: root + group: root + mode: 0644 + backup: yes + notify: Restart Chrony + + +- name: Enable Chrony daemon + service: + name: "{{ chrony_service_name }}" + enabled: True + + diff --git a/roles/timesync-enabled/templates/etc/chrony/chrony.conf.j2 b/roles/timesync-enabled/templates/etc/chrony/chrony.conf.j2 new file mode 100644 index 0000000..15ef037 --- /dev/null +++ b/roles/timesync-enabled/templates/etc/chrony/chrony.conf.j2 @@ -0,0 +1,19 @@ +# NTP servers +{% for pool in timesync_pools|default([]) %}pool {{ pool }} iburst +{% endfor %} + +# NTP servers +{% for server in timesync_servers|default([]) %}server {{ server }} iburst +{% endfor %} + +keyfile /etc/chrony/chrony.keys +generatecommandkey +commandkey 1 + +###initstepslew 10 0.de.pool.ntp.org + +driftfile /var/lib/chrony/chrony.drift + +rtconutc +rtcsync + diff --git a/roles/timesync-enabled/vars/os_debian.yml b/roles/timesync-enabled/vars/os_debian.yml index 065ff8a..b1564f9 100644 --- a/roles/timesync-enabled/vars/os_debian.yml +++ b/roles/timesync-enabled/vars/os_debian.yml @@ -1,3 +1,5 @@ --- +chrony_service_name: chrony + ntp_service_name: ntp diff --git a/roles/timesync-enabled/vars/os_default.yml b/roles/timesync-enabled/vars/os_default.yml index 177ec54..dcfeed7 100644 --- a/roles/timesync-enabled/vars/os_default.yml +++ b/roles/timesync-enabled/vars/os_default.yml @@ -1,3 +1,5 @@ --- +chrony_service_name: chronyd + ntp_service_name: ntpd