Project

vmth

0.03
No commit activity in last 3 years
No release in over 3 years
require 'rubygems' require 'rake' require 'echoe' Echoe.new('vmth', '0.0.2') do |p| p.description = File.open(File.dirname(__FILE__+"/DESCRIPTION")).read p.summary = "A VM test harness for testing operational configurations" p.url = "http://github.com/gregretkowski/vmth" p.author = "Greg Retkowski" p.email = "greg@rage.net" p.ignore_pattern = ["tmp/*", "script/*", "ol/*"] p.rdoc_template = nil p.rdoc_pattern = /^(lib|bin|tasks|ext)|^README|^CHANGELOG|^TODO|^LICENSE|^QUICKSTART|^CONFIG|^COPYING$/ # p.rdoc_template = "" p.development_dependencies = [] p.runtime_dependencies = [ 'formatr', 'net-ssh', 'net-scp', ] end
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

Introduction¶ ↑

The VMTH (Virtual Machine Test Harness) provides a mechanism to unit-test your infrastructure automation - puppet policies, chef recipes, release deployment scripts, etc. It uses features of modern VM monitors (like qemu) to snapshot system state, and then reset that state after each test, so that a series of tests can be performed on a VM instance in rapid succession.

It can be integrated with your continuous integration environment and triggered each time a commit is made to your automation code.

What it does¶ ↑

It will go through a series of scenarios (a scenario is usualy a service name). It will run the ‘prep’ steps, freeze the vm, then run one scenario at a time, and unfreeze after each scenario.

Getting started¶ ↑

See QUICKSTART to get started.

Command-line tools¶ ↑

  • vmth: vm test harness command-line tool

  • virb: Interactive vm test debugger…

Gochas¶ ↑

Took a while to track down a bug where our VM instance was running out of memory and then crashing. It just appeared that qemu just plain exited without error. traced it to the guest having vm.panic_on_oom to 1 - which causes the kernel to panic and exit if we run out of memory.

Here is the Vmth class documentation.

Config file format¶ ↑

See sample_config.yaml for the vmth config file format.

Support¶ ↑

For support or to report bugs open an issue at the gitub issue tracker:

github.com/gregretkowski/vmth/issues