> Showing 122 changed files with 4,156 additions and 2,915 deletions.<p>Wow, that's a lot of code for a tool which is doing little more than creating, starting, stopping, deleting, and zipping-up VMs. Looking at this diff, all I can say is: Holy Java-ish Ruby, Batman!<p>Most of these classes contain two non-helper methods: init and call. That's not a class; that's a function! I'm reminded of this talk, titled "Stop Writing Classes": <a href="http://news.ycombinator.com/item?id=3717715" rel="nofollow">http://news.ycombinator.com/item?id=3717715</a><p>I've used Vagrant before, but it always felt like overkill. When I had an issue with it, I cracked open the code and was quickly deterred from digging deeper. I hacked my VM back to working by hand and decided to avoid mucking with Vagrant.<p>The next time I need automated development VM provisioning, I plan to write a very small shell script. Here's an example of getting a box up and running with 7ish commands: <a href="http://www.linux-mag.com/id/7673/" rel="nofollow">http://www.linux-mag.com/id/7673/</a> For a complete development environment, you only need to additionally mount a shared filesystem and write an entry into your ssh config.<p>All that said, I do think that there is value in having a command line tool which abstracts various machine provisioning APIs. I know that such a thing exists for cloud providers, but I suspect local VMs have some unique concerns. Regardless, it seems like a task that a shell script is best suited for.
This is exciting news.<p>I know one fellow who built a large private cloud for his organisation (about two racks of topline gear) so that they could simulate an architecture of several dozen servers and thousands of complex, concurrent transations.<p>What's it built on? VMWare. He was not totally amused when I sent him a link to Vagrant.<p>(I understand VMWare have similar fleet-orchestration tools, but not development-oriented as vagrant is -- awesome for production though).<p>Putting aside my friend, I can also see performance gains from in-kernel virtualisation schemes such as KVM^w lxc or Solaris Zones.<p>Bravo to the Vagrant team. This tool has become one of the centrepieces of how I personally do development.
I'm not sure what are the benefits of supporting many VM providers for a tool that is meant for development (as far as I understand at least). Isn't VirtualBox sufficient? It is open source and runs on Linux, OS X and MS Windows. Perhaps I am missing some core idea.<p>Then there is veewee[1] which started life as a Vagrant plugin but as of version 0.3.0 it can be used standalone and one can ssh to the boxes using it, just like with Vagrant. If they were to add provisioning it would probably be an alternative to Vagrant feature for feature so maybe we're seeing a bit of competition between these two tools there.<p>On Ubuntu there is VMBuilder[2] written in Python but it doesn't offer provisioning as far as I know.<p>Last, as others have mentioned there is libvirt[3] which offers tools for communicating with different VMs but I don't think it offers a tool that matches what Vagrant does 1:1 (most notably the provisioning part).<p>1. <a href="https://github.com/jedi4ever/veewee/blob/master/doc/README-changes.txt" rel="nofollow">https://github.com/jedi4ever/veewee/blob/master/doc/README-c...</a><p>2. <a href="https://launchpad.net/vmbuilder" rel="nofollow">https://launchpad.net/vmbuilder</a><p>3. <a href="http://libvirt.org" rel="nofollow">http://libvirt.org</a>
This is really great news. Vagrant has really made my life easier as a developer, thanks Mitchell! I prefer VMware so this is awesome!<p>I personally think vagrant needs a UI manager of some sorts (I 'm thinking about doing this when I have more free time). I have about 10-15 vagrant boxes now and it can be a pain to manage. Having to go into each project directory and manually up'ing each vagrant box can be tedious.
Good to hear this. I had several issues with Virtual Box in the past on OS X(Lion, Mountain Lion) and it even produced 3-4 times a kernel crash on my MacBook. I switched to VMWare Fusion then and all the complains were gone.