2016-05-20 10 views
11

Przygotowuję proste pudełko z konfiturą dla kucharza solo jako rezerwę. Wszystko szło dobrze, dopóki nie spróbowałem uruchomić go na moim laptopie. Maszyna pojawia się dobrze, ale gdy ją zapisze, wypluje pewne błędy.ChefZero wraca 404

Jestem stosunkowo świeży dla szefa kuchni i nie jestem do końca pewien, na co patrzę. Każda pomoc jest niezmiernie doceniana.

Błąd

==> 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> 

Pełna Śledzenie stosu

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. 

Odpowiedz

10

Wierzę, że jest to związane z this issue w rdzeniu Chef.

Rozwiązaniem wydaje się być dodanie następujących do chef_solo sekcji Provisioner w swojej Vagrantfile:

chef.version = '12.10.40' 
2

wydaje mi się, że znalazłem odpowiedź. Opublikuję go tutaj, na wypadek, gdyby ktoś inny doświadczał tego problemu.

To błąd w aktualnej "najnowszej" wersji szefa kuchni podczas używania włóczęgi.

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

ostatni komentarz w tej sprawie rozwiązuje ten błąd.

+1

Ostatni komentarz wyraźnie * nie * wyjaśnia, jak rozwiązać problem (może dlatego, że od tamtej pory były komentarze), ale https://www.vagrantup.com/docs/provisioning/chef_common.html sugeruje, że to robisz poprzez dodanie 'chef.channel =" stable "' do 'Vagrantfile'. Jednak może być konieczne całkowite zniszczenie i ponowne dostarczenie. 'chef.version =" ... "' może również działać, z jawnymi numerami wersji, jak wspomniano w tym wątku. –

6

musiałem ustawić zarówno wersję i kanał w moim Vagrantfile:

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

ten sposób vagrant używa dobrego adresu URL do pobrania starej wersji stabilnej szefa kuchni.