[ANN] Vagrant 0.7.0 - VirtualBox 4, Puppet Server, Gentoo/RedHat Networking, and more!

161 views
Skip to first unread message

Mitchell Hashimoto

unread,
Jan 19, 2011, 6:54:22 PM1/19/11
to vagra...@googlegroups.com
Vagrant 0.7 has finally been pushed. This has been a longer release
cycle than normal, but only because I've been busy cranking away on
stuff that you will all see in later releases of Vagrant. But this
release is fantastic! VirtualBox 4 support, Puppet server provisioner,
Gentoo/RedHat host only network support, Chef enhancements, a more
powerful provisioner configuration syntax, and it just keeps on going.

As always, upgrade by simply reinstalling the Vagrant gem: `gem
install vagrant`. New versions of dependencies will automatically be
gathered from the proper sources and everything should just work.
BACKWARD INCOMPATIBILITIES: VirtualBox 3.x is not supported anymore,
the syntax to enable and configure provisioners in Vagrantfiles is
changed. Please read below for more info.

Before going into the changes, I want to say that I'm very proud that
between Vagrant 0.6.0 and 0.7.0, 19 (NINETEEN!) people contributed to
Vagrant, and a handful contributed in a big way. James Turnbull
singlehandedly wrote both the puppet and puppet server provisioners
and documentation. Tino Breddin wrote support for Gentoo host-only
networking, and Michael Bearne wrote support for RedHat host-only
networking. Again, there were 19 contributors in total, and they all
did great work to make Vagrant better for everybody. Thanks!

While below is a summary of the big changes between 0.6.x and 0.7.0, I
want to remind everyone that the official detailed CHANGELOG is
available on GitHub:
https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md

VirtualBox 4 Support
=======================================
This is a backwards incompatible change.

Vagrant 0.7.0 is fully compatible with VirtualBox 4, Oracle's recent
major release of VirtualBox released on December 21, 2010. The API
changes were so great, however, that supporting both VirtualBox 4 and
VirtualBox 3.x was out of the question. Because of this, if you or
your company is stuck with VirtualBox 3.x, please stick with the 0.6.x
line of Vagrant until you can upgrade VirtualBox.

With VirtualBox 4, VM import and export is noticably faster.
Everything should behave normally.

The lucid32 and lucid64 base boxes have been updated to have the
VirtualBox 4 guest additions, as well.

New Vagrantfile Provisioner Syntax
=======================================
This is a backwards incompatible change.

The syntax for enabling and configuring provisioners in Vagrantfiles
has been completely redone, most importantly to make enabling
provisioners more consistent with the rest of the syntax, but also to
enable multiple provisioners to be run. Below is an example of the new
syntax, and all the relevant documentation on the website has been
updated to reflect the change:

Vagrant::Config.run do |config|
# Using a hash to set the options
config.vm.provision :chef_solo, :cookbooks_path => "my_cookbooks"

# Or perhaps using a block...
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "my_cookbooks"
chef.add_recipe "apache"
end

# The above two methods of configuring the provisioner can be used
# in conjunction as well.
end

For those Vagrantfiles which still use the old config.vm.provisioner =
syntax, you should see a large, friendly error message describing this
new change. This error message will be removed with Vagrant 0.8.0.

The provisioner syntax change was somewhat controversial, and I want
to explain why I did it:
* It makes provisioner syntax more consistent with shared folders,
forwarded ports, etc. `config.vm.forward_port`,
`config.vm.share_folder`, and now `config.vm.provision` are all
methods which take options.
* Multiple provisioners can now be used to provision a VM. They will
be executed in the order enabled.
* Boxes can now include recipes and enable a provisioner. Before, if
a box did this, the user could not do provisioning in addition to the
box. There will be a whole feature around this idea... in the
future...

Puppet Support
=======================================
Thanks to James Turnbull, Vagrant now has built-in provisioners for
both standalone Puppet as well as for nodes connected to a puppet
server. The provisioners are extremely simple to use and work great.
If you or your company uses Puppet or you know someone that has been
holding out on Vagrant because they use Puppet, then tell them now is
the time to come back!

The lucid32 and lucid64 base boxes now have puppet pre-installed as well.

Please see the documentation on vagrantup.com for documentation on how
to use these new provisioners.

Gentoo and RedHat Host-Only Networking
=======================================
Host-Only Networking has up until now been been restricted to
Ubuntu/Debian users. But thanks to work done by Tino Breddin and
Michael Bearne, Vagrant now supports Gentoo and RedHat host-only
networks as well.

You shouldn't have to do anything special for this to work. Vagrant is
now able to detect what distro of linux your VM has, and uses the
appropriate OS-specific code to manage host only networks.

For more information on host only networks, please read the
documentation on vagrantup.com

General Bug Fixes + Small Enhancements
=======================================
As always, there were a handful of bug fixes and small enhancements in
addition to the big ticket items listed above. These can all be seen
by viewing the detailed CHANGELOG:
https://github.com/mitchellh/vagrant/blob/master/CHANGELOG.md

Moving Forward
=======================================
Vagrant 0.7 has shaped up to be a great release. Moving forward, I'm
going to go back and work on bringing multiple hypervisors to Vagrant,
which continues to be an enormously complex task. I'm also going to
focus on supporting more features on Windows (SSH, Samba, etc.), since
the Vagrant userbase on Windows is increasing. I wanted to have better
support for Windows come with 0.7, but the Windows laptop I ordered to
test Vagrant on Windows is still a week away, and I think everyone has
waited long enough for this release, so I decided to ship now.

Best,
Mitchell

rb

unread,
Jan 20, 2011, 1:18:29 PM1/20/11
to Vagrant
On Jan 20, 12:54 am, Mitchell Hashimoto <mitchell.hashim...@gmail.com>
wrote:
> Vagrant 0.7 has finally been pushed. This has been a longer release
> cycle than normal, but only because I've been busy cranking away on
> stuff that you will all see in later releases of Vagrant. But this
> release is fantastic! VirtualBox 4 support, Puppet server provisioner,
> Gentoo/RedHat host only network support, Chef enhancements, a more
> powerful provisioner configuration syntax, and it just keeps on going.

Big thanks and congrats to all contributors! I'll switch to vagrant
0.7 in the coming days :-)

Raph

rb

unread,
Jan 20, 2011, 2:32:59 PM1/20/11
to Vagrant
On Jan 20, 12:54 am, Mitchell Hashimoto <mitchell.hashim...@gmail.com>
wrote:
> The lucid32 and lucid64 base boxes have been updated to have the
> VirtualBox 4 guest additions, as well.
>

Any plan for maverick boxes?

Raph

Dreamcat4

unread,
Jan 24, 2011, 8:08:59 AM1/24/11
to vagra...@googlegroups.com
Hi,
I have recently updated the maverick32.box.

* There are now 2 images, depending whether you want the VirtualBox 4
or the VirtualBox 3 Guest additions:

For Vagrant 0.6x
http://dl.dropbox.com/u/588496/maverick32-v3.box

For Vagrant 0.7x
http://dl.dropbox.com/u/588496/maverick32-v4.box


A couple of other points about those image files:

* There was no 64-bit built as because I dont have the hardware to
build for 64bit. But you can clone the repository dreamcat4/ubuntu and
follow the instructions. Edit the settings configuration file to
specify 64-bit maverick box and then build it. The dreamcat4/ubuntu
repo now builds V4 guest additions, and requires both VirtualBox 4 and
Mac OS.

* I guess its an oversight on my part, but I didnt include any Puppet
gems or whatever in these boxes. Although perhaps its still possible
use the Puppet Provisioner with them anyway.

Reply all
Reply to author
Forward
0 new messages