Puppet: Testautomatisierung für Puppet-Module

Wer Puppet zur Konfiguration des Rechenzentrums nutzt, sollte auch das Setup der Puppet-Umgebung selbst automatisieren.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 27 Min.
Von
  • Dr. Jan Bundesmann
  • Martin Grundei
Inhaltsverzeichnis

Ein zentrales Element von DevOps ist es, die Systemverwaltung in Form von Code vorzuhalten – neudeutsch "Infrastructure as Code". Dabei liegt der Fokus in Ops-Teams oft eher darauf, funktionierenden Code zu produzieren. Testen und sauberes Arbeiten mit Methoden der Softwareentwicklung wird als Fernziel definiert. Die sich aus diesem Ansatz ergebenden Fallstricke sind jedoch vielfältig und eine Fehlersuche im laufenden Betrieb ist schwierig und frustrierend.

Das gilt insbesondere für das umfassende Systemverwaltungstool Puppet, das Einsteiger vor große Hürden stellt. Umso wichtiger ist es, bereits vorab eine robuste und intuitive Testumgebung für solche Projekte aufzusetzen.

Puppet-Code lässt sich auf vielen Ebenen testen. Dieser Artikel beschäftigt sich primär mit den ersten Stufen der Testkette, den Modul- oder Unit-Tests, und skizziert einen einfach zu realisierenden Workflow für eine Testumgebung. Der setzt auf das Modulverwaltungstool r10k und das CI/CD-System GitLab CI.