McGin
McGin

Reputation: 1391

Http 404 error using Hosted Chef and Vagrant

I’m trying to get started with Chef and Vagrant and Chef is experiencing a 404 Http error when I launch the vagrant instance, full output is shown below. Does anyone have any idea?

[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

The contents of my vagrant file:

# -*- 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

Upvotes: 0

Views: 1037

Answers (1)

paulmooring
paulmooring

Reputation: 81

That's the error you should get when you've typed the chef_server_url wrong. For example if you put:

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

Note the www instead of API, you would get that error. Had there not been a valid server to return a 404 you would get another error (probably name resolution if it's from a typo). Check the /tmp/vagrant-chef-1/client.rb file to verify it has the right URL, and double check your Vagrantfile to be sure you're using the right url.

Upvotes: 2

Related Questions