Update playbooks/time-region-ntp.yml
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
- name: Configure timezone and NTP on Ubuntu & Rocky Linux
|
||||
- name: Configure timezone and NTP
|
||||
hosts: all
|
||||
become: yes
|
||||
|
||||
@@ -8,29 +8,40 @@
|
||||
ntp_server: "0.in.pool.ntp.org"
|
||||
|
||||
tasks:
|
||||
|
||||
- name: Set timezone
|
||||
ansible.builtin.timezone:
|
||||
name: "{{ timezone_region }}"
|
||||
register: timezone_result
|
||||
|
||||
- name: Debug timezone result
|
||||
ansible.builtin.debug:
|
||||
msg: "Timezone changed to {{ timezone_region }} successfully."
|
||||
when: timezone_result.changed
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# Ubuntu: configure timesyncd
|
||||
# -------------------------------------------------------------
|
||||
- name: Configure NTP on Ubuntu (systemd-timesyncd)
|
||||
# ----------------------------------------------------------
|
||||
# TIMEZONE (Works on Ubuntu LXC + Rocky)
|
||||
# ----------------------------------------------------------
|
||||
- name: Set timezone (manual method for compatibility)
|
||||
block:
|
||||
- name: Enable and configure systemd-timesyncd
|
||||
- name: Copy timezone file
|
||||
ansible.builtin.copy:
|
||||
src: "/usr/share/zoneinfo/{{ timezone_region }}"
|
||||
dest: /etc/localtime
|
||||
remote_src: yes
|
||||
|
||||
- name: Write /etc/timezone
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/timezone
|
||||
content: "{{ timezone_region }}\n"
|
||||
register: tz_change
|
||||
|
||||
- name: Debug timezone set
|
||||
ansible.builtin.debug:
|
||||
msg: "Timezone set to {{ timezone_region }} successfully."
|
||||
when: tz_change.changed
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# UBUNTU NTP (systemd-timesyncd)
|
||||
# ----------------------------------------------------------
|
||||
- name: Configure NTP for Ubuntu (systemd-timesyncd)
|
||||
block:
|
||||
- name: Create timesyncd.conf
|
||||
ansible.builtin.copy:
|
||||
dest: /etc/systemd/timesyncd.conf
|
||||
content: |
|
||||
[Time]
|
||||
NTP={{ ntp_server }}
|
||||
FallbackNTP=1.in.pool.ntp.org 2.in.pool.ntp.org 3.in.pool.ntp.org
|
||||
FallbackNTP=1.in.pool.ntp.org 2.in.pool.ntp.org
|
||||
register: ubuntu_ntp
|
||||
|
||||
- name: Restart timesyncd
|
||||
@@ -39,29 +50,40 @@
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: Debug ubuntu NTP
|
||||
- name: Debug Ubuntu NTP
|
||||
ansible.builtin.debug:
|
||||
msg: "NTP configured on Ubuntu using {{ ntp_server }}"
|
||||
msg: "Ubuntu NTP configured with {{ ntp_server }}"
|
||||
when: ubuntu_ntp.changed
|
||||
|
||||
when: ansible_facts['os_family'] == "Debian"
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# Rocky Linux: configure chrony
|
||||
# -------------------------------------------------------------
|
||||
- name: Configure NTP on Rocky Linux (chrony)
|
||||
# ----------------------------------------------------------
|
||||
# ROCKY LINUX NTP (chrony)
|
||||
# ----------------------------------------------------------
|
||||
- name: Configure NTP for Rocky Linux (chrony)
|
||||
block:
|
||||
- name: Install chrony
|
||||
ansible.builtin.package:
|
||||
name: chrony
|
||||
state: present
|
||||
|
||||
- name: Configure chrony NTP source
|
||||
- name: Backup chrony.conf
|
||||
ansible.builtin.copy:
|
||||
src: /etc/chrony.conf
|
||||
dest: /etc/chrony.conf.bak
|
||||
remote_src: yes
|
||||
|
||||
- name: Remove existing server lines
|
||||
ansible.builtin.replace:
|
||||
path: /etc/chrony.conf
|
||||
regexp: '^server .*$'
|
||||
replace: "server {{ ntp_server }} iburst"
|
||||
register: rocky_ntp
|
||||
regexp: '^server .*'
|
||||
replace: ''
|
||||
register: removed_servers
|
||||
|
||||
- name: Add new time server entry
|
||||
ansible.builtin.lineinfile:
|
||||
path: /etc/chrony.conf
|
||||
line: "server {{ ntp_server }} iburst"
|
||||
|
||||
- name: Restart chronyd
|
||||
ansible.builtin.systemd:
|
||||
@@ -69,14 +91,15 @@
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: Debug rocky NTP
|
||||
- name: Debug Rocky NTP
|
||||
ansible.builtin.debug:
|
||||
msg: "NTP configured on Rocky Linux using {{ ntp_server }}"
|
||||
when: rocky_ntp.changed
|
||||
msg: "Rocky Linux NTP configured with {{ ntp_server }}"
|
||||
|
||||
when: ansible_facts['os_family'] == "RedHat"
|
||||
|
||||
# Final debug
|
||||
- name: Print final success message
|
||||
# ----------------------------------------------------------
|
||||
# Final output
|
||||
# ----------------------------------------------------------
|
||||
- name: Final summary
|
||||
ansible.builtin.debug:
|
||||
msg: "Timezone and NTP configuration applied successfully on {{ inventory_hostname }}"
|
||||
msg: "Timezone + NTP successfully applied on {{ inventory_hostname }}"
|
||||
|
||||
Reference in New Issue
Block a user