--- - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml" - name: Set the correct timezone. file: src: "/usr/share/zoneinfo/{{ ntp_timezone }}" dest: /etc/localtime state: link force: yes # Debian family OSes also have an /etc/timezone file. - name: Set timezone in /etc/timezone file. template: src: timezone.j2 dest: /etc/timezone force: yes when: ansible_os_family == 'Debian' - name: Install NTP. package: name: ntp state: present - name: Ensure NTP is running and enabled as configured. service: name: "{{ ntp_daemon }}" state: started enabled: yes when: ntp_enabled - name: Ensure NTP is stopped and disabled as configured. service: name: "{{ ntp_daemon }}" state: stopped enabled: no when: not ntp_enabled - name: Generate ntp.conf file template: src: ntp.conf.j2 dest: /etc/ntp.conf notify: restart ntp when: ntp_manage_config