web-dev-qa-db-ja.com

ChefZeroが404を返す

シェフソロをプロビジョナーとして、シンプルな放浪者ボックスを設置しています。私がラップトップでそれを実行しようとするまで、すべてがうまくいっていました。マシンは正常に起動しますが、プロビジョニングするといくつかのエラーが発生します。

私はシェフにとって比較的新鮮で、何を見ているのかよくわかりません。どんな助けでも大歓迎です。

エラー

==> 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: /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.
13
Jay Kravetz

これは、Chefコアの この問題 に関連していると思います。

修正は、Vagrantfileのchef_soloプロビジョナーセクションに以下を追加することのようです。

chef.version = '12.10.40'
11
Dana Merrick

Vagrantfileでバージョンとチャネルの両方を設定する必要がありました。

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

このように、vagrantは適切なURLを使用して古いシェフの安定バージョンをダウンロードします。

6
Marc MAURICE

私は答えを見つけたようです。他の誰かがこの問題を経験している場合に備えて、ここに投稿します

これは、vagrantを使用する場合の現在の「最新の」シェフビルドのバグです。

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

この問題に関する最後のコメントはエラーを解決します。

2
Jay Kravetz