/chef-box

Chef Vagrant Boxes & Playground

Primary LanguageShellApache License 2.0Apache-2.0

Chef Box: Chef Vagrant Boxes & Playground

This project enables you to automatically build a complete set of Ubuntu boxes for use with Vagrant. The boxes are built with the Official OpsCode Chef 0.10 Ubuntu Packages baked in. This means you can start either a Chef Server or Client Node easily at boot time.

Also included in this project is the Vagrant scaffolding to launch a Chef cluster on your Desktop. The default ‘vagrant up’ starts a Chef Server & 2 Chef Client Nodes. The nodes are setup to automatically join the Chef cluster. You can practice your cookbook, search, knife and shef skills really easily with 3 disposable nodes. See the examples below for more info.

You can also merge the contents of this project into your existing Chef Repo and record, as an artifact in your git repository, how you built your Vagrant Box instead of it being mystery-meat from the interweb cache.

Requirements

Setup

gem install bundler
bundle install

Build

Example: Build a Natty 64bit Box

rake box:natty64

Warning: Building a Vagrant Box takes about 20 minutes on my i7 MacBook Pro - go get some lunch & come back

Example: Build a LTS Lucid 32bit Box

rake box:lucid32

Example: Build All Boxes

rake box:all

Warning: Takes several hours to build 32 & 64 bit boxes for Lucid, Maverick & Natty - do it at night when you wont be tapping your foot.

Launch

Example: Launch a 3-Node Natty64 Cluster

vagrant up

Example: Launch a 3-Node Lucid32 Cluster

BOX=lucid32 vagrant up

Example: Only 1 Chef Server & 1 Chef Client Node

vagrant up chef.vm
vagrant up node0.vm

Knife

Node

Example: Works Anywhere (Host or Guest)

knife node list
knife node show chef.vm

Search

Example: Works Anywhere (Host or Guest)

knife search node "name:chef*.vm"
knife search node "name:node*.vm"

SSH

Example: Works Anywhere (Host or Guest)

knife ssh "*:*" "date" -a ip -x vagrant -i .ssh/id_rsa --no-host-key-verify

Changelog

0.5 Works with VirtualBox 4.0.10. Rebuild your VMS.

License Apache 2