The VMTH provides a mechanism to unit-test your infrastructure automation
- puppet policies, chef recipes, release deployment scripts, etc. It uses
the snapshotting feature of the qemu virtual machine monitor to quickly
unit-test your automation code against a virtual machine running a system
image that matches the ones you use in your server deployments.
I created the VMTH after struggling with how to test puppet configurations
in my environment. Checking them in and then applying them to a physical
machine didn't feel right - it meant releasing the code before I was sure
it would work as intended. And it was hard to know how changes affected
classes that depended on them.
If most software can have a set of unit-tests that exercise functionality
before the software is released, why can't automation software have the
same safety-net? Tackling that problem was my inspiration for creating the
VMTH. I now use it to unit-test 60 different puppet classes, a full run
takes about five hours. It is integrated with my CI system, so any commit
to the puppet subtree triggers the tests on the CI system and I get a
message later in the day if my commit passes or fails unit tests.
I also use it to test large changes to our infrastructure before releasing
it to real machines. I recently used it to pre-test our rollout of Puppet
2.6 and our OS patching tools.
VMTH is available via github or as a ruby gem, and currently requires qemu
w/ kvm support to run. It is downloadable here!
--
You received this message because you are subscribed to the Google Groups "Agile System Administration" group.
To post to this group, send email to agile-system-...@googlegroups.com.
To unsubscribe from this group, send email to agile-system-admini...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/agile-system-administration?hl=en.
+1 for on topic posts.
--
Rick
-- Greg