From 7c7b308b383ec5381968775cafb86bb4c16236a6 Mon Sep 17 00:00:00 2001 From: Anshul Khandelwal Date: Wed, 6 Mar 2013 22:01:16 +0530 Subject: [PATCH 1/2] sshable should take the same options as ssh --- lib/fog/compute/models/server.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From e4884d8f51f36a37d6f219de315ffae6e16d1e88 Mon Sep 17 00:00:00 2001 From: Anshul Khandelwal Date: Wed, 6 Mar 2013 22:11:34 +0530 Subject: [PATCH 2/2] [aws][glesys] Pass credentials to sshable --- lib/fog/aws/models/compute/server.rb | 2 +- lib/fog/glesys/models/compute/server.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) 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/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