Server-Konfigurationen testen mit Testinfra

Wie läuft's?

Ob alle Server korrekt konfiguriert sind, prüft halbautomatisch das kleine Tool Testinfra. Es nutzt dabei ein etabliertes Framework aus der Software-Entwicklung und nimmt so dem Administrator einige Arbeit ab.
Was liegt näher, als immer wiederkehrende Aufgaben mit Skripten zu automatisieren. Das reduziert den Arbeitsaufwand wie auch die Fehleranfälligkeit. In der ... (mehr)

Tippfehler in Konfigurationsdateien fallen nach Murphys Gesetz immer erst im Betrieb auf – beispielsweise wenn die Datenbank aufgrund einer falschen Zeichenkodierung alle Umlaute zerbröselt zurückliefert. Konfigurationswerkzeuge wie Ansible, Puppet, Chef und Co. helfen hier nur bedingt, verlangen sie doch vom Administrator komplex aufgebaute und somit ebenfalls fehleranfällige Konfigurationsrezepte. Wer alternativ Docker nutzt, greift gerne auf vorgefertigte Container-Images zurück, vorzugsweise aus dem Docker Hub. Das Ergebnis ist dann häufig eine Black Box, von der man nicht weiß, ob sie tatsächlich den eigenen Anforderungen genügt.

Lieber testen

Insbesondere in produktiven Umgebungen kommt man somit nicht umhin, die Konfiguration der gestarteten Systeme zu prüfen. Das sollte sicherheitshalber auch immer wieder im laufenden Betrieb geschehen, etwa nach einem Neustart oder einer Konfigurationsänderung. Je mehr Systeme ein Administrator jonglieren muss, desto schwieriger und aufwendiger gestalten sich allerdings solche Tests.

Glücklicherweise gibt es das kleine Testwerkzeug Testinfra [1]. Es meldet sich selbstständig auf jedem System an, führt dort dann eine Reihe vorgegebener Tests aus und liefert am Ende einen detaillierten Bericht. Dieser ist zudem nützlich, um gegenüber Kunden oder Vorgesetzten die ordnungsgemäße Konfiguration zu protokollieren.

Allerdings gibt es ein paar kleine Haken: Testinfra basiert auf dem Test-Framework Pytest, mit dem eigentlich Python-Programmierer ihre Software testen. Dieses Framework erweitert Testinfra in Form eines Plug-ins um zusätzliche Fähigkeiten, dank denen Pytest auch Serverkonfigurationen überprüft. Die einzelnen Tests formulieren Administratoren dabei als kleine Python-Skripte. Letztgenannte verwenden zwar eine recht einfache Syntax, sodass Sie für die ersten Gehversuche weder Python- noch Pytest-Kenntnisse

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019