2012-05-20 11 views
8

Estoy tratando de instalar nginx a través del libro de recetas opscode en el servidor Ubuntu 12.04. Sé que depende de ohai así que también he descargado ese libro de cocina. Cuando corroerror de chef solo Errno :: ENOENT: Ningún archivo o directorio - solo.rb

$ sudo chef-solo -c solo.rb 

me sale un error que dice

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

No sabe cómo solo.rb no se encuentra cuando está en mi directorio actual.

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

Aquí está la salida de depuración

$ 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

prueba ./solo.rb en su lugar o en modo completo como /home/ubuntu/solo.rb. –

+0

Intentó y no funcionó. Obtuve el mismo resultado exacto. – Brandon

+0

No tengo idea. Pruebe 'sudo su -' y luego su comando' chief-solo' sin sudo. –

Respuesta

15

Esto se debe a la forma en que trabaja el chef. Cambia el directorio a/para evitar cualquier tipo de problema de permisos, pero esto significa que los complementos que necesitan acceso a los argumentos de la línea de comandos ya no sabrán cómo llegar a sus rutas relativas.

Se ha producido un error con el código del chef para solucionar el problema.

Por ahora, el uso de rutas completas para sus argumentos chef-solo corrige los problemas. P.ej.

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

O como lo indicó otra persona, eliminando el archivo /etc/chef/ohai_plugins/README también "arreglar" el problema. Aunque no de una manera real, ya que todo lo que hace es activar una actualización de modificación de tiempo en la carpeta ohai_plugins, lo que provoca que el chef vuelva a cargar todo. Esa funcionalidad no está garantizada y puede romperse antes de que se solucione el error mencionado anteriormente.

0

Si el chef-solo 0.10.10 no pudo encontrar su solo.rb se quejará con el siguiente mensaje en el inicio de su registro de depuración:

$ 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 *** 
... 

Así que el error está en la lógica de las recetas que usan este nombre de archivo de configuración de alguna manera.

2

El problema más probable es "/ etc/chef/ohai_plugins/README" que se vuelve a crear con cada ejecución. Solo necesita eliminarlo antes de ejecutar chef-solo.

3

Esto parece ser un error por el chef en solitario y chef-cliente, hice algo de investigación y abrió un error aquí: http://tickets.opscode.com/browse/COOK-1490?focusedCommentId=25572#comment-25572

Como ya se ha sugerido que la solución consiste en utilizar la ruta absoluta a la config , cualquier camino relativo tiene el mismo problema. Esto también sucede cada vez que se ejecuta la receta ohai sin cambiar ningún complemento, no es específico del libro de cocina nginx.

Cuestiones relacionadas