From 0e33c704ede9b9d62797ee2a521d63f74b927f45 Mon Sep 17 00:00:00 2001 From: Adar Nimrod <nimrod@shore.co.il> Date: Mon, 14 Dec 2015 19:23:46 +0200 Subject: [PATCH] Added ntp sync handling for Debian and OpenBSD. --- handlers/main.yml | 11 +++++++++++ tasks/ntp.yml | 6 ++++++ tasks/ntpd.yml | 34 ++++++++++++++++++++++++++++++++++ tasks/systemd-timesyncd.yml | 16 ++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 tasks/ntpd.yml create mode 100644 tasks/systemd-timesyncd.yml diff --git a/handlers/main.yml b/handlers/main.yml index b745bf9..ea0a78b 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -23,3 +23,14 @@ service: name: collectd state: restarted + +- name: Restart ntpd + service: + name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}' + name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}' + state: restarted + +- name: Restart systemd-timesyncd + service: + name: systemd-timesyncd + state: restarted diff --git a/tasks/ntp.yml b/tasks/ntp.yml index e03b087..795141b 100644 --- a/tasks/ntp.yml +++ b/tasks/ntp.yml @@ -3,3 +3,9 @@ - name: Assert assert: that: ansible_os_family in [ 'Debian', 'OpenBSD' ] + +- include: ntp_OpenBSD.yml + when: ansible_os_family == 'OpenBSD' or not ansible_init == 'systemd' + +- include: systemd-timesyncd.yml + when: ansible_os_family == 'Debian' and ansible_init == 'systemd' diff --git a/tasks/ntpd.yml b/tasks/ntpd.yml new file mode 100644 index 0000000..302b11b --- /dev/null +++ b/tasks/ntpd.yml @@ -0,0 +1,34 @@ +--- + +- assert: + that: ansible_os_family in [ 'Debian', 'OpenBSD' ] + +- name: apt install ntpd + when: ansible_pkg_mgr == 'apt' + apt: + name: ntp + state: present + update_cache: yes + cache_valid_time: 3600 + +- name: Configure ntpd + lineinfile: + line: '{{ "servers pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}' + line: '{{ "server debian.pool.ntp.org" if ansible_os_family == "OpenBSD" else omit }}' + regexp: '{{ "^servers " if ansible_os_family == "OpenBSD" else omit }}' + regexp: '{{ "^server " if ansible_os_family == "Debian" else omit }}' + dest: '{{ "/etc/ntpd.conf" if ansible_os_family == "OpenBSD" else omit }}' + dest: '{{ "/etc/ntp.conf" if ansible_os_family == "Debian" else omit }}' + create: yes + owner: root + group: wheel + mode: '0644' + notify: + - Restart ntpd + +- name: Enable ntpd + service: + name: '{{ "ntpd" if ansible_os_family == "OpenBSD" else omit }}' + name: '{{ "ntp" if ansible_os_family == "Debian" else omit }}' + enabled: yes + state: started diff --git a/tasks/systemd-timesyncd.yml b/tasks/systemd-timesyncd.yml new file mode 100644 index 0000000..d3e7429 --- /dev/null +++ b/tasks/systemd-timesyncd.yml @@ -0,0 +1,16 @@ +--- + +- name: Configure systemd-timesyncd + lineinfile: + dest: /etc/systemd/timesyncd.conf + line: 'NTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org' + regexp: '^NTP=' + state: present + notify: + - 'Restart systemd-timesyncd' + +- name: Enable systemd-timesyncd + service: + name: systemd-timesyncd + enabled: yes + state: started -- GitLab