Ansible allows us to logically group a set of tasks together together, and…..
- Apply conditional logic to all the tasks within the block. In such a way, the logic only need to be declared once
- Apply Error handling especially when recovering from an error condition.
We will deal with Point 1 in this blog entry.
Point 1: Conditional Logic
- name: Check current Timezone
command: timedatectl show --property=Timezone --value
register: timezone_output
changed_when: false
- name: Configure Timezone to Asia/Singapore
command: timedatectl set-timezone Asia/Singapore
when: timezone_output.stdout != "Asia/Singapore"
- name: Install and Configure Chrony Service Block
block:
- name: Install Chrony package
dnf:
name: chrony
state: present
- name: Configure Chrony servers
lineinfile:
path: /etc/chrony.conf
line: "server sg.pool.ntp.org iburst"
insertafter: '^#.*server 3.centos.pool.ntp.org iburst'
state: present
- name: Enable Chrony service
service:
name: chronyd
state: started
enabled: yes
when:
- ansible_os_family == "RedHat"
- ansible_distribution_major_version == "8"
Reference: