Testen von Ansible-Rollen

Code wird im Ansible-Universum hauptsächlich in Form von Rollen geteilt. Dies sind unabhängige Bausteine, welche eine oder mehrere Systemkomponenten oder -dienste konfigurieren. Zentral ist hierbei das Prinzip der Idempotenz. Egal, wie oft eine Rolle ausgeführt wird, sie soll das System nur einmal in den gewünschten Stand bringen und danach nicht mehr verändern.

Um dieses Ziel zu erreichen, ist das Testen der Rollen essentiell. Weiterhin wird über die Integration mit einer Continuous-Testing-Pipeline sichergestellt, so dass spätere Weiterentwicklung oder Softwareupdates keine Regressionen erzeugen. Das Sahnehäubchen bildet die Wiederverwendung von Tests im Produktivbetrieb mit der Hilfe von Goss und Icinga.

Referent:

Tim Dittler ist Diplominformatiker und freiberuflicher Systemprogrammierer. Er hat Ansible von Beginn an aufgrund dessen Einfachheit geliebt, stößt aber auch immer wieder an die Grenzen des agentenlosen Systems. Aus der täglichen Praxis ist das Testen von Ansible-Rollen zu einem essentiellen Thema und einer gewissen Leidenschaft geworden, um die Qualität einer Systemkonfiguration sicher zu stellen.