Я создал шеф-сервер на виртуальной машине (192.168.0.21). Сервер нормально работает по https (это последняя версия с сайта opscode).
knife user list
(и другие команды списка) работают нормально, возвращая правильные результаты (все пользователи / узлы / клиенты. Новые пользователи отображаются нормально).
когда я пытаюсь загрузить кулинарную книгу на сервер, я получаю такую ошибку:
Ошибка сети: getaddrinfo: имя или служба неизвестны. Проверьте конфигурацию ножа и настройки сети.
или эта более длинная ошибка:
ОШИБКА: ошибка сети: getaddrinfo: имя или служба неизвестны. Проверьте конфигурацию ножа и настройки сети /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
открыть 'из /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:inblock in connect' from /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:69:in
тайм-аут 'из /opt/chef/embedded/lib/ruby/1.9.1/timeout.rb:100:intimeout' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:763:in
подключиться из /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:756:indo_start' from /opt/chef/embedded/lib/ruby/1.9.1/net/http.rb:745:in
start 'из /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:172:intransmit' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in
выполнить 'из /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/request.rb:33:inexecute' from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/rest-client-1.6.7/lib/restclient/resource.rb:76:in
поместите 'из /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:153:inblock 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
вызов 'из /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:25:inblock (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 'из /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.8.0/lib/chef/cookbook_uploader.rb:24:in `block (2 уровня) в setup_worker_threads'
файл knife.rb:
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" ]
Поскольку другие команды для сервера работают, я не могу понять эту проблему.
похоже, что это ошибка сервера. Полное доменное имя сервера должно быть установлено на стороне сервера.
/etc/hostname
, например, yourhost.dyndns.org
hostname -F /etc/hostname
вот и все
Возможно, вы столкнулись со странной ошибкой либо в Chef, либо в его базовой библиотеке rest-client.
В Chef 11.10.alpha это могло быть заменено / исправлено уже.
Вы также можете попробовать указать фактический порт в knife.rb
, вот так:
chef_server_url 'https://192.168.0.21:443'
Это может помочь текущей библиотеке правильно интерпретировать местоположение.