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