Chef upload cookbook failed with network error

chefcookbookknife

I've created a chef server on a virtual machine (192.168.0.21).
The server runs fine on https (this is the last version from the opscode site).

knife user list (and the other list commands) run fine, returning the right results (all the users/nodes/clients. new users shows just fine).

when I'm trying to upload a cookbook to the server, I'm getting this error:

Network Error: getaddrinfo: Name or service not known
Check your knife configuration and network settings

or this longer error:

ERROR: Network Error: getaddrinfo: Name or service not known
Check your knife configuration and network settings
/opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in initialize': getaddrinfo: Name or service not known (SocketError)
from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
open'
from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in block in connect'
from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:in
timeout'
from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:100:in timeout'
from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
connect'
from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:756:in do_start'
from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in
start'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in transmit'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in
execute'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in execute'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:in
put'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:153:in block in uploader_function_for'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:in
call'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:in block (3 levels) in setup_worker_threads'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in
loop'
from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in `block (2 levels) in setup_worker_threads'

the knife.rb file:

log_level                :info
log_location             STDOUT
node_name                'dony'
client_key               '/home/dony/.chef/dony.pem'
validation_client_name   'chef-validator'
validation_key           '/home/dony/Documents/cd/cv.pem'
chef_server_url          'https://192.168.0.21'
syntax_check_cache_path  '/home/dony/.chef/syntax_check_cache'
cookbook_path   [ "/home/dony/Documents/chef" ]

Since other commands to the server are working, I can't put my finger on that issue.

Best Answer

it appears that it is the server fault. server FQDN should be set on the server side.

  1. edit /etc/hostname, to e.g. yourhost.dyndns.org
  2. run: hostname -F /etc/hostname

thats all