2012-06-23 60 views
0

我試圖開始與廚師和流浪漢和廚師遇到404 Http錯誤,當我啓動流浪實例,完整的輸出顯示如下。有人有什麼主意嗎?Http 404錯誤使用託管廚師和流浪狗

[default] VM already created. Booting if it's not already running... 
[default] Clearing any previously set forwarded ports... 
[default] Forwarding ports... 
[default] -- 22 => 2222 (adapter 1) 
[default] -- 3000 => 3000 (adapter 1) 
[default] Creating shared folders metadata... 
[default] Clearing any previously set network interfaces... 
[default] Booting VM... 
[default] Waiting for VM to boot. This can take a few minutes. 
[default] VM booted and ready for use! 
[default] Mounting shared folders... 
[default] -- v-root: /vagrant 
[default] Running provisioner: Vagrant::Provisioners::ChefClient... 
[default] Creating folder to hold client key... 
[default] Uploading chef client validation key... 
[default] Generating chef JSON and uploading... 
[default] Running chef-client... 
stdin: is not a tty 
[Sat, 23 Jun 2012 04:46:51 -0700] INFO: Starting Chef Run 
/usr/lib/ruby/1.8/net/http.rb:2101:in `error!' 
: 
404 "Not Found" 
(
Net::HTTPServerException 
) 
     from /usr/lib/ruby/1.8/chef/rest.rb:233:in `run_request' 
     from /usr/lib/ruby/1.8/chef/rest.rb:95:in `post_rest' 
     from /usr/lib/ruby/1.8/chef/client.rb:221:in `create_registration' 
     from /usr/lib/ruby/1.8/chef/client.rb:199:in `register' 
     from /usr/lib/ruby/1.8/chef/client.rb:73:in `run' 
     from /usr/lib/ruby/1.8/chef/application/client.rb:186:in `run_application' 
     from /usr/lib/ruby/1.8/chef/application/client.rb:178:in `loop' 
     from /usr/lib/ruby/1.8/chef/application/client.rb:178:in `run_application' 
     from /usr/lib/ruby/1.8/chef/application.rb:57:in `run' 
     from /usr/bin/chef-client:25 
The following SSH command responded with a non-zero exit status. 
Vagrant assumes that this means the command failed! 

chef-client -c /tmp/vagrant-chef-1/client.rb -j /tmp/vagrant-chef-1/dna.json 

我遊民文件的內容:

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant::Config.run do |config| 
    config.vm.box = "lucid32-rvm-ruby193" 
    config.vm.forward_port 3000, 3000 
    config.vm.provision :chef_client do |chef| 
    chef.chef_server_url = "https://api.opscode.com/organizations/xxx" 
    chef.validation_key_path = "xxx-validator.pem" 
    chef.validation_client_name = "xxx-validator" 
    end 

end 
+0

如果你將'vagrant ssh'加入虛擬機,你可以ping'https:// api.opscode.com/organizations/xxx'嗎? –

+0

您是否找到解決此問題的解決方案?請不要忘記標記答案是正確的! :) – sethvargo

回答

2

這就是當你輸入的chef_server_url錯了,你應該得到的錯誤。例如,如果你把:

chef.chef_server_url = "https://www.opscode.com/organizations/xxx" 

注www而不是API,你會得到這個錯誤。如果沒有有效的服務器返回404,你會得到另一個錯誤(如果是來自錯字,可能是名稱解析)。檢查/tmp/vagrant-chef-1/client.rb文件以確認它具有正確的URL,並仔細檢查您的Vagrantfile以確保您使用的是正確的URL。

+0

這是正確的答案:)。 – sethvargo