diff --git a/lib/fog/aws/models/compute/server.rb b/lib/fog/aws/models/compute/server.rb index 4d68be397..9bbf6123e 100644 --- a/lib/fog/aws/models/compute/server.rb +++ b/lib/fog/aws/models/compute/server.rb @@ -202,7 +202,7 @@ module Fog end # wait for aws to be ready - wait_for { sshable? } + wait_for { sshable?(credentials) } Fog::SSH.new(public_ip_address, username, credentials).run(commands) end diff --git a/lib/fog/compute/models/server.rb b/lib/fog/compute/models/server.rb index a66c20208..4522d99a1 100644 --- a/lib/fog/compute/models/server.rb +++ b/lib/fog/compute/models/server.rb @@ -62,8 +62,8 @@ module Fog 22 end - def sshable? - ready? && !public_ip_address.nil? && !!Timeout::timeout(8) { ssh 'pwd' } + def sshable?(options={}) + ready? && !public_ip_address.nil? && !!Timeout::timeout(8) { ssh('pwd', options) } rescue SystemCallError, Net::SSH::AuthenticationFailed, Timeout::Error false end diff --git a/lib/fog/glesys/models/compute/server.rb b/lib/fog/glesys/models/compute/server.rb index f1b5edb3a..3e1e141c1 100644 --- a/lib/fog/glesys/models/compute/server.rb +++ b/lib/fog/glesys/models/compute/server.rb @@ -87,13 +87,13 @@ module Fog commands << %{echo "#{public_key}" >> ~/.ssh/authorized_keys} end - # wait for aws to be ready - wait_for { sshable? } - if credentials[:password].nil? && !rootpassword.nil? credentials[:password] = rootpassword end + # wait for glesys to be ready + wait_for { sshable?(credentials) } + Fog::SSH.new(public_ip_address, username, credentials).run(commands) end