make servers happy with automated testing
whoami matthew walter linux systems administrator @ohai_walt
tools salt – saltstack.com configuration management and remote execution test-kitchen – kitchen.ci test harness tool to execute your configured code on one or more platforms in isolation serverspec – serverspec.org integration testing framework built on rspec vagrant – vagrantup.com wrapper for virtual machine configuration
why? ensure what we have is what we expect configuration management variables config files simplifies life with multiple contributors simplifies working w/ multiple operating systems think more deeply about our environment enables use in continuous integration provides certainty
manual build and provision install operating system from .iso use package manager to install required programs from checklist change required configuration files
write automation code, manually test configuration management make changes provision box verify changes how long does testing take?
automated testing think about what we're testing serverspec testing test-kitchen continuously testing infrastructure kitchen-ec2
test driven development write test harness for feature requirements (red) write minimal code to make test pass (green) rewrite code for maintainability (refactor)
questions?