{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/13344","labels_url":"https://api.github.com/repos/ansible/ansible/issues/13344/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/13344/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/13344/events","html_url":"https://github.com/ansible/ansible/pull/13344","id":119292156,"number":13344,"title":"Use connection locking to protect against competing host key prompts","user":{"login":"amenonsen","id":23628,"avatar_url":"https://avatars.githubusercontent.com/u/23628?v=3","gravatar_id":"","url":"https://api.github.com/users/amenonsen","html_url":"https://github.com/amenonsen","followers_url":"https://api.github.com/users/amenonsen/followers","following_url":"https://api.github.com/users/amenonsen/following{/other_user}","gists_url":"https://api.github.com/users/amenonsen/gists{/gist_id}","starred_url":"https://api.github.com/users/amenonsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amenonsen/subscriptions","organizations_url":"https://api.github.com/users/amenonsen/orgs","repos_url":"https://api.github.com/users/amenonsen/repos","events_url":"https://api.github.com/users/amenonsen/events{/privacy}","received_events_url":"https://api.github.com/users/amenonsen/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ansible/ansible/labels/bugfix_pull_request","name":"bugfix_pull_request","color":"ded270"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ansible/ansible/milestones/5","html_url":"https://github.com/ansible/ansible/milestones/v2","labels_url":"https://api.github.com/repos/ansible/ansible/milestones/5/labels","id":975800,"number":5,"title":"v2","description":null,"creator":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":611,"state":"open","created_at":"2015-02-11T19:43:06Z","updated_at":"2015-12-16T16:41:55Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2015-11-28T12:52:32Z","updated_at":"2015-12-16T16:41:55Z","closed_at":"2015-12-16T16:41:55Z","pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/13344","html_url":"https://github.com/ansible/ansible/pull/13344","diff_url":"https://github.com/ansible/ansible/pull/13344.diff","patch_url":"https://github.com/ansible/ansible/pull/13344.patch"},"body":"We acquire the connection lock before executing ssh, and release it as\r\nsoon as the unknown host key prompt is negotiated, or we can be sure it\r\nwon't be issued at all. This fixes the problem where many prompts pile\r\nup and compete for input.\r\n\r\nUnfortunately, we can only lock against other connections: there's no\r\noutput_lockfile that can prevent output from other subsystems. See the\r\nFIXME note.\r\n\r\nThis problem was the original motivation for PR #12276, but although\r\nthe bulk of that PR was merged, the locking changes were not.\r\n\r\nSubmitted for v2 as requested in #13318"},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/165170088","html_url":"https://github.com/ansible/ansible/pull/13344#issuecomment-165170088","issue_url":"https://api.github.com/repos/ansible/ansible/issues/13344","id":165170088,"user":{"login":"amenonsen","id":23628,"avatar_url":"https://avatars.githubusercontent.com/u/23628?v=3","gravatar_id":"","url":"https://api.github.com/users/amenonsen","html_url":"https://github.com/amenonsen","followers_url":"https://api.github.com/users/amenonsen/followers","following_url":"https://api.github.com/users/amenonsen/following{/other_user}","gists_url":"https://api.github.com/users/amenonsen/gists{/gist_id}","starred_url":"https://api.github.com/users/amenonsen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amenonsen/subscriptions","organizations_url":"https://api.github.com/users/amenonsen/orgs","repos_url":"https://api.github.com/users/amenonsen/repos","events_url":"https://api.github.com/users/amenonsen/events{/privacy}","received_events_url":"https://api.github.com/users/amenonsen/received_events","type":"User","site_admin":false},"created_at":"2015-12-16T16:41:55Z","updated_at":"2015-12-16T16:41:55Z","body":"I'm closing this PR because @jimi-c has an alternative implementation at the strategy level that avoids all the locking problems."}}