vagrant up issue

10,839

Solution 1

This is a bug in your Chef recipe itself. If you read the stacktrace you can see that the error is actually on line 114 of the default recipe in the my-site cookbook. The Ruby error you're seeing means that you're attempting to do something like a[:foo] where a is nil. Of course, you can't call [] on nil.

Solution 2

I had the same problem. I figured out that the chef version that was running in my VM was too old (0.10.10).

You have to update it:

local$ vagrant ssh
vagrant$ gem install chef

and try again.

Share:
10,839
Radu
Author by

Radu

Updated on June 20, 2022

Comments

  • Radu
    Radu almost 2 years

    I have a VM that is made with vagrant and chef. Last night my computer restarted unexpectedly while the VM was up and running . After that, when I try to vagrant up the VM I get: Chef never successfully completed! Any errors should be visible in the output above. Please fix your recipes so that they properly complete.

    [default] VM already created. Booting if it's not already running...
    [default] Clearing any previously set forwarded ports...
    [default] Forwarding ports...
    [default] -- 22 => 2222 (adapter 1)
    [default] Creating shared folders metadata...
    [default] Clearing any previously set network interfaces...
    [default] Preparing network interfaces based on configuration...
    [default] Running any VM customizations...
    [default] Booting VM...
    [default] Waiting for VM to boot. This can take a few minutes.
    [default] VM booted and ready for use!
    [default] Configuring and enabling network interfaces...
    [default] Mounting shared folders...
    [default] -- v-root: /vagrant
    [default] -- v-data: /vagrant
    [default] -- v-csr-2: /tmp/vagrant-chef-1/chef-solo-2/roles
    [default] -- v-csc-1: /tmp/vagrant-chef-1/chef-solo-1/cookbooks
    [default] Running provisioner: Vagrant::Provisioners::ChefSolo...
    [default] Generating chef JSON and uploading...
    [default] Running chef-solo...
    stdin: is not a tty
    [Tue, 10 Jul 2012 00:59:36 -0700] INFO: *** Chef 0.10.2 ***
    [Tue, 10 Jul 2012 00:59:36 -0700] INFO: Setting the run_list to ["role[my-site]"] from JSON
    [Tue, 10 Jul 2012 00:59:36 -0700] INFO: Run List is [role[my-site]]
    [Tue, 10 Jul 2012 00:59:36 -0700] INFO: Run List expands to [memcached, my-site, my-site::vm]
    [Tue, 10 Jul 2012 00:59:36 -0700] INFO: Starting Chef Run for lucid32
    [Tue, 10 Jul 2012 00:59:37 -0700] ERROR: Running exception handlers
    [Tue, 10 Jul 2012 00:59:37 -0700] ERROR: Exception handlers complete
    [Tue, 10 Jul 2012 00:59:37 -0700] FATAL: Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out
    [Tue, 10 Jul 2012 00:59:37 -0700] FATAL: NoMethodError: undefined method `[]' for nil:NilClass
    Chef never successfully completed! Any errors should be visible in the
    output above. Please fix your recipes so that they properly complete.
    

    Later edit:

    Stacktrace dumped to /tmp/vagrant-chef-1/chef-stacktrace.out

    Generated at Tue Jul 10 00:59:37 -0700 2012
    NoMethodError: undefined method `[]' for nil:NilClass
    /tmp/vagrant-chef-1/chef-solo-1/cookbooks/my-site/recipes/default.rb:114:in `from_file'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/recipe_definition_dsl_core.rb:69:in `instance_eval'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/recipe_definition_dsl_core.rb:69:in `method_missing'
    /tmp/vagrant-chef-1/chef-solo-1/cookbooks/my-site/recipes/default.rb:109:in `from_file'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/cookbook_version.rb:578:in `load_recipe'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:40:in `include_recipe'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `each'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `include_recipe'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/run_context.rb:72:in `load'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/run_context.rb:69:in `each'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/run_context.rb:69:in `load'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/client.rb:195:in `setup_run_context'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/client.rb:159:in `run'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:192:in `run_application'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:183:in `loop'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application/solo.rb:183:in `run_application'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/../lib/chef/application.rb:66:in `run'
    /opt/ruby/lib/ruby/gems/1.8/gems/chef-0.10.2/bin/chef-solo:25
    /opt/ruby/bin/chef-solo:19:in `load'
    /opt/ruby/bin/chef-solo:19
    

    Any thoughts,

    Thanks, Radu