Skip to main content

Test Ansible roles with Vagrant, similar to Test Kitchen

Project description

Messier

https://img.shields.io/pypi/v/messier.svg https://img.shields.io/travis/conorsch/messier.svg Documentation Status

Test Ansible roles with Vagrant. Inspired by Test Kitchen.

Features

  • 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

Motivation

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.

Name

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:

TODO

  • Add init command for bootstrapping Messier config

License

GPLv3 (would like to use MIT, but if import ansible appears, then it must be GPLv3).

History

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.

Filename, size & hash SHA256 hash help File type Python version Upload date
messier-0.1.1.tar.gz (17.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page