I'm here at PuppetConf in Portland and one of the speakers got me all excited again about Vagrant. I've played around with Vagrant before, but he was showing off some awesome features that I didn't realize existed which made me want to play with the tool again (more on that later!). Anyway, I updated all the versions of things Vagrant-related and tried to use it again. However, when I downloaded one of the default images from the getting started page I was greeted with an awesomely descriptive error:
[default] Importing base box 'lucid32'... The VM import failed! Try running `VBoxManage import` on the box file manually for more verbose error output.
Running it with VBoxManage as instructed gave a slightly-better-yet-not-so-useful error:
VBoxManage: error: Appliance file must have .ovf extension VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Appliance, interface IAppliance, callee nsISupports Context: "Read(Bstr(pszAbsFilePath).raw(), progressRead.asOutParam())" at line 302 of file VBoxManageAppliance.cpp
A few Google searches for this error got me almost nowhere except that it was likely a VirtualBox configuration issue. Great. After digging around for far too long, I figured out that it was because when I had played with Vagrant/VirtualBox in the past I had configured VirtualBox's default machine folder to an external drive that I didn't have plugged in! Doh. Anyway, was a pretty easy fix but I thought I'd share if it saved someone some time. The default machine folder is set on the first screen in the VirtualBox preferences window (at least for me on my Mac).