A Vagrant plugin to allow Vagrant to run cucumber features, providing glue for working with vagrant boxes within cucumber steps.

It was originally developed to help us test configuration management scripts, and with the following workflow in mind:

  • Start one or more Vagrant boxes
  • Configure these boxes with some default state
  • Snapshot each box in this default state.
  • In each cucumber scenario:
    • Run config management tools inside the box to make configuration changes
    • Test that these changes produce the desired result
    • Roll the VM state back, ready for the next scenario