Posted at

Cygwinのknife solo cookがconnection closed by remote hostでコケル件

More than 5 years have passed since last update.

Windows版のChef-DKが出れば意味がなくなると思うのですが。

cygwinでknife soloを実行したところ以下のようなエラーが出ました。

$ knife solo cook sample

Running Chef on sample...
Checking Chef version...
Uploading the kitchen...
ERROR: Net::SSH::Disconnect: connection closed by remote host

こちらで報告されている事象のようです。

https://github.com/matschaffer/knife-solo/issues/332

knife-soloが0.4.1では以下のようなワークアラウンドが紹介されていました。

https://github.com/keeruline/knife-solo/commit/d57894b671fa25a791d8302e2ada7b6be2d7d72f

0.4.2では該当コードが編集されておりましたが、不具合はまだ直っていないようです。

よくわからないのですが、以下のようにコメントアウトしたら動きました。

$ vi /usr/lib/ruby/gems/1.9.1/gems/knife-solo-0.4.2/lib/knife-solo/ssh_connection.rb


solo/ssh_connection.rb

    def session(&block)

+# @session ||= begin
- @session ||= begin
if connection_options[:gateway]
co = connection_options
gw_user,gw = co.delete(:gateway).split '@'
Net::SSH::Gateway.new(gw, gw_user).ssh(host, user, co, &block)
else
Net::SSH.start(host, user, connection_options, &block)
end
+# end
- end
end