Sunday, November 21, 2010

Vagrant -- Promising to Reshape Configuration

At Tacit, like many software shops, we've been long in the pursuit of the ability to create a repeatable from-bare-metal one-step build for entire environments.

Vagrant is a recent tool (at the time of writing, it's claimed to be beta software) that aims to achieve just that.  Vagrant seems to be the configuration glue between a virtualization technology (Oracle's VirtualBox) and the newest up-and-coming configuration management tool: Chef.

You create and manage "box"es from the command-line running commands like:

$ vagrant add converse-endeca.box https://...
$ vagrant init converse-endeca.box
$ vagrant up

Where the first command points to a pre-built box, the second initializes it locally (e.g. to set-up port forwarding) and the third starts-up the virtual machine.

I love what I see:
  • simple, script based (Ruby) configuration
  • a powerful built-in DSL for configuring and controlling targets (known as "box"es).
  • Chef is apparently this shizzle for tool configuration and I sense a large community following -- it's time for generalists to adapt.
  • VirtualBox has been rumored to out-perform competitors (namely VMware) and at a zero-cost price-point, it's hard to beat.


7:40

silver:vagrant$ sudo gem install vagrant
Password:
Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
Successfully installed archive-tar-minitar-0.5.2
Successfully installed abstract-1.0.0
Successfully installed erubis-2.6.6
Successfully installed json-1.4.6
Successfully installed mario-0.0.6
Successfully installed net-ssh-2.0.23
Successfully installed net-scp-1.0.4
Successfully installed i18n-0.4.2
Successfully installed thor-0.14.6
Successfully installed ffi-0.6.3
Successfully installed virtualbox-0.7.5
Successfully installed vagrant-0.6.7
12 gems installed


silver:vagrant$ vagrant box add base http://files.vagrantup.com/lucid32.box

Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.
If VirtualBox is installed, it may be an incorrect version. Vagrant currently
requires VirtualBox 3.2.x. Please install the proper version to continue.

Wow, really?  If I follow the instructions on the home page, it doesn't work "out of the box". :-/

I'm not so sure this is beta software... more like pre-alpha.  Great idea, I'll give 'em another go, later.

No comments: