conexión a la red :: SSH falla de un trabajo en el interior del resque
-
04-10-2019 - |
Pregunta
tengo una aplicación que crea conjuntos EC2 instancias - Tengo una tarea resque que configurar el servidor (por ssh) una vez que esté en funcionamiento:
Net::SSH.start(server.dns_name, 'root', :keys => ['~/.ssh/testkey.pem'], :paranoid => false, :verbose => :debug) do |ssh|
result = ssh.exec!("ls -l")
puts result
end
Me sale un error:
*** (Job{serverbuild} | ServerBuilder | [22]) failed: #<Errno::ECONNREFUSED: Connection refused - connect(2)>
Si me quedo esto desde IRB, o rieles de mi aplicación, es conecta muy bien. ¿Alguna idea?
Solución
Es un problema de tiempo - las instancias de EC2 son "arriba" antes de que la aceptará solicitudes de ssh. Rescaté el error vuelve a intentar de nuevo en 20 segundos (hasta 5 veces). trabajando ahora.
begin
Net::SSH.start(server.dns_name.to_s, 'root', :keys => ['/Users/stevebrewer/.ssh/testkey.pem'], :paranoid => false) do |ssh|
result = ssh.exec!("ls -la")
puts result
end
rescue
if(retries < 5)
Resque.enqueue_at(20.seconds.from_now, ServerBuilder, server_id, retries + 1)
end
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow