Welche Gründe sprechen für das Ansible Copy-Modul, um einzelne Dateienzeilen zu ändern?

Welche Gründe sprechen für das Ansible Copy-Modul, um einzelne Dateienzeilen zu ändern?

Einzelne Dateienzeilen zu ändern, ist oft notwendig. Dazu wird jedoch von vielen lineinfile- oder blockinfile-Module verwendet. Praxiserfahrungen zeigen jedoch, dass man diese Module nicht verwenden sollte, wenn Dateien damit verändert werden möchten. Dann sollten lieber das Template– oder Copy-Modul verwenden. Insbesondere, um nicht nur einzelne Zeilen, sondern die gesamte Datei zu verwalten. Dafür gibt es zweierlei Gründe:

  • Bei der Verwendung von lineinfile muss oft Regex verwendet werden. Daraus resultieren folgende Probleme: Die Verwendung von Regex ist oft kompliziert und Personen, die Playbooks dann benutzen, müssen mit Redex vertraut sein.
  • Der Programmierer selbst muss wissen und sich erinnern können, dass diese bestimmte Zeile in dieser einen Konfigurationsdatei von Ansible verwaltet wird.

Wenn Sie die gesamte Datei mit einem Ansible Template verwalten, können Sie dieansible_managed-Variable verwenden, um deutlich zu machen, dass sich die Datei unter Ansible-Kontrolle befindet. Ein weiterer Vorteil ist zudem: Sie können eine Variable für den selinux-state verwenden und diese einfach auf Servern, auf denen selinux nicht im Enforcing-Status sein sollte, ändern.

Passende Lehrgänge/Kurse/Seminare: