{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/91828501","pull_request_review_id":12341705,"id":91828501,"diff_hunk":"@@ -393,6 +393,10 @@ func (c *awsElasticBlockStoreUnmounter) TearDown() error {\n \n // Unmounts the bind mount\n func (c *awsElasticBlockStoreUnmounter) TearDownAt(dir string) error {\n+\tif _, err := os.Stat(dir); os.IsNotExist(err) {","path":"pkg/volume/aws_ebs/aws_ebs.go","position":4,"original_position":4,"commit_id":"382dc7befc08884aa958c26934b1f127d9dac764","original_commit_id":"382dc7befc08884aa958c26934b1f127d9dac764","user":{"login":"saad-ali","id":10052848,"avatar_url":"https://avatars.githubusercontent.com/u/10052848?v=3","gravatar_id":"","url":"https://api.github.com/users/saad-ali","html_url":"https://github.com/saad-ali","followers_url":"https://api.github.com/users/saad-ali/followers","following_url":"https://api.github.com/users/saad-ali/following{/other_user}","gists_url":"https://api.github.com/users/saad-ali/gists{/gist_id}","starred_url":"https://api.github.com/users/saad-ali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saad-ali/subscriptions","organizations_url":"https://api.github.com/users/saad-ali/orgs","repos_url":"https://api.github.com/users/saad-ali/repos","events_url":"https://api.github.com/users/saad-ali/events{/privacy}","received_events_url":"https://api.github.com/users/saad-ali/received_events","type":"User","site_admin":false},"body":"The behavior of most of the `TearDownAt(...)` method for most volumes is identical, and it is implemented correctly in the common `volume/util` file (See `UnmountPath(...)` in https://github.com/kubernetes/kubernetes/blob/master/pkg/volume/util/util.go#L72). So instead of having it duplicated (with possible bugs like this, check all the existing `TearDownAt(...)` implementations, if they are not doing anything special/custom, just call the common util `UnmountPath(...)` method instead.","created_at":"2016-12-10T04:18:10Z","updated_at":"2016-12-10T04:38:40Z","html_url":"https://github.com/kubernetes/kubernetes/pull/38547#discussion_r91828501","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/91828501"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/38547#discussion_r91828501"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547","id":97408202,"html_url":"https://github.com/kubernetes/kubernetes/pull/38547","diff_url":"https://github.com/kubernetes/kubernetes/pull/38547.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/38547.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/38547","number":38547,"state":"open","locked":false,"title":"Unmount operation should not fail if volume is already unmounted","user":{"login":"rkouj","id":22875497,"avatar_url":"https://avatars.githubusercontent.com/u/22875497?v=3","gravatar_id":"","url":"https://api.github.com/users/rkouj","html_url":"https://github.com/rkouj","followers_url":"https://api.github.com/users/rkouj/followers","following_url":"https://api.github.com/users/rkouj/following{/other_user}","gists_url":"https://api.github.com/users/rkouj/gists{/gist_id}","starred_url":"https://api.github.com/users/rkouj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkouj/subscriptions","organizations_url":"https://api.github.com/users/rkouj/orgs","repos_url":"https://api.github.com/users/rkouj/repos","events_url":"https://api.github.com/users/rkouj/events{/privacy}","received_events_url":"https://api.github.com/users/rkouj/received_events","type":"User","site_admin":false},"body":"**What this PR does / why we need it**:\r\nIf the volume is already unmounted from the pod, another unmount operation should not fail.\r\n\r\nfixes:  https://github.com/kubernetes/kubernetes/issues/37657\r\n","created_at":"2016-12-10T01:48:11Z","updated_at":"2016-12-10T04:38:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"434cd6aa5e88d491a0675d18c3fc02760dc61cb0","assignee":{"login":"saad-ali","id":10052848,"avatar_url":"https://avatars.githubusercontent.com/u/10052848?v=3","gravatar_id":"","url":"https://api.github.com/users/saad-ali","html_url":"https://github.com/saad-ali","followers_url":"https://api.github.com/users/saad-ali/followers","following_url":"https://api.github.com/users/saad-ali/following{/other_user}","gists_url":"https://api.github.com/users/saad-ali/gists{/gist_id}","starred_url":"https://api.github.com/users/saad-ali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saad-ali/subscriptions","organizations_url":"https://api.github.com/users/saad-ali/orgs","repos_url":"https://api.github.com/users/saad-ali/repos","events_url":"https://api.github.com/users/saad-ali/events{/privacy}","received_events_url":"https://api.github.com/users/saad-ali/received_events","type":"User","site_admin":false},"assignees":[{"login":"saad-ali","id":10052848,"avatar_url":"https://avatars.githubusercontent.com/u/10052848?v=3","gravatar_id":"","url":"https://api.github.com/users/saad-ali","html_url":"https://github.com/saad-ali","followers_url":"https://api.github.com/users/saad-ali/followers","following_url":"https://api.github.com/users/saad-ali/following{/other_user}","gists_url":"https://api.github.com/users/saad-ali/gists{/gist_id}","starred_url":"https://api.github.com/users/saad-ali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saad-ali/subscriptions","organizations_url":"https://api.github.com/users/saad-ali/orgs","repos_url":"https://api.github.com/users/saad-ali/repos","events_url":"https://api.github.com/users/saad-ali/events{/privacy}","received_events_url":"https://api.github.com/users/saad-ali/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/38547/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/382dc7befc08884aa958c26934b1f127d9dac764","head":{"label":"rkouj:make-unmount-operation-idempotent","ref":"make-unmount-operation-idempotent","sha":"382dc7befc08884aa958c26934b1f127d9dac764","user":{"login":"rkouj","id":22875497,"avatar_url":"https://avatars.githubusercontent.com/u/22875497?v=3","gravatar_id":"","url":"https://api.github.com/users/rkouj","html_url":"https://github.com/rkouj","followers_url":"https://api.github.com/users/rkouj/followers","following_url":"https://api.github.com/users/rkouj/following{/other_user}","gists_url":"https://api.github.com/users/rkouj/gists{/gist_id}","starred_url":"https://api.github.com/users/rkouj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkouj/subscriptions","organizations_url":"https://api.github.com/users/rkouj/orgs","repos_url":"https://api.github.com/users/rkouj/repos","events_url":"https://api.github.com/users/rkouj/events{/privacy}","received_events_url":"https://api.github.com/users/rkouj/received_events","type":"User","site_admin":false},"repo":{"id":71492225,"name":"kubernetes","full_name":"rkouj/kubernetes","owner":{"login":"rkouj","id":22875497,"avatar_url":"https://avatars.githubusercontent.com/u/22875497?v=3","gravatar_id":"","url":"https://api.github.com/users/rkouj","html_url":"https://github.com/rkouj","followers_url":"https://api.github.com/users/rkouj/followers","following_url":"https://api.github.com/users/rkouj/following{/other_user}","gists_url":"https://api.github.com/users/rkouj/gists{/gist_id}","starred_url":"https://api.github.com/users/rkouj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkouj/subscriptions","organizations_url":"https://api.github.com/users/rkouj/orgs","repos_url":"https://api.github.com/users/rkouj/repos","events_url":"https://api.github.com/users/rkouj/events{/privacy}","received_events_url":"https://api.github.com/users/rkouj/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rkouj/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":true,"url":"https://api.github.com/repos/rkouj/kubernetes","forks_url":"https://api.github.com/repos/rkouj/kubernetes/forks","keys_url":"https://api.github.com/repos/rkouj/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rkouj/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rkouj/kubernetes/teams","hooks_url":"https://api.github.com/repos/rkouj/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/rkouj/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/rkouj/kubernetes/events","assignees_url":"https://api.github.com/repos/rkouj/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/rkouj/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/rkouj/kubernetes/tags","blobs_url":"https://api.github.com/repos/rkouj/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rkouj/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rkouj/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/rkouj/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rkouj/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/rkouj/kubernetes/languages","stargazers_url":"https://api.github.com/repos/rkouj/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/rkouj/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/rkouj/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/rkouj/kubernetes/subscription","commits_url":"https://api.github.com/repos/rkouj/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/rkouj/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/rkouj/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/rkouj/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/rkouj/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/rkouj/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rkouj/kubernetes/merges","archive_url":"https://api.github.com/repos/rkouj/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rkouj/kubernetes/downloads","issues_url":"https://api.github.com/repos/rkouj/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/rkouj/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/rkouj/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/rkouj/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rkouj/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/rkouj/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/rkouj/kubernetes/deployments","created_at":"2016-10-20T18:28:46Z","updated_at":"2016-10-20T18:29:23Z","pushed_at":"2016-12-10T02:25:02Z","git_url":"git://github.com/rkouj/kubernetes.git","ssh_url":"git@github.com:rkouj/kubernetes.git","clone_url":"https://github.com/rkouj/kubernetes.git","svn_url":"https://github.com/rkouj/kubernetes","homepage":"http://kubernetes.io","size":368623,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"591a0b1e04cb7b61c06e4d0c839b3821e047db0e","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars.githubusercontent.com/u/13629408?v=3","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":false,"url":"https://api.github.com/repos/kubernetes/kubernetes","forks_url":"https://api.github.com/repos/kubernetes/kubernetes/forks","keys_url":"https://api.github.com/repos/kubernetes/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/kubernetes/teams","hooks_url":"https://api.github.com/repos/kubernetes/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/kubernetes/events","assignees_url":"https://api.github.com/repos/kubernetes/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/kubernetes/tags","blobs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/kubernetes/languages","stargazers_url":"https://api.github.com/repos/kubernetes/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/kubernetes/subscription","commits_url":"https://api.github.com/repos/kubernetes/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/kubernetes/merges","archive_url":"https://api.github.com/repos/kubernetes/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/kubernetes/downloads","issues_url":"https://api.github.com/repos/kubernetes/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/kubernetes/deployments","created_at":"2014-06-06T22:56:04Z","updated_at":"2016-12-10T03:45:19Z","pushed_at":"2016-12-10T04:06:56Z","git_url":"git://github.com/kubernetes/kubernetes.git","ssh_url":"git@github.com:kubernetes/kubernetes.git","clone_url":"https://github.com/kubernetes/kubernetes.git","svn_url":"https://github.com/kubernetes/kubernetes","homepage":"http://kubernetes.io","size":665107,"stargazers_count":19051,"watchers_count":19051,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6339,"mirror_url":null,"open_issues_count":5362,"forks":6339,"open_issues":5362,"watchers":19051,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/38547"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/38547"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/38547/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/38547/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/382dc7befc08884aa958c26934b1f127d9dac764"}}}}
{"actor":{"display_login":"saad-ali"}}