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. # Whether or not to install the ceph-test package.
#ceph_test: false #ceph_test: false
# Enable the ntp service by default to avoid clock skew on # Enable the ntp service by default to avoid clock skew on ceph nodes
# ceph nodes # Disable if an appropriate NTP client is already installed and configured
#ntp_service_enabled: true #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. # 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. # '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. # 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. # Whether or not to install the ceph-test package.
#ceph_test: false #ceph_test: false
# Enable the ntp service by default to avoid clock skew on # Enable the ntp service by default to avoid clock skew on ceph nodes
# ceph nodes # Disable if an appropriate NTP client is already installed and configured
#ntp_service_enabled: true #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. # 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. # '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. # These values have to be set according to the base OS used by the container image, NOT the host.

View File

@ -88,4 +88,12 @@
msg: "fqdn configuration is not supported anymore. Use 'use_fqdn_yes_i_am_sure: true' if you really want to use it. See release notes for more details" msg: "fqdn configuration is not supported anymore. Use 'use_fqdn_yes_i_am_sure: true' if you really want to use it. See release notes for more details"
when: when:
- mon_use_fqdn or mds_use_fqdn - mon_use_fqdn or mds_use_fqdn
- not use_fqdn_yes_i_am_sure - 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 - name: setup ntpd
package: block:
name: ntp - command: timedatectl set-ntp no
state: present - package:
name: ntp
state: present
- service:
name: ntp
enabled: yes
state: started
when: ntp_daemon_type == "ntpd"
- name: start the ntp service - name: setup chrony
service: block:
name: ntp - command: timedatectl set-ntp no
enabled: yes - package:
state: started 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 - name: setup ntpd
package: block:
name: ntp - command: timedatectl set-ntp no
state: present - package:
name: ntp
state: present
- service:
name: ntpd
enabled: yes
state: started
when: ntp_daemon_type == "ntpd"
- name: start the ntp service - name: setup chrony
service: block:
name: ntpd - command: timedatectl set-ntp no
enabled: yes - package:
state: started 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. # Whether or not to install the ceph-test package.
ceph_test: false ceph_test: false
# Enable the ntp service by default to avoid clock skew on # Enable the ntp service by default to avoid clock skew on ceph nodes
# ceph nodes # Disable if an appropriate NTP client is already installed and configured
ntp_service_enabled: true 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. # 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. # '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. # These values have to be set according to the base OS used by the container image, NOT the host.