We are a medium sized shop that uses Puppet for Linux configuration management. Since we are a small shop, it's difficult to deploy and maintain DTAP environment.
We normally perform manual testing after configuration changes. I would like to automate that somehow; like you would see in software regression testing for e.g..
An e.g. use-case would be an OpenLDAP cluster. I would:
- I would make a change on a test node in the Puppet test environment
- Test services
- If fail, go back to to step 1
- Remove a node from the cluster
- Make the configuration change
- Test services
- If fail, go back to step 5
- Add node back to cluster
- Test services
- If fail, go back to step 4
- Finally, deploy to other nodes
Ideally, I'd like to automate the testing so we could deploy changes with more confidence.
Can anyone recommend such a thing? Preferably something that hooks into Puppet but not necessarily a requirement. Some suggestions on best practice would also be appreciated.
beaker
is for, see github.com/puppetlabs/beaker. It allows you to define test scenarios that are run on (groups of) throwaway virtual machines.