0.02
No commit activity in last 3 years
No release in over 3 years
A tool for automated testing and debugging of automation scripts (e.g., Chef).
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

ToASTER

Automated testing of Infrastructure as Code automation scripts (e.g., Chef).

(ToASTER is an acronym for "Testing of Automation Scripts via Twisted Execution Runs")

Building and Installing

  • Important note: We highly recommend to install ToASTER only on dedicated machines, e.g., a clean virtual machine from Amazon EC2. Do not install toaster on any production servers or your own development machine! The reasons are twofold: first, toaster requires a high amount of disk space for creating LXC containers, storing test data etc; second, toaster relies on a comprehensive third-party software stack (docker.io, LXC, Squid, MySQL, Ruby, Ruby gems, etc), which might interfere with and pollute the working environment of production machines.

  • Target platform: Ubuntu 13.04

# become root user
sudo su -

# prerequisites:
apt-get -y install wget make bzip2 curl patch screen libgdbm-dev libyaml-dev libxml2-dev libxslt-dev libmysqlclient-dev libsqlite3-dev g++
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby
# (OR: install stable ruby versions from repo: apt-get install -y ruby ruby-dev)
source /usr/local/rvm/scripts/rvm

# install toaster gem:
gem build cloud-toaster.gemspec
gem install --no-ri --no-rdoc cloud-toaster-*version*.gem

# (OR: install directly using rubygems.org: gem install cloud-toaster)

# toaster setup:
toaster setup					# (setup testing host / utility host. Enter 192.168.100.2 as "db.host" parameter)
toaster proto ubuntu1 ubuntu	# (initialize prototype container)

The code listing above illustrates the single-node installation. For multiple testing hosts, set the db.host configuration to the public IP/hostname of a central MySQL DB server to be shared among all hosts.

User Commands

toaster web -d 					# (run the Web UI in a screen session in the background; web port 8080)
toaster agent 					# (start test agent in the background; web port 8385)
toaster spawn lxc1 ubuntu1		# (create container)
toaster clean					# (clean containers)

License

ToASTER is published under the Apache License version 2.0. See LICENSE file for details.