class Fog::Compute::RackspaceV2::Server
Public Instance Methods
setup(credentials = {})
click to toggle source
# File lib/core/mod/fog_rackspace_server.rb 6 def setup(credentials = {}) 7 requires :ssh_ip_address, :identity, :public_key, :username 8 9 commands = [ 10 %{mkdir .ssh}, 11 %{echo "#{public_key}" >> ~/.ssh/authorized_keys}, 12 password_lock, 13 %{echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json}, 14 %{echo "#{Fog::JSON.encode(metadata)}" >> ~/metadata.json} 15 ] 16 commands.compact 17 18 @password = nil if password_lock 19 20 Fog::SSH.new(ssh_ip_address, username, credentials).run(commands) 21 22 rescue Errno::ECONNREFUSED, Net::SSH::Disconnect 23 sleep(1) 24 retry 25 end