matschaffer / knife-solo

DEPRECATED: Please consider using https://knife-zero.github.io/, ansible, or visit https://www.chef.io/ for other ideas
MIT License
786 stars 213 forks source link

Incompatible with newer OpenSSL versions #520

Closed autarchprinceps closed 7 years ago

autarchprinceps commented 7 years ago

Knife solo requires net-ssh < 4.0, but that doesn't seem to work with newer openssl versions. Consider updating net-ssh dependency.

Version: net-ssh-3.2.0 OpenSSL 1.1.0f Chef: 13.3.42 knife-solo (0.6.0)

Output: knife solo prepare -VV <user>@<host>
Bootstrapping Chef...
/home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/cipher_factory.rb:97: warning: constant OpenSSL::Cipher::Cipher is deprecated
/home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb:118:in `generate_key': undefined method `p=' for #<OpenSSL::PKey::DH:0x000000033ebcc0> (NoMethodError)
Did you mean?  p
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb:51:in `initialize'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb:362:in `new'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb:362:in `exchange_keys'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb:206:in `proceed!'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb:154:in `accept_kexinit'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:210:in `block in poll_message'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:in `loop'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:188:in `poll_message'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:225:in `block in wait'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:223:in `loop'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:223:in `wait'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:88:in `initialize'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `new'
    from /home/<user>/.gem/ruby/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:in `start'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/knife-solo/ssh_connection.rb:42:in `session'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/knife-solo/ssh_command.rb:153:in `try_connection'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/knife-solo/ssh_command.rb:194:in `detect_authentication_method'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/knife-solo/ssh_command.rb:290:in `run_command'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/chef/knife/solo_prepare.rb:71:in `operating_system'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/chef/knife/solo_prepare.rb:67:in `bootstrap'
    from /home/<user>/.gem/ruby/2.4.0/gems/knife-solo-0.6.0/lib/chef/knife/solo_prepare.rb:57:in `run'
    from /home/<user>/.gem/ruby/2.4.0/gems/chef-13.3.42/lib/chef/knife.rb:442:in `block in run_with_pretty_exceptions'
    from /home/<user>/.gem/ruby/2.4.0/gems/chef-13.3.42/lib/chef/local_mode.rb:44:in `with_server_connectivity'
    from /home/autarch/.gem/ruby/2.4.0/gems/chef-13.3.42/lib/chef/knife.rb:441:in `run_with_pretty_exceptions'
    from /home/<user>/.gem/ruby/2.4.0/gems/chef-13.3.42/lib/chef/knife.rb:219:in `run'
    from /home/<user>/.gem/ruby/2.4.0/gems/chef-13.3.42/lib/chef/application/knife.rb:156:in `run'
    from /home/<user>/.gem/ruby/2.4.0/gems/chef-13.3.42/bin/knife:25:in `<top (required)>'
    from /usr/bin/knife:22:in `load'
    from /usr/bin/knife:22:in `<main>'
matschaffer commented 7 years ago

https://rubygems.org/gems/knife-solo/versions/0.7.0.pre should fix this.