2012-07-10 23 views
5

私は、流行とシェフで作られたVMを持っています。昨夜、VMが起動して実行中にコンピュータが予期せずに再起動しました。その後、私はVMをアップさせようとすると、私は得る: シェフは決して正常に完了していない!上記の出力にはエラーが表示されるはずです。レシピが正しく完成するようにレシピを修正してください。迷惑メールを発行する問題

[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. 

その後編集:

スタックトレースは、

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 

任意の考えを/tmp/vagrant-chef-1/chef-stacktrace.outする

をダンプありがとう、 Radu

+0

'/ tmp/vagrant-chef-1/chef-stacktrace.out'のstacktraceはどのように見えますか? –

+0

これを後の編集として追加しました – Radu

+0

シェフは以前にエラーなく完了しましたか? 'my-site/recipes/default.rb'の114行目に、存在しないノード属性にアクセスしている可能性があります。そのコード行を見て、そこに何のオブジェクトがないのか分かりますか?mayeはそれを作って無しではありませんか? –

答えて

6

これはシェフレシピ自体のバグです。 stacktraceを読むと、エラーが実際にmy-site料理本のデフォルトレシピの行114に表示されていることがわかります。表示されているRubyのエラーは、a[:foo]のようなものを実行しようとしていることを意味します。anilです。もちろん、[]nilに電話をかけることはできません。

2

私は同じ問題を抱えていました。自分のVMで動作していたシェフのバージョンが古い(0.10.10)ことを知りました。

あなたはそれを更新する必要があります。

 
local$ vagrant ssh 
vagrant$ gem install chef 

をして、もう一度試してください。

+1

sudoでrootとして実行してください。ユーザーの迷惑メールとしてこのエラーが発生します。「/opt/vagrant_ruby/lib/ruby/gems/1.8ディレクトリへの書き込み権限がありません」 – Henk

0

私はエラーを受け取った:私が使用

Chef never successfully completed! Any errors should be visible in the 
output above. Please fix your recipes so that they properly complete. 

Error executing action `create` on resource 'mysql_service[default]' 

local$ vagrant ssh 
vagrant$ gem install chef 

を再試行した後、それはすべて完璧に働きました。

関連する問題