diff --git a/chrony/config/file.sls b/chrony/config/file.sls index 078f607..b0ffaaa 100644 --- a/chrony/config/file.sls +++ b/chrony/config/file.sls @@ -10,6 +10,17 @@ include: - {{ sls_package_install }} +{%- if chrony.confd is string %} +chrony-config-conf.d: + file.directory: + - name: {{ chrony.confd }} + - clean: True + - require: + - sls: {{ sls_package_install }} + - file: chrony-config-file-file-managed + - file: chrony-config-file-pool-file-managed +{%- endif %} + chrony-config-file-file-managed: file.managed: - name: {{ chrony.config }} @@ -25,3 +36,11 @@ chrony-config-file-file-managed: chrony: {{ chrony|json }} - require: - sls: {{ sls_package_install }} + +chrony-config-file-pool-file-managed: + file.managed: + - name: {{ chrony.confd }}/pool.conf + - create: False + - replace: False + - require: + - sls: {{ sls_package_install }} diff --git a/chrony/defaults.yaml b/chrony/defaults.yaml index 41313e4..5ba51d3 100644 --- a/chrony/defaults.yaml +++ b/chrony/defaults.yaml @@ -6,6 +6,7 @@ chrony: service: name: chronyd config: /etc/chrony.conf + confd: false ntpservers: - '0.us.pool.ntp.org' - '1.us.pool.ntp.org' diff --git a/chrony/osfamilymap.yaml b/chrony/osfamilymap.yaml index 7be2681..6ce1eed 100644 --- a/chrony/osfamilymap.yaml +++ b/chrony/osfamilymap.yaml @@ -60,6 +60,9 @@ openSUSE: - 'maxdistance 6' - 'logchange 0.1' +Suse: + confd: /etc/chrony.d + Gentoo: package: net-misc/chrony config: /etc/chrony/chrony.conf diff --git a/test/integration/default/controls/config_spec.rb b/test/integration/default/controls/config_spec.rb index eae165e..2d97663 100644 --- a/test/integration/default/controls/config_spec.rb +++ b/test/integration/default/controls/config_spec.rb @@ -4,6 +4,7 @@ keyfile = 'keyfile ' driftfile = '/var/lib/chrony/' logdir = 'logdir /var/log/chrony' +confd = nil case platform[:name] when 'debian', 'ubuntu' config_file = '/etc/chrony/chrony.conf' @@ -13,6 +14,11 @@ config_file = '/etc/chrony/chrony.conf' keyfile += '/etc/chrony.keys' driftfile += 'drift' +when 'suse' + config_file = '/etc/chrony.conf' + keyfile += '/etc/chrony.keys' + driftfile += 'drift' + confd = '/etc/chrony.d' else config_file = '/etc/chrony.conf' keyfile += '/etc/chrony.keys' @@ -35,4 +41,9 @@ its('content') { should include 'pool 0.debian.pool.ntp.org iburst' } its('content') { should include 'pool 1.centos.pool.ntp.org' } end + if !confd.nil? + describe directory(confd) do + its('size') { should be 0 } + end + end end