#Test your chef recipies before deploying them to opsworks
So you want to use chef to provision aws opsworks like a boss? well first you'll need to test them locally. This project is an example that provisions a Vagrant VM with the default opsworks recipes and a starting point to build your own.
#installation install Vagrant, Virtualbox, Vagrant-Berkshelf plugin. after installing I got
Vagrant -v
Vagrant 1.7.2
Vagrant plugin list
vagrant-berkshelf (4.0.2)
vagrant-share (1.1.3, system)
ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
This depends on the box file from this project https://github.com/wwestenbrink/vagrant-opsworks
clone vagrant-opsworks seprately, it's dependencies and build the box file, I used commit da9f341197
once finished you shouuld get this:
vagrant box list
ubuntu1204-opsworks (virtualbox, 0)
if all went well, run
vagrant up --provision
vagrant ssh
cat /home/example-file
If everything succeeded, default.rb created that file! Log in to opsworks, make sure it runs there too. Test your own recipes. Happy devop-ing!
I mostly followed these blog posts to get this far.
http://pixelcog.com/blog/2014/virtualizing-aws-opsworks-with-vagrant/ http://dev.inventit.io/blog/aws/opsworks/vagrant/chef/berkshelf/2014/04/28/opsworks_vagrant_chef_berkshelf_tips.html http://joshsymonds.com/blog/2014/06/11/getting-started-with-aws-opsworks/