--- # Hosts running Ubuntu 16.04+ and Debian 9+ use systemd init system and should # use systemd-timesyncd as a network time client instead of the standalone ntp # client. - name: Set timezone when: timezone is defined and ansible_service_mgr == 'systemd' command: /usr/bin/timedatectl set-timezone {{ timezone }} tags: timezone # Apparently some cloud images don't have this installed by default. From what # I can see on existing servers, systemd-timesyncd is a standalone package on # Ubuntu 20.04 and Debian 11. - name: Install systemd-timesyncd when: (ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('20.04', '==')) or (ansible_distribution == 'Debian' and ansible_distribution_version is version('11', '==')) apt: name=systemd-timesyncd state=present cache_valid_time=3600 - name: Start and enable systemd's NTP client when: ansible_service_mgr == 'systemd' systemd: name=systemd-timesyncd state=started enabled=yes - name: Uninstall ntp on modern Ubuntu/Debian apt: name=ntp state=absent update_cache=yes when: ansible_service_mgr == 'systemd' # vim: set ts=2 sw=2: