In this article I will describe our way of testing Puppet modules and how features of Docker (and lxc containers) are used in our testing framework.
In Spil Games we were early adopters of Puppet. In 2013 decision were made to update our Puppet infrastructure to version 3.* Of course we decided to follow all the best practices and do it agile 🙂 . While the official documentation provides a more or less clear overview of basic components (modules, hiera, node classification), we found there is no optimal (ready to use) way of testing the functionality of the modules. That’s why we came up with own testing solution based on lxc containers. This solution in connection with Gerrit and Jenkins gives us a very solid and fast framework for testing module functionality.