Test Ansible roles with Vagrant, similar to Test Kitchen
Test Ansible roles with Vagrant. Inspired by Test Kitchen.
- Supports multi-machine roles
- Permits reboots during provisioning
- Use any backend provider available in Vagrant (VirtualBox, AWS, DigitalOcean, etc.)
- Runs Serverspec tests per role via ansible_spec
- Integrates with preexisting Serverspec setups
Test Kitchen is a wonderful solution for testing system configuration—if you use Chef. Its support for Ansible is, however, lacking. Similar Packer, Test Kitchen tries to run Ansible in “local” mode, which makes it impossible to test multi-machine roles for service orchestration. Well-meaning projects such as kitchen-ansiblepush (not to be mistaken with Ansible pull mode) enable more traditional Ansible usage patterns, but still suffer from limitations such as reboots always triggering failure.
In order to simplify setup, Test Kitchen makes the concession that testing VMs are polluted with additional software in order to accommodate test running. Serverspec has an SSH transport built into it, and Test Kitchen ignores that functionality completely.
Messier was a comet hunter, and didn’t much care for galaxies or nebula. He only kept track of non-comet objects so he wouldn’t bother inspecting them further. Similarly, the messier tool, particularly the messier ci subcommand, considers working configurations forgettable, and flag only failures for follow-up work. The name is also brutally honest, in that the heavy Vagrant dependency will make your configuration projects messier. :wink:
- Add init command for bootstrapping Messier config
GPLv3 (would like to use MIT, but if import ansible appears, then it must be GPLv3).
- First release on PyPI.