{"action":"created","issue":{"url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/139","labels_url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/139/labels{/name}","comments_url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/139/comments","events_url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/139/events","html_url":"https://github.com/jenkinsci/ec2-plugin/pull/139","id":60791769,"number":139,"title":"[WiP] Launch slave agent via ssh client process","user":{"login":"tfennelly","id":429311,"avatar_url":"https://avatars.githubusercontent.com/u/429311?v=3","gravatar_id":"","url":"https://api.github.com/users/tfennelly","html_url":"https://github.com/tfennelly","followers_url":"https://api.github.com/users/tfennelly/followers","following_url":"https://api.github.com/users/tfennelly/following{/other_user}","gists_url":"https://api.github.com/users/tfennelly/gists{/gist_id}","starred_url":"https://api.github.com/users/tfennelly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfennelly/subscriptions","organizations_url":"https://api.github.com/users/tfennelly/orgs","repos_url":"https://api.github.com/users/tfennelly/repos","events_url":"https://api.github.com/users/tfennelly/events{/privacy}","received_events_url":"https://api.github.com/users/tfennelly/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":33,"created_at":"2015-03-12T09:32:51Z","updated_at":"2015-04-20T13:57:06Z","closed_at":"2015-04-11T20:20:32Z","pull_request":{"url":"https://api.github.com/repos/jenkinsci/ec2-plugin/pulls/139","html_url":"https://github.com/jenkinsci/ec2-plugin/pull/139","diff_url":"https://github.com/jenkinsci/ec2-plugin/pull/139.diff","patch_url":"https://github.com/jenkinsci/ec2-plugin/pull/139.patch"},"body":"We (at CloudBees) encountered a situation where the SSH connection would be mysteriously lost between the master and a slave agent running on EC2. This usually happened during long running jobs but we were unable to track down the root cause of the problem. How we worked around it was to make a change to the EC2 plugin (the changes in this PR) such that the plugin would connect to the slave agent via an external ssh client process that the plugin would launch (Vs using the Trilead lib).\r\n\r\nThings that probably need to be resolved:\r\n\r\n* This new option will only work where the master has an SSH client installed. Is it OK to just call this out as a limitation in `help-connectBySSHProcess.html`, or should we perform some runtime checks before offering it. The later would obviously be best but might not be easy to do it reliably.\r\n* The only way I could see to get the config option in was to put it on the `SlaveTemplate`. The only way I could get at \"a\" `SlaveTemplate` in `EC2UnixLauncher` was via `computer.getCloud().getTemplates().get(0);`. This feels all wrong to me though. \r\n\r\nAdded config option (checkbox in the advanced section) to allow switching between original in-process SSH and this external SSH process."},"comment":{"url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/comments/94457723","html_url":"https://github.com/jenkinsci/ec2-plugin/pull/139#issuecomment-94457723","issue_url":"https://api.github.com/repos/jenkinsci/ec2-plugin/issues/139","id":94457723,"user":{"login":"tfennelly","id":429311,"avatar_url":"https://avatars.githubusercontent.com/u/429311?v=3","gravatar_id":"","url":"https://api.github.com/users/tfennelly","html_url":"https://github.com/tfennelly","followers_url":"https://api.github.com/users/tfennelly/followers","following_url":"https://api.github.com/users/tfennelly/following{/other_user}","gists_url":"https://api.github.com/users/tfennelly/gists{/gist_id}","starred_url":"https://api.github.com/users/tfennelly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tfennelly/subscriptions","organizations_url":"https://api.github.com/users/tfennelly/orgs","repos_url":"https://api.github.com/users/tfennelly/repos","events_url":"https://api.github.com/users/tfennelly/events{/privacy}","received_events_url":"https://api.github.com/users/tfennelly/received_events","type":"User","site_admin":false},"created_at":"2015-04-20T13:57:06Z","updated_at":"2015-04-20T13:57:06Z","body":"@francisu Hey Francis, I assume you were ok with the questions I raised then? Was how I did the config OK? It seemed a bit clunky to me, but I couldn't see a better way at the time.\r\n\r\n@cyrus-one Did you see my last message to you in this thread?"}}