Schlagwort-Archive: chronyd

Ansible kontrolliert /etc/chrony.conf

Damit neue Linux-VMs die richtige Zeit finden, habe ich mir eine kleine Ansible-Rolle namens chrony erstellt, welche ich im Folgenden vorstellen möchte.

# tree chrony/
chrony/
├── handlers
│   └── main.yml
├── tasks
│   └── main.yml
└── templates
    └── chrony.conf.j2

Die Rolle kommt sehr minimalistisch daher und umfasst nur die zwingend erforderlichen Verzeichnisse und Dateien. Sie ähnelt sehr stark der Rolle resolv.conf, welche ich bereits in diesem Beitrag beschrieben habe.

tasks/main.yml

---
- name: make sure chronyd is installed
  yum:
    name: chrony
    state: latest
    update_cache: yes

- name: deploy chrony.conf template
  template:
    src: /data/ansible/roles/chrony/templates/chrony.conf.j2
    dest: /etc/chrony.conf
    owner: root
    group: root
    mode: 0644
    backup: yes
  notify:
  - restart chronyd

Im ersten Task nutze ich das Modul yum, um sicherzustellen, dass das chrony-Paket auch installiert ist, um dieses im zweiten Schritt zu konfigurieren.

Der zweite Task nutzt das Modul template, um aus der Datei unter roles/chrony/templates/chrony.conf.j2 die Zielkonfiguration in der Datei /etc/chrony.conf auf dem Zielsystem zu erstellen. Aktuell enthält mein Template statischen Text und ich hätte genauso gut das Modul copy nutzen können, um diese Datei auf das Zielsystem zu bringen. Ich verwende jedoch das template-Modul, um mir die Möglichkeit offen zu halten, durch Verwendung von Variablen den Inhalt dynamisch erstellen zu lassen.

Am Ende des zweiten Tasks wird ein Handler namens ‚restart chronyd‘ aufgerufen. Die Funktionsweise von Handlern habe ich bereits in DNS-Konfiguration mit Ansible beschrieben. Bitte lest für weitere Informationen dort nach.