Error during bootstrap
default] Running provisioner: Vagrant::Provisioners::ChefSolo...
[default] Generating chef JSON and uploading...
[default] Running chef-solo...
[default] /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/node.rb:411:in `expand!': stderr
[default] : : stderr
[default] Chef::Exceptions::MissingRole: stderr
[default] (: stderr
[default] Chef::Exceptions::MissingRole: stderr
[default] )
: stderr
[default] from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/client.rb:223:in `build_node'
: stderr
[default] from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/client.rb:145:in `run'
: stderr
[default] [Fri, 22 Apr 2011 20:50:32 -0700] DEBUG: Building node object for
[Fri, 22 Apr 2011 20:50:32 -0700] DEBUG: Extracting run list from JSON attributes provided on command line
[Fri, 22 Apr 2011 20:50:32 -0700] INFO: Setting the run_list to ["role[cloudfoundry]"] from JSON
[Fri, 22 Apr 2011 20:50:32 -0700] DEBUG: Applying attributes from json file
[Fri, 22 Apr 2011 20:50:32 -0700] DEBUG: Platform is ubuntu version 10.04
[Fri, 22 Apr 2011 20:50:32 -0700] ERROR: Role cloudfoundry is in the runlist but does not exist. Skipping expand.
[default] from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/application/solo.rb:190:in `run_application'
from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/application/solo.rb:181:in `loop'
from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/application/solo.rb:181:in `run_application'
from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/../lib/chef/application.rb:62:in `run'
from /usr/lib/ruby/gems/1.8/gems/chef-0.9.12/bin/chef-solo:25
from /usr/bin/chef-solo:19:in `load'
from /usr/bin/chef-solo:19
: stderr
[default] : stdout
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
cd /tmp/vagrant-chef
chef-solo -c solo.rb -j dna.json
The output of the command prior to failing is outputted below:
[no output]
Looks like your cookbooks aren't in your vagrant path? Can you ls your directory?
I'm getting this error as well with the latest vagrant 0.8.2 and vbox 4.1. I can't determine why, but the roles_path in my Vagrantfile for chef solo does not ensure the roles directory and its json files get uploaded to the vagrant vm. I've tried both not setting "chef.roles_path = 'roles'" and setting it.
Documenting for some other lost soul in the future ... Turns out, I was getting this error because I rolled my own basebox (http://vagrantup.com/docs/base_boxes.html) and somehow the VirtualBox Guest Additions had failed to install /sbin/mount.vboxfs . Vagrant needs to mount a shared folder for the chef solo config (default is in /tmp/vagrant-chef). Once I re-installed VirtualBox Guest Additions on my reference box and re-provisioned a copy for vagrant mount.vboxfs mounted the shared partition correctly so that chef solo was able to find find the roles I had specified.
Ah thanks Monde for catching that. I wonder how we can verify this works.