web-dev-qa-db-ja.com

シェフのアップロードクックブックがネットワークエラーで失敗しました

仮想マシン(192.168.0.21)上にchefサーバーを作成しました。サーバーは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 open '/opt/chef/embedded/lib/Ruby/1.9.1/timeoutから/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'から。 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 ` setup_worker_threadsのブロック(2レベル) '

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" ]
_

サーバーへの他のコマンドが機能しているので、その問題に指をかけることはできません。

3
donald

サーバーの障害のようです。サーバーFQDNはサーバー側で設定する必要があります。

  1. 編集/etc/hostname、たとえばyourhost.dyndns.org
  2. 実行:hostname -F /etc/hostname

それで全部です

2
donald

Chefまたはその基盤となるライブラリであるrest-clientのいずれかで奇妙なバグに遭遇した可能性があります。

Chef 11.10.alphaでは、これはすでに 置換/修正 されている可能性があります。

次のように、実際のポートをknife.rbで指定することもできます。

chef_server_url          'https://192.168.0.21:443'

これは、現在のライブラリが場所を正しく解釈するのに役立つ場合があります。

0
Mike Fiedler