74 lines
1.9 KiB
YAML

---
# tasks file for ensure_timezone
- name: 'package discovery'
when:
- ansible_system == 'Linux'
- packages is not defined
ansible.builtin.package_facts:
- name: 'service discovery'
when:
- ansible_system == 'Linux'
- services is not defined
ansible.builtin.package_facts:
- name: 'flush handlers'
ansible.builtin.meta: 'flush_handlers'
- name: 'Set timezone'
community.general.timezone:
hwclock: '{{ timezone.hwclock }}'
name: '{{ timezone.name }}'
register: 'results'
- name: 'Restart cron if TZ changed'
notify:
- 'service_facts'
when:
- services is defined
- services['crond.service'] is defined
- results.diff.before != results.diff.after
service:
name: 'crond.service'
state: 'restarted'
- name: 'Restart if time zone changed'
when:
- ansible_system == 'Linux'
- services is defined
- services[item.name] is defined
ansible.builtin.service:
enabled: '{{ item.enabled }}'
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- enabled: 'yes'
name: 'crond'
state: 'restarted'
- enabled: 'yes'
name: 'crond.service'
state: 'restarted'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_timezone.package_facts'
- 'ensure_timezone.service_facts'
- name: 'ensure services'
when:
- ansible_system == 'Linux'
- services is defined
- services[item.name] is defined
ansible.builtin.service:
enabled: '{{ item.enabled }}'
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- enabled: 'yes'
name: 'crond'
state: 'started'
- enabled: 'yes'
name: 'crond.service'
state: 'started'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_timezone.package_facts'
- 'ensure_timezone.service_facts'
- name: 'flush handlers'
meta: 'flush_handlers'