iX 12/2020
S. 132
Praxis
Puppet

Testautomatisierung für Puppet-Module

Wie von Geisterhand

Jan Bundesmann, Martin Grundei

Wer Puppet zur Konfiguration seines Rechenzentrums nutzt, sollte auch das Set-up der Puppet-Umgebung selbst automatisieren. CI/CD lässt sich dabei mit GitLab und r10k umsetzen, für sauberen Code und automatische Tests sorgt das Puppet Development Kit.

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 Work­flow für eine Testumgebung. Der setzt auf das Modulverwaltungstool r10k und das CI/CD-­System GitLab CI.

Kommentieren