def execute(command)
@command = command
config = ssh_config(@network, @credentials, @key)
username = (@credentials[:username]) ? @credentials[:username] : 'root'
begin
session = nil
Timeout::timeout(20) do
session = Net::SSH.start(@network.ip, username, config)
end
session.open_channel do |channel|
channel.on_data do |ch, data|
@result += data
end
channel.exec(command)
session.loop
end
session.close
rescue Exception => e
raise InstanceSSHError.new("#{e.class.name}: #{e.message}")
ensure
end
Deltacloud::Runner::Response.new(self, @result)
end