我正在尝试通过Ubuntu 12.04服务器上的opscode cookbook安装Nginx.我知道这取决于ohai,所以我也下载了这本食谱.当我跑
$sudo chef-solo -c solo.rb
我得到一个错误说
FATAL: Errno::ENOENT: No such file or directory - solo.rb
不知道当我在当前目录中时solo.rb是如何丢失的.
$ls
cache cookbooks node.json node.json~ solo.rb solo.rb~
这是debug的输出
$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] 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
这是由于厨师的工作方式.它将目录更改为/以避免任何类型的权限问题,但这意味着需要访问命令行参数的插件将不再知道如何到达相对路径.
现在,使用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文件夹上的修改时间更新,因此触发厨师重新加载所有内容.该功能无法保证,可能会在上述错误修复之前中断.