Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Test Ansible roles with Vagrant, similar to Test Kitchen

Project description

Messier Documentation Status

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).


0.1.0 (2015-12-13)

  • First release on PyPI.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for messier, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size messier-0.1.1.tar.gz (17.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page