{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22791","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22791/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22791/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22791/events","html_url":"https://github.com/kubernetes/kubernetes/pull/22791","id":139877581,"number":22791,"title":"AWS EBS: Remove the attached volumes cache","user":{"login":"justinsb","id":100893,"avatar_url":"https://avatars.githubusercontent.com/u/100893?v=3","gravatar_id":"","url":"https://api.github.com/users/justinsb","html_url":"https://github.com/justinsb","followers_url":"https://api.github.com/users/justinsb/followers","following_url":"https://api.github.com/users/justinsb/following{/other_user}","gists_url":"https://api.github.com/users/justinsb/gists{/gist_id}","starred_url":"https://api.github.com/users/justinsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinsb/subscriptions","organizations_url":"https://api.github.com/users/justinsb/orgs","repos_url":"https://api.github.com/users/justinsb/repos","events_url":"https://api.github.com/users/justinsb/events{/privacy}","received_events_url":"https://api.github.com/users/justinsb/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/platform/aws","name":"area/platform/aws","color":"d4c5f9"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cherrypick-candidate","name":"cherrypick-candidate","color":"fef2c0"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/P1","name":"priority/P1","color":"eb6420"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/M","name":"size/M","color":"eebb00"}],"state":"open","locked":false,"assignee":{"login":"brendandburns","id":5751682,"avatar_url":"https://avatars.githubusercontent.com/u/5751682?v=3","gravatar_id":"","url":"https://api.github.com/users/brendandburns","html_url":"https://github.com/brendandburns","followers_url":"https://api.github.com/users/brendandburns/followers","following_url":"https://api.github.com/users/brendandburns/following{/other_user}","gists_url":"https://api.github.com/users/brendandburns/gists{/gist_id}","starred_url":"https://api.github.com/users/brendandburns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brendandburns/subscriptions","organizations_url":"https://api.github.com/users/brendandburns/orgs","repos_url":"https://api.github.com/users/brendandburns/repos","events_url":"https://api.github.com/users/brendandburns/events{/privacy}","received_events_url":"https://api.github.com/users/brendandburns/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/15","html_url":"https://github.com/kubernetes/kubernetes/milestones/v1.2","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/15/labels","id":1278499,"number":15,"title":"v1.2","description":"https://github.com/kubernetes/kubernetes/wiki/Release-1.2","creator":{"login":"bgrant0607","id":7725777,"avatar_url":"https://avatars.githubusercontent.com/u/7725777?v=3","gravatar_id":"","url":"https://api.github.com/users/bgrant0607","html_url":"https://github.com/bgrant0607","followers_url":"https://api.github.com/users/bgrant0607/followers","following_url":"https://api.github.com/users/bgrant0607/following{/other_user}","gists_url":"https://api.github.com/users/bgrant0607/gists{/gist_id}","starred_url":"https://api.github.com/users/bgrant0607/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bgrant0607/subscriptions","organizations_url":"https://api.github.com/users/bgrant0607/orgs","repos_url":"https://api.github.com/users/bgrant0607/repos","events_url":"https://api.github.com/users/bgrant0607/events{/privacy}","received_events_url":"https://api.github.com/users/bgrant0607/received_events","type":"User","site_admin":false},"open_issues":99,"closed_issues":732,"state":"open","created_at":"2015-08-29T03:54:16Z","updated_at":"2016-03-11T10:57:10Z","due_on":"2016-03-14T07:00:00Z","closed_at":null},"comments":3,"created_at":"2016-03-10T12:52:12Z","updated_at":"2016-03-11T11:09:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/22791","html_url":"https://github.com/kubernetes/kubernetes/pull/22791","diff_url":"https://github.com/kubernetes/kubernetes/pull/22791.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/22791.patch"},"body":"There are known issues with the attached-volume state cache that just aren't\r\npossible to fix with the current interface.\r\n\r\nReplace it with a map of the active attach jobs (that was the original\r\nrequirement, to avoid a nasty race condition).\r\n\r\nThis costs us an extra DescribeInstance call on attach/detach, but that\r\nseems worth it if it ends this class of bugs.\r\n\r\nFix #15073"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/195323098","html_url":"https://github.com/kubernetes/kubernetes/pull/22791#issuecomment-195323098","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/22791","id":195323098,"user":{"login":"jsafrane","id":1745006,"avatar_url":"https://avatars.githubusercontent.com/u/1745006?v=3","gravatar_id":"","url":"https://api.github.com/users/jsafrane","html_url":"https://github.com/jsafrane","followers_url":"https://api.github.com/users/jsafrane/followers","following_url":"https://api.github.com/users/jsafrane/following{/other_user}","gists_url":"https://api.github.com/users/jsafrane/gists{/gist_id}","starred_url":"https://api.github.com/users/jsafrane/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsafrane/subscriptions","organizations_url":"https://api.github.com/users/jsafrane/orgs","repos_url":"https://api.github.com/users/jsafrane/repos","events_url":"https://api.github.com/users/jsafrane/events{/privacy}","received_events_url":"https://api.github.com/users/jsafrane/received_events","type":"User","site_admin":false},"created_at":"2016-03-11T11:09:22Z","updated_at":"2016-03-11T11:09:22Z","body":"I like this approach, the code looks solid too. Still, I have one observation: sometimes AWS can't attach a volume and returns error instead. So, the volume will never reach \"attached\" state and it will remain in `self.attaching` map forever. IMO it would be nice to check if the volume state is attaching/detaching and do some cleanup if not. I don't remember how is the state called, it happens really seldom.\r\n\r\nAlternatively, if the volume is \"attaching\" for ~10 minutes, we should force-detach it and try again."}}