2016-05-20 27 views
11

Sto allestendo una semplice scatola vagabonda con il solo chef come fornitore. Tutto andava bene fino a quando ho provato a farlo funzionare sul mio portatile. La macchina si presenta bene ma quando è pronta emette alcuni errori.ChefZero restituisce 404

Sono relativamente fresco con lo chef e non sono abbastanza sicuro di cosa sto guardando. Qualsiasi aiuto è immensamente apprezzato.

errore

==> default: [2016-05-20T00:27:27+00:00] INFO: GET /organizations/chef/nodes/vagrant-ebebf4d0 
==> default: [2016-05-20T00:27:27+00:00] INFO: #<ChefZero::RestErrorResponse: 404: Object not found: chefzero://localhost:8889/nodes/vagrant-ebebf4d0> 

completa dello stack

default: /tmp/vagrant-chef/fc2e73022d67a62fdf8d4974c11d0294/cookbooks => C:/Projects/new-vagrant/provision/cookbooks 
==> default: Running provisioner: chef_solo... 
    default: Installing Chef (latest)... 
==> default: Generating chef JSON and uploading... 
==> default: Running chef-solo... 
==> default: stdin: is not a tty 
==> default: [2016-05-20T00:27:25+00:00] INFO: Started chef-zero at chefzero://localhost:8889 with repository at /tmp/vagrant-chef/fc2e73022d67a62fdf8d4974c11d0294 
==> default: One version per cookbook 
==> default: [2016-05-20T00:27:25+00:00] INFO: Forking chef instance to converge... 
==> default: Starting Chef Client, version 12.11.1 
==> default: [2016-05-20T00:27:25+00:00] INFO: *** Chef 12.11.1 *** 
==> default: [2016-05-20T00:27:25+00:00] INFO: Platform: x86_64-linux 
==> default: [2016-05-20T00:27:25+00:00] INFO: Chef-client pid: 2613 
==> default: [2016-05-20T00:27:27+00:00] INFO: GET /organizations/chef/nodes/vagrant-ebebf4d0 
==> default: [2016-05-20T00:27:27+00:00] INFO: #<ChefZero::RestErrorResponse: 404: Object not found: chefzero://localhost:8889/nodes/vagrant-ebebf4d0> 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:91:in `rescue in get_data' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:83:in `get_data' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/endpoints/rest_object_endpoint.rb:18:in `get' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:62:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_router.rb:24:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:664:in `block in app' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:336:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:336:in `handle_socketless_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/socketless_server_map.rb:87:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/socketless_server_map.rb:33:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http/socketless_chef_zero_client.rb:154:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:305:in `block in send_http_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:336:in `block in retrying_http_errors' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:334:in `loop' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:334:in `retrying_http_errors' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:299:in `send_http_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:144:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:111:in `get' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/node.rb:604:in `load' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/node.rb:588:in `find_or_create' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/policy_builder/dynamic.rb:72:in `load_node' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/client.rb:465:in `load_node' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/client.rb:267:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:285:in `block in fork_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:273:in `fork' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:273:in `fork_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:238:in `block in run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/local_mode.rb:44:in `with_server_connectivity' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:226:in `run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:456:in `sleep_then_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:443:in `block in interval_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:442:in `loop' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:442:in `interval_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:426:in `run_application' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:58:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/solo.rb:216:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/bin/chef-solo:25:in `<top (required)>' 
==> default: /usr/bin/chef-solo:52:in `load' 
==> default: /usr/bin/chef-solo:52:in `<main>' 
==> default: [2016-05-20T00:27:27+00:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/nodes/vagrant-ebebf4d0 
==> default: [2016-05-20T00:27:27+00:00] INFO: POST /organizations/chef/nodes 
==> default: --- POST BODY --- 
==> default: {"name":"vagrant-ebebf4d0","chef_environment":"_default","json_class":"Chef::Node","automatic":{},"normal":{},"chef_type":"node","default":{},"override":{},"run_list":[]} 
==> default: --- END POST BODY --- 
==> default: [2016-05-20T00:27:27+00:00] INFO: #<ChefZero::RestErrorResponse: 404: Parent not found: chefzero://localhost:8889/nodes> 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:187:in `rescue in create_data' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:181:in `create_data' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/endpoints/rest_list_endpoint.rb:31:in `post' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/endpoints/nodes_endpoint.rb:24:in `post' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_base.rb:62:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/rest_router.rb:24:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:664:in `block in app' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:336:in `call' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/server.rb:336:in `handle_socketless_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/socketless_server_map.rb:87:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.6.2/lib/chef_zero/socketless_server_map.rb:33:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http/socketless_chef_zero_client.rb:154:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:305:in `block in send_http_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:336:in `block in retrying_http_errors' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:334:in `loop' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:334:in `retrying_http_errors' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:299:in `send_http_request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:144:in `request' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/http.rb:127:in `post' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/node.rb:639:in `create' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/node.rb:592:in `rescue in find_or_create' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/node.rb:588:in `find_or_create' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/policy_builder/dynamic.rb:72:in `load_node' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/client.rb:465:in `load_node' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/client.rb:267:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:285:in `block in fork_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:273:in `fork' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:273:in `fork_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:238:in `block in run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/local_mode.rb:44:in `with_server_connectivity' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:226:in `run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:456:in `sleep_then_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:443:in `block in interval_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:442:in `loop' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:442:in `interval_run_chef_client' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/client.rb:426:in `run_application' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application.rb:58:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/lib/chef/application/solo.rb:216:in `run' 
==> default: /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-12.11.1/bin/chef-solo:25:in `<top (required)>' 
==> default: /usr/bin/chef-solo:52:in `load' 
==> default: /usr/bin/chef-solo:52:in `<main>' 
==> default: [2016-05-20T00:27:27+00:00] INFO: HTTP Request Returned 404 Not Found: Parent not found: chefzero://localhost:8889/nodes 
==> default: ================================================================================ 
==> default: Chef encountered an error attempting to load the node data for "vagrant-ebebf4d0" 
==> default: ================================================================================ 
==> default: Resource Not Found: 
==> default: ------------------- 
==> default: The server returned a HTTP 404. This usually indicates that your chef_server_url is incorrect. 
==> default: Relevant Config Settings: 
==> default: ------------------------- 
==> default: chef_server_url "chefzero://localhost:8889" 
==> default: Platform: 
==> default: --------- 
==> default: x86_64-linux 
==> default: Running handlers: 
==> default: [2016-05-20T00:27:27+00:00] ERROR: Running exception handlers 
==> default: Running handlers complete 
==> default: [2016-05-20T00:27:27+00:00] ERROR: Exception handlers complete 
==> default: Chef Client failed. 0 resources updated in 02 seconds 
==> default: [2016-05-20T00:27:27+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
==> default: [2016-05-20T00:27:27+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report 
==> default: [2016-05-20T00:27:27+00:00] ERROR: 404 "Not Found" 
==> default: [2016-05-20T00:27:29+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 
Chef never successfully completed! Any errors should be visible in the 
output above. Please fix your recipes so that they properly complete. 

risposta

10

Credo che questo sia correlato a this issue nel cuore dello Chef.

La correzione sembra essere quella di aggiungere il seguente alla sezione provisioner chef_solo nel Vagrantfile:

chef.version = '12.10.40' 
2

mi sembra di aver trovato la risposta. Pubblicherò qui nel caso in cui qualcun altro stia riscontrando questo problema

Questo è un bug nell'attuale "ultima" build di chef quando si usa vagabondo.

https://github.com/chef/chef/issues/4948

L'ultimo commento sulla questione risolve l'errore.

+1

L'ultimo commento esplicitamente * non * spiega come risolvere il problema (forse perché ci sono stati commenti da allora) ma https://www.vagrantup.com/docs/provisioning/chef_common.html implica che lo facciate aggiungendo 'chef.channel =" stable "' al 'Vagrantfile'. Tuttavia, potrebbe essere necessario distruggere interamente e ri-provisioning. 'chef.version =" ... "' potrebbe funzionare anche, con numeri di versione espliciti come menzionati su quel thread. –

6

ho dovuto impostare sia la versione e il canale nel mio Vagrantfile:

chef.channel = "stable" 
chef.version = "12.10.24" 

In questo modo vagabondo usa il buon URL per scaricare la vecchia versione stabile del cuoco.