diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index a5ede72..c2f6028 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -8,8 +8,7 @@ command: /usr/bin/timedatectl set-timezone {{ timezone }} tags: timezone -- name: Enable NTP - service: name=systemd-timesyncd enabled=yes +- include: ntp.yml tags: ntp - include: packages_{{ ansible_distribution }}.yml diff --git a/roles/common/tasks/ntp.yml b/roles/common/tasks/ntp.yml new file mode 100644 index 0000000..fa14dd3 --- /dev/null +++ b/roles/common/tasks/ntp.yml @@ -0,0 +1,25 @@ +--- +# Hosts running Ubuntu 16.04 or Debian 8 use the systemd init system and should +# use timedatectl as a network time client instead of the standalone ntp client. +# Earlier versions of those distros should use the ntp/ntpd package. + +- name: Set timezone + when: timezone is defined and ansible_service_mgr == 'systemd' + command: /usr/bin/timedatectl set-timezone {{ timezone }} + tags: timezone + +- name: Enable systemd's NTP client + when: ansible_service_mgr == 'systemd' + service: name=systemd-timesyncd enabled=yes + +- name: Uninstall ntp on modern Ubuntu/Debian + apt: name=ntp state=absent update_cache=yes + when: ansible_os_family == 'Debian' and ansible_service_mgr == 'systemd' + tags: packages + +- name: Install ntp on old Ubuntu/Debian + apt: name=ntp state=present update_cache=yes + when: ansible_os_family == 'Debian' and ansible_service_mgr != 'systemd' + tags: packages + +# vim: set ts=2 sw=2: