Add support for different NTP daemons

Allow user to choose between timesyncd, chronyd and ntpd
Installation will default to timesyncd since it is distributed as
part of the systemd installation for most distros.
Added note indicating NTP daemon type is not used for containerized
deployments.

Fixes issue #3086 on Github

Signed-off-by: Benjamin Cherian <benjamin_cherian@amat.com>
(cherry picked from commit 85071e6e53)
pull/3542/head
Benjamin Cherian 2018-09-05 09:59:50 -07:00 committed by Sébastien Han
parent c34027c3ba
commit bb41a7da20
6 changed files with 84 additions and 25 deletions

View File

@ -105,10 +105,15 @@ dummy:
# Whether or not to install the ceph-test package.
#ceph_test: false
# Enable the ntp service by default to avoid clock skew on
# ceph nodes
# Enable the ntp service by default to avoid clock skew on ceph nodes
# Disable if an appropriate NTP client is already installed and configured
#ntp_service_enabled: true
# Set type of NTP client daemon to use, valid entries are chronyd, ntpd or timesyncd
# Note that this selection is currently ignored on containerized deployments
#ntp_daemon_type: timesyncd
# Set uid/gid to default '64045' for bootstrap directories.
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
# These values have to be set according to the base OS used by the container image, NOT the host.

View File

@ -105,10 +105,15 @@ fetch_directory: ~/ceph-ansible-keys
# Whether or not to install the ceph-test package.
#ceph_test: false
# Enable the ntp service by default to avoid clock skew on
# ceph nodes
# Enable the ntp service by default to avoid clock skew on ceph nodes
# Disable if an appropriate NTP client is already installed and configured
#ntp_service_enabled: true
# Set type of NTP client daemon to use, valid entries are chronyd, ntpd or timesyncd
# Note that this selection is currently ignored on containerized deployments
#ntp_daemon_type: timesyncd
# Set uid/gid to default '64045' for bootstrap directories.
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
# These values have to be set according to the base OS used by the container image, NOT the host.

View File

@ -89,3 +89,11 @@
when:
- mon_use_fqdn or mds_use_fqdn
- not use_fqdn_yes_i_am_sure
- name: validate ntp daemon type
fail:
msg: "ntp_daemon_type must be one of chronyd, ntpd, or timesyncd"
when:
- ntp_service_enabled
- ntp_daemon_type not in ['chronyd', 'ntpd', 'timesyncd']

View File

@ -1,11 +1,29 @@
---
- name: install ntp on debian
package:
name: ntp
state: present
- name: setup ntpd
block:
- command: timedatectl set-ntp no
- package:
name: ntp
state: present
- service:
name: ntp
enabled: yes
state: started
when: ntp_daemon_type == "ntpd"
- name: start the ntp service
service:
name: ntp
enabled: yes
state: started
- name: setup chrony
block:
- command: timedatectl set-ntp no
- package:
name: chrony
state: present
- service:
name: chronyd
enabled: yes
state: started
when: ntp_daemon_type == "chronyd"
- name: setup timesyncd
block:
- command: timedatectl set-ntp on
when: ntp_daemon_type == "timesyncd"

View File

@ -1,11 +1,29 @@
---
- name: install ntp
package:
name: ntp
state: present
- name: setup ntpd
block:
- command: timedatectl set-ntp no
- package:
name: ntp
state: present
- service:
name: ntpd
enabled: yes
state: started
when: ntp_daemon_type == "ntpd"
- name: start the ntp service
service:
name: ntpd
enabled: yes
state: started
- name: setup chrony
block:
- command: timedatectl set-ntp no
- package:
name: chrony
state: present
- service:
name: chronyd
enabled: yes
state: started
when: ntp_daemon_type == "chronyd"
- name: setup timesyncd
block:
- command: timedatectl set-ntp on
when: ntp_daemon_type == "timesyncd"

View File

@ -97,10 +97,15 @@ suse_package_dependencies:
# Whether or not to install the ceph-test package.
ceph_test: false
# Enable the ntp service by default to avoid clock skew on
# ceph nodes
# Enable the ntp service by default to avoid clock skew on ceph nodes
# Disable if an appropriate NTP client is already installed and configured
ntp_service_enabled: true
# Set type of NTP client daemon to use, valid entries are chronyd, ntpd or timesyncd
# Note that this selection is currently ignored on containerized deployments
ntp_daemon_type: timesyncd
# Set uid/gid to default '64045' for bootstrap directories.
# '64045' is used for debian based distros. It must be set to 167 in case of rhel based distros.
# These values have to be set according to the base OS used by the container image, NOT the host.