Files
ansible-common/roles/timesync_setup/tasks/main.yml

66 lines
1.5 KiB
YAML

---
- name: set timezone in /etc/localtime
become: true
ansible.builtin.file:
src: /usr/share/zoneinfo/{{ timesyncd_setup_timezone }}
dest: /etc/localtime
state: link
force: true
notify:
- reconfigure_timezone
- reload_ntp
- name: set timezone in /etc/timezone
become: true
ansible.builtin.lineinfile:
state: present
dest: /etc/timezone
regexp: '.*'
line: '{{ timesyncd_setup_timezone }}'
insertbefore: EOF
create: true
mode: '0644'
notify:
- reconfigure_timezone
- reload_ntp
- name: set timezone via systemd
become: true
ansible.builtin.command:
timedatectl set-timezone {{ timesyncd_setup_timezone }}
- name: set ntp config in /etc/systemd/timesyncd.conf
become: true
community.general.ini_file:
path: /etc/systemd/timesyncd.conf
section: Time
option: NTP
value: '{{ timesyncd_setup_ntp_servers | join(" ") }}'
backup: true
notify:
- reload_ntp
- restart_timesyncd
- sync_rtc
- name: enable systemd-timesyncd unit
become: true
service:
name: systemd-timesyncd
enabled: true
notify:
- reload_ntp
- restart_timesyncd
- sync_rtc
- name: flush handlers
ansible.builtin.meta: flush_handlers
# - name: wait for timesyncd to synchronize
# ansible.builtin.command: systemctl status systemd-timesyncd
# retries: 60
# delay: 3
# register: task_result
# until:
# - task_result.rc == 0
# - task_result.stdout is search('[Ss]ynchroniz.* to time server')