2012-05-20 32 views
8

私はUbuntu 12.04サーバのopscode cookbookでnginxをインストールしようとしています。私はそれがohaiに依存することを知っているので、私はその料理本もダウンロードしています。私はシェフソロエラーErrno :: ENOENT:そのようなファイルやディレクトリがありません - solo.rb

$ sudo chef-solo -c solo.rb 

を実行すると、私は

FATAL: Errno::ENOENT: No such file or directory - solo.rb 

それは私の現在のディレクトリにありますときsolo.rbが欠落しているかわからないというエラーを取得します。シェフ・ソロ0.10.10は、あなたのsolo.rbそれはあなたのデバッグログの開始時に、次のメッセージを表示して文句を言うでしょう見つけることができなかった場合はここで

$ ls 
cache cookbooks node.json node.json~ solo.rb solo.rb~ 

$ sudo chef-solo -l debug -c solo.rb 
[Sun, 20 May 2012 14:00:10 -0400] INFO: *** Chef 0.10.10 *** 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Building node object for vagrant-ubuntu-precise 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Extracting run list from JSON attributes provided on command line 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Setting the run_list to ["recipe[ohai]", "recipe[main]", "recipe[nginx]"] from JSON 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Applying attributes from json file 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Platform is ubuntu version 12.04 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Run List is [recipe[ohai], recipe[main], recipe[nginx]] 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Run List expands to [ohai, main, nginx] 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Starting Chef Run for vagrant-ubuntu-precise 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Running start handlers 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Start handlers complete. 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: No chefignore file found at /var/chef/cookbooks/chefignore no files will be ignored 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's library file: /var/chef/cookbooks/chef-jenkins/libraries/manage_node.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's providers from /var/chef/cookbooks/chef-jenkins/providers/job.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/providers/job.rb into a provider named chef-jenkins_job defined in Chef::Provider::ChefJenkinsJob 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's providers from /var/chef/cookbooks/chef-jenkins/providers/execute.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/providers/execute.rb into a provider named chef-jenkins_execute defined in Chef::Provider::ChefJenkinsExecute 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's providers from /var/chef/cookbooks/chef-jenkins/providers/node.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/providers/node.rb into a provider named chef-jenkins_node defined in Chef::Provider::ChefJenkinsNode 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's providers from /var/chef/cookbooks/chef-jenkins/providers/cli.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/providers/cli.rb into a provider named chef-jenkins_cli defined in Chef::Provider::ChefJenkinsCli 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's resources from /var/chef/cookbooks/chef-jenkins/resources/job.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/resources/job.rb into a resource named chef-jenkins_job defined in Chef::Resource::ChefJenkinsJob 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's resources from /var/chef/cookbooks/chef-jenkins/resources/node.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/resources/node.rb into a resource named chef-jenkins_node defined in Chef::Resource::ChefJenkinsNode 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's resources from /var/chef/cookbooks/chef-jenkins/resources/execute.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/resources/execute.rb into a resource named chef-jenkins_execute defined in Chef::Resource::ChefJenkinsExecute 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook chef-jenkins's resources from /var/chef/cookbooks/chef-jenkins/resources/cli.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loaded contents of /var/chef/cookbooks/chef-jenkins/resources/cli.rb into a resource named chef-jenkins_cli defined in Chef::Resource::ChefJenkinsCli 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook nginx's attribute file /var/chef/cookbooks/nginx/attributes/default.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook nginx's attribute file /var/chef/cookbooks/nginx/attributes/geoip.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook nginx's attribute file /var/chef/cookbooks/nginx/attributes/source.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook nginx's attribute file /var/chef/cookbooks/nginx/attributes/upload_progress.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook ohai's attribute file /var/chef/cookbooks/ohai/attributes/default.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Node vagrant-ubuntu-precise loading cookbook chef-jenkins's attribute file /var/chef/cookbooks/chef-jenkins/attributes/default.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading cookbook nginx's definitions from /var/chef/cookbooks/nginx/definitions/nginx_site.rb 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Loading Recipe ohai via include_recipe 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Found recipe default in cookbook ohai 
[Sun, 20 May 2012 14:00:10 -0400] INFO: ohai plugins will be at: /etc/chef/ohai_plugins 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Platform ubuntu not found, using all defaults. (Unsupported platform?) 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Processing remote_directory[/etc/chef/ohai_plugins] action create (ohai::default line 23) 
[Sun, 20 May 2012 14:00:10 -0400] INFO: Processing cookbook_file[/etc/chef/ohai_plugins/README] action create (dynamically defined) 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Platform ubuntu not found, using all defaults. (Unsupported platform?) 
[Sun, 20 May 2012 14:00:10 -0400] ERROR: Running exception handlers 
[Sun, 20 May 2012 14:00:10 -0400] ERROR: Exception handlers complete 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Re-raising exception: Errno::ENOENT - No such file or directory - solo.rb 
/var/chef/cookbooks/ohai/recipes/default.rb:41:in `read' 
/var/chef/cookbooks/ohai/recipes/default.rb:41:in `from_file' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/cookbook_version.rb:578:in `load_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:46:in `load_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:33:in `include_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `each' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `include_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:72:in `load' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:69:in `each' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:69:in `load' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/client.rb:199:in `setup_run_context' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/client.rb:162:in `run' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:207:in `run_application' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:195:in `loop' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:195:in `run_application' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application.rb:70:in `run' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/chef-solo:25 
/usr/local/bin/chef-solo:19:in `load' 
/usr/local/bin/chef-solo:19 
[Sun, 20 May 2012 14:00:10 -0400] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
[Sun, 20 May 2012 14:00:10 -0400] DEBUG: Errno::ENOENT: No such file or directory - solo.rb 
/var/chef/cookbooks/ohai/recipes/default.rb:41:in `read' 
/var/chef/cookbooks/ohai/recipes/default.rb:41:in `from_file' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/cookbook_version.rb:578:in `load_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:46:in `load_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:33:in `include_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `each' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/mixin/language_include_recipe.rb:27:in `include_recipe' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:72:in `load' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:69:in `each' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/run_context.rb:69:in `load' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/client.rb:199:in `setup_run_context' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/client.rb:162:in `run' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:207:in `run_application' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:195:in `loop' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application/solo.rb:195:in `run_application' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/../lib/chef/application.rb:70:in `run' 
/var/lib/gems/1.8/gems/chef-0.10.10/bin/chef-solo:25 
/usr/local/bin/chef-solo:19:in `load' 
/usr/local/bin/chef-solo:19 
[Sun, 20 May 2012 14:00:10 -0400] FATAL: Errno::ENOENT: No such file or directory - solo.rb 
+0

試してみてください./solo.rb代わりに、あるいは完全に/home/ubuntu/solo.rbのようにしてください。 –

+0

試してみてもうまくいきませんでした。私は全く同じ出力を得ました。 – Brandon

+0

いいえ、考えられません。 'sudo su -'を試してからsudoを使わずに' chief-solo'コマンドを実行してみてください。 –

答えて

15

シェフが働く方法によるものです。ディレクトリを/に変えてパーミッションの問題を回避しますが、これはコマンドライン引数にアクセスする必要があるプラグインは、相対パスへのアクセス方法を知らないことを意味します。

問題に対処するためにシェフコードにバグがあります。

今のところ、chef-solo引数のフルパスを使用すると、問題が修正されます。例えば。

$ chef-solo -c /full/path/to/solo.rb -j /full/path/to/node.json -l debug 

それとも誰かとして

は他にも、問題を「解決」します /etc/chef/ohai_plugins/READMEファイルを削除し、指摘しました。実際にはそうではありませんが、すべてがやっているのは、ohai_pluginsフォルダの更新時間を更新してシェフにすべてのアイテムを再読み込みさせることです。その機能は保証されておらず、前述のバグが修正される前に機能が停止する可能性があります。

0

をデバッグから出力されます。

$ chef-solo -c solo.rb -l debug 
[2012-06-18T23:27:32+03:00] WARN: ***************************************** 
[2012-06-18T23:27:32+03:00] WARN: Did not find config file: solo.rb, using command line options. 
[2012-06-18T23:27:32+03:00] WARN: ***************************************** 
[2012-06-18T23:27:32+03:00] INFO: *** Chef 0.10.10 *** 
... 

この設定ファイル名を何らかの形で使用するレシピのロジックにバグがあります。

2

問題は、実行ごとに再作成される "/ etc/chef/ohai_plugins/README"です。シェフソロを実行する前に削除するだけです。

3

これは、私はいくつかの掘削を行なったし、ここでバグを開いたシェフ・ソロとシェフ・クライアントとのバグに表示されます。http://tickets.opscode.com/browse/COOK-1490?focusedCommentId=25572#comment-25572

などはすでに回避策は設定に絶対パスを使用することであることが示唆されています相対パスには同じ問題があります。これはまた、プラグインを変更せずにohaiレシピが実行されるたびに発生します。これはnginx cookbookに固有のものではありません。

関連する問題