On Saturday, May 2, 2015 at 2:41 PM, Christine Draper wrote:
> I'm getting the following using chef-client 12.3 with chef-zero 4.2.1:
>
> ERROR: No socketless chef-zero server on given port 8889
First, a bit of background on the socketless Chef Zero stuff. In any version of Chef with local mode, when you run `chef-client -z` or `knife -z`, it runs some code that asks Chef Zero to start, and then asks Chef Zero what URL to use to connect to it. It then sets `Chef::Config[:chef_server_url]` to the given URL. Before Chef 12.3, this URL would be http://localhost:8889 (usually). In Chef 12.3, socketless mode was introduced. Chef Zero still runs in a background thread and listens for connections on localhost:8889 by default (unless you use the `—no-listen` option), but internally chef/knife will ask Chef Zero for a “socktless mode URL”, which will be something like “chefzero://localhost:8889”. When Chef/knife makes an HTTP request, it checks the URL scheme, and if it’s “chefzero” then it follows a different code path to make the “request” just by calling ruby code and not actually using HTTP.
>
> I have a centos VM running under Vagrant, on a private network. I then run chef-zero on the same private network:
>
> chef-zero -H 10.0.5.1
>
> And use knife to bootstrap. The run fails when trying to create the client with the following stacktrace:
>
> ChefZero::ServerNotFound: No socketless chef-zero server on given port 8889
What are the exact arguments you’re using with `knife bootstrap` ? Based on the behavior you’re seeing, it does seem like you’re running `knife bootstrap` with local mode enabled. But then I am confused about how this would have worked before, since the chef_server_url for knife would have to have been http://localhost:8889. But that doesn’t make sense because then how would chef-client on the bootstrap machine talk to the other chef-zero you’re spinning up?
> /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.2.1/lib/chef_zero/socketless_server_map.rb:78:in `request'
> /opt/chef/embedded/lib/ruby/gems/2.1.0/gems/chef-zero-4.2.1/lib/chef_zero/socketless_server_map.rb:33:in `request'
> /opt/chef/embedded/apps/chef/lib/chef/http/socketless_chef_zero_client.rb:153:in `request'
> <snip>
>
> I tried running chef-client with both --no-listen and --listen, but got the same error in both cases.
>
> Any ideas?
>
> Thanks,
> Christine Draper
Since the socketless operation is a new feature, it’s definitely possible there’s a bug here, but I’ll need to know more about your configuration to see how things are supposed to be working.
Thanks,
--
Daniel DeLeo
Archive powered by MHonArc 2.6.16.