Selaa lähdekoodia

feat(config): allow differents options for server and pool

Pool and server configuration may have different options but it's not
currently possible.
In order to solve that, the template is changed to accept pool
or server specification as a dictionnary, specifying at least the
pool/server name and if wanted the pool/server options. If no options
are specified, it'll use chrony.options.
In order to not break anything the template is checking if the server/pool
specification is a dictionnary or not, and acts accordingly.

Fixes: #27
Signed-off-by: Arnaud Patard <apatard@hupstream.com>
tags/v1.3.0
Arnaud Patard 3 vuotta sitten
vanhempi
commit
7d680a1a60
3 muutettua tiedostoa jossa 18 lisäystä ja 4 poistoa
  1. +8
    -0
      chrony/files/default/chrony.conf.jinja
  2. +6
    -4
      pillar.example
  3. +4
    -0
      test/integration/default/controls/config_spec.rb

+ 8
- 0
chrony/files/default/chrony.conf.jinja Näytä tiedosto

@@ -5,13 +5,21 @@

{%- if chrony.ntpservers is defined %}
{% for server in chrony.ntpservers -%}
{% if server is mapping %}
server {{ server.name }} {{ server.options | default(chrony.options) }}
{% else %}
server {{ server }} {{ chrony.options }}
{% endif %}
{% endfor %}
{%- endif %}

{%- if chrony.pool is defined %}
{% for pool in chrony.pool -%}
{% if pool is mapping %}
pool {{ pool.name }} {{ pool.options | default(chrony.options) }}
{% else %}
pool {{ pool }} {{ chrony.options }}
{% endif %}
{% endfor %}
{% endif %}


+ 6
- 4
pillar.example Näytä tiedosto

@@ -3,13 +3,15 @@
---
chrony:
ntpservers:
- '0.debian.pool.ntp.org'
- '1.centos.pool.ntp.org'
- name: '0.debian.pool.ntp.org'
options: iburst
- name: '1.centos.pool.ntp.org'
- '2.arch.pool.ntp.org'
- '3.gentoo.pool.ntp.org'
pool:
- '0.debian.pool.ntp.org'
- '1.centos.pool.ntp.org'
- name: '0.debian.pool.ntp.org'
options: iburst
- name: '1.centos.pool.ntp.org'
- '2.arch.pool.ntp.org'
- '3.gentoo.pool.ntp.org'
allow:

+ 4
- 0
test/integration/default/controls/config_spec.rb Näytä tiedosto

@@ -30,5 +30,9 @@ control 'Chrony configuration' do
its('content') { should include keyfile }
its('content') { should include driftfile }
its('content') { should include logdir }
its('content') { should include 'server 0.debian.pool.ntp.org iburst' }
its('content') { should include 'server 1.centos.pool.ntp.org' }
its('content') { should include 'pool 0.debian.pool.ntp.org iburst' }
its('content') { should include 'pool 1.centos.pool.ntp.org' }
end
end

Loading…
Peruuta
Tallenna