auser/poolparty — Issue #98: gem for ruby 1.8 assumes ruby.1.9 popen3
Author: mcqueenorama
Created: 2011-12-27 17:59:09+00:00
State: open

status = Open3.popen3(cmd) do |stdout, stdin, stderr, wait_thr|

pi = [pw[1], pr[0], pe[0]]
pw[1].sync = true
if defined? yield
begin
return yield(*pi)
ensure
pi.each{|p| p.close unless p.closed?}
end
end

I'm not a ruby expert but it looks like the yield is give 3 vars, but pool_party assumes wait_thr is there as a 4th var in the passed block. I see the docs in 1.9's Open3:popen3 show 4 vars, but this 1.8 lib does not supply wait_thr.

Ugly dump:

/usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/connections.rb:157:in `system_run': undefined method `value' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/1.8/open3.rb:87:in `popen3'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/connections.rb:136:in `system_run'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/connections.rb:87:in `ssh_cleanup_known_hosts!'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/connections.rb:85:in `each'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/connections.rb:85:in `ssh_cleanup_known_hosts!'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/ec2/ec2.rb:303:in `cleanup_ssh_known_hosts!'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/ec2/ec2.rb:298:in `each'
from /usr/lib/ruby/gems/1.8/gems/poolparty-1.7.0.pre/bin/../lib/cloud_providers/ec2/ec2.rb:298:in `cleanup_ssh_known_hosts!