{"action":"created","comment":{"url":"https://api.github.com/repos/coreos/etcd-operator/pulls/comments/86690260","pull_request_review_id":7336076,"id":86690260,"diff_hunk":"@@ -70,26 +71,29 @@ func createAndWaitPVC(kubecli *unversioned.Client, clusterName, ns string, volum\n \t\t\t},\n \t\t},\n \t}\n-\tretClaim, err := kubecli.PersistentVolumeClaims(ns).Create(claim)\n+\t_, err := kubecli.PersistentVolumeClaims(ns).Create(claim)\n \tif err != nil {\n-\t\treturn nil, err\n+\t\tif !IsKubernetesResourceAlreadyExistError(err) {\n+\t\t\treturn nil, err\n+\t\t}\n \t}\n \n+\tvar retClaim *api.PersistentVolumeClaim\n \terr = wait.Poll(2*time.Second, 10*time.Second, func() (bool, error) {\n-\t\tclaim, err := kubecli.PersistentVolumeClaims(ns).Get(retClaim.Name)\n+\t\tvar err error\n+\t\tretClaim, err = kubecli.PersistentVolumeClaims(ns).Get(name)\n \t\tif err != nil {\n \t\t\treturn false, err\n \t\t}\n-\t\tlogrus.Infof(\"PV claim (%s) status.phase: %v\", claim.Name, claim.Status.Phase)\n-\t\tif claim.Status.Phase != api.ClaimBound {\n+\t\tlogrus.Infof(\"waiting PV claim (%s) to be 'Bound', current status: %v\", name, retClaim.Status.Phase)\n+\t\tif retClaim.Status.Phase != api.ClaimBound {\n \t\t\treturn false, nil\n \t\t}\n \t\treturn true, nil\n \t})\n \tif err != nil {\n-\t\t// TODO: remove retClaim\n-\t\tlogrus.Errorf(\"fail to poll PVC (%s): %v\", retClaim.Name, err)\n-\t\treturn nil, err\n+\t\twErr := fmt.Errorf(\"fail to wait PVC (%s) 'Bound': %v\", name, err)\n+\t\treturn nil, wErr","path":"pkg/util/k8sutil/backup.go","position":46,"original_position":46,"commit_id":"75822c796ad4ffc13adf20b63a28074b784dc6a6","original_commit_id":"75822c796ad4ffc13adf20b63a28074b784dc6a6","user":{"login":"xiang90","id":4479947,"avatar_url":"https://avatars.githubusercontent.com/u/4479947?v=3","gravatar_id":"","url":"https://api.github.com/users/xiang90","html_url":"https://github.com/xiang90","followers_url":"https://api.github.com/users/xiang90/followers","following_url":"https://api.github.com/users/xiang90/following{/other_user}","gists_url":"https://api.github.com/users/xiang90/gists{/gist_id}","starred_url":"https://api.github.com/users/xiang90/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xiang90/subscriptions","organizations_url":"https://api.github.com/users/xiang90/orgs","repos_url":"https://api.github.com/users/xiang90/repos","events_url":"https://api.github.com/users/xiang90/events{/privacy}","received_events_url":"https://api.github.com/users/xiang90/received_events","type":"User","site_admin":false},"body":"return nil, fmt.Errorf(...)","created_at":"2016-11-06T16:38:14Z","updated_at":"2016-11-06T16:38:14Z","html_url":"https://github.com/coreos/etcd-operator/pull/344#discussion_r86690260","pull_request_url":"https://api.github.com/repos/coreos/etcd-operator/pulls/344","_links":{"self":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/comments/86690260"},"html":{"href":"https://github.com/coreos/etcd-operator/pull/344#discussion_r86690260"},"pull_request":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/344"}}},"pull_request":{"url":"https://api.github.com/repos/coreos/etcd-operator/pulls/344","id":92456570,"html_url":"https://github.com/coreos/etcd-operator/pull/344","diff_url":"https://github.com/coreos/etcd-operator/pull/344.diff","patch_url":"https://github.com/coreos/etcd-operator/pull/344.patch","issue_url":"https://api.github.com/repos/coreos/etcd-operator/issues/344","number":344,"state":"open","locked":false,"title":"controller: fix crash on failure to create backup","user":{"login":"hongchaodeng","id":920884,"avatar_url":"https://avatars.githubusercontent.com/u/920884?v=3","gravatar_id":"","url":"https://api.github.com/users/hongchaodeng","html_url":"https://github.com/hongchaodeng","followers_url":"https://api.github.com/users/hongchaodeng/followers","following_url":"https://api.github.com/users/hongchaodeng/following{/other_user}","gists_url":"https://api.github.com/users/hongchaodeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hongchaodeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hongchaodeng/subscriptions","organizations_url":"https://api.github.com/users/hongchaodeng/orgs","repos_url":"https://api.github.com/users/hongchaodeng/repos","events_url":"https://api.github.com/users/hongchaodeng/events{/privacy}","received_events_url":"https://api.github.com/users/hongchaodeng/received_events","type":"User","site_admin":false},"body":"ref: #342\r\n\r\nFor this issue, ideally we should have some way to reject user spec that doesn't match our expectation. However, there is no admission control for TPR objects yet.\r\n\r\nNonetheless, such error shouldn't crash controller. As a fix for this, we will fail the cluster only, i.e. make the cluster die itself.","created_at":"2016-11-05T15:21:51Z","updated_at":"2016-11-06T16:38:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2409350e148aea02cffca822c9b380b32c42b348","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/coreos/etcd-operator/pulls/344/commits","review_comments_url":"https://api.github.com/repos/coreos/etcd-operator/pulls/344/comments","review_comment_url":"https://api.github.com/repos/coreos/etcd-operator/pulls/comments{/number}","comments_url":"https://api.github.com/repos/coreos/etcd-operator/issues/344/comments","statuses_url":"https://api.github.com/repos/coreos/etcd-operator/statuses/75822c796ad4ffc13adf20b63a28074b784dc6a6","head":{"label":"hongchaodeng:b","ref":"b","sha":"75822c796ad4ffc13adf20b63a28074b784dc6a6","user":{"login":"hongchaodeng","id":920884,"avatar_url":"https://avatars.githubusercontent.com/u/920884?v=3","gravatar_id":"","url":"https://api.github.com/users/hongchaodeng","html_url":"https://github.com/hongchaodeng","followers_url":"https://api.github.com/users/hongchaodeng/followers","following_url":"https://api.github.com/users/hongchaodeng/following{/other_user}","gists_url":"https://api.github.com/users/hongchaodeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hongchaodeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hongchaodeng/subscriptions","organizations_url":"https://api.github.com/users/hongchaodeng/orgs","repos_url":"https://api.github.com/users/hongchaodeng/repos","events_url":"https://api.github.com/users/hongchaodeng/events{/privacy}","received_events_url":"https://api.github.com/users/hongchaodeng/received_events","type":"User","site_admin":false},"repo":{"id":72786503,"name":"etcd-operator","full_name":"hongchaodeng/etcd-operator","owner":{"login":"hongchaodeng","id":920884,"avatar_url":"https://avatars.githubusercontent.com/u/920884?v=3","gravatar_id":"","url":"https://api.github.com/users/hongchaodeng","html_url":"https://github.com/hongchaodeng","followers_url":"https://api.github.com/users/hongchaodeng/followers","following_url":"https://api.github.com/users/hongchaodeng/following{/other_user}","gists_url":"https://api.github.com/users/hongchaodeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hongchaodeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hongchaodeng/subscriptions","organizations_url":"https://api.github.com/users/hongchaodeng/orgs","repos_url":"https://api.github.com/users/hongchaodeng/repos","events_url":"https://api.github.com/users/hongchaodeng/events{/privacy}","received_events_url":"https://api.github.com/users/hongchaodeng/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hongchaodeng/etcd-operator","description":"etcd Operator creates/configures/manages etcd clusters atop Kubernetes","fork":true,"url":"https://api.github.com/repos/hongchaodeng/etcd-operator","forks_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/forks","keys_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/teams","hooks_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/hooks","issue_events_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/issues/events{/number}","events_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/events","assignees_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/assignees{/user}","branches_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/branches{/branch}","tags_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/tags","blobs_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/git/refs{/sha}","trees_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/statuses/{sha}","languages_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/languages","stargazers_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/stargazers","contributors_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/contributors","subscribers_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/subscribers","subscription_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/subscription","commits_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/commits{/sha}","git_commits_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/git/commits{/sha}","comments_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/comments{/number}","issue_comment_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/issues/comments{/number}","contents_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/contents/{+path}","compare_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/merges","archive_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/downloads","issues_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/issues{/number}","pulls_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/pulls{/number}","milestones_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/milestones{/number}","notifications_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/labels{/name}","releases_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/releases{/id}","deployments_url":"https://api.github.com/repos/hongchaodeng/etcd-operator/deployments","created_at":"2016-11-03T21:01:55Z","updated_at":"2016-11-03T21:01:56Z","pushed_at":"2016-11-06T03:48:09Z","git_url":"git://github.com/hongchaodeng/etcd-operator.git","ssh_url":"git@github.com:hongchaodeng/etcd-operator.git","clone_url":"https://github.com/hongchaodeng/etcd-operator.git","svn_url":"https://github.com/hongchaodeng/etcd-operator","homepage":"https://coreos.com/blog/introducing-the-etcd-operator.html","size":448,"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":"coreos:master","ref":"master","sha":"9d8f2cb35e8f2f4a1620c5e9a82ae6d99b4501af","user":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"repo":{"id":64974719,"name":"etcd-operator","full_name":"coreos/etcd-operator","owner":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/coreos/etcd-operator","description":"etcd Operator creates/configures/manages etcd clusters atop Kubernetes","fork":false,"url":"https://api.github.com/repos/coreos/etcd-operator","forks_url":"https://api.github.com/repos/coreos/etcd-operator/forks","keys_url":"https://api.github.com/repos/coreos/etcd-operator/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coreos/etcd-operator/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coreos/etcd-operator/teams","hooks_url":"https://api.github.com/repos/coreos/etcd-operator/hooks","issue_events_url":"https://api.github.com/repos/coreos/etcd-operator/issues/events{/number}","events_url":"https://api.github.com/repos/coreos/etcd-operator/events","assignees_url":"https://api.github.com/repos/coreos/etcd-operator/assignees{/user}","branches_url":"https://api.github.com/repos/coreos/etcd-operator/branches{/branch}","tags_url":"https://api.github.com/repos/coreos/etcd-operator/tags","blobs_url":"https://api.github.com/repos/coreos/etcd-operator/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coreos/etcd-operator/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coreos/etcd-operator/git/refs{/sha}","trees_url":"https://api.github.com/repos/coreos/etcd-operator/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coreos/etcd-operator/statuses/{sha}","languages_url":"https://api.github.com/repos/coreos/etcd-operator/languages","stargazers_url":"https://api.github.com/repos/coreos/etcd-operator/stargazers","contributors_url":"https://api.github.com/repos/coreos/etcd-operator/contributors","subscribers_url":"https://api.github.com/repos/coreos/etcd-operator/subscribers","subscription_url":"https://api.github.com/repos/coreos/etcd-operator/subscription","commits_url":"https://api.github.com/repos/coreos/etcd-operator/commits{/sha}","git_commits_url":"https://api.github.com/repos/coreos/etcd-operator/git/commits{/sha}","comments_url":"https://api.github.com/repos/coreos/etcd-operator/comments{/number}","issue_comment_url":"https://api.github.com/repos/coreos/etcd-operator/issues/comments{/number}","contents_url":"https://api.github.com/repos/coreos/etcd-operator/contents/{+path}","compare_url":"https://api.github.com/repos/coreos/etcd-operator/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coreos/etcd-operator/merges","archive_url":"https://api.github.com/repos/coreos/etcd-operator/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coreos/etcd-operator/downloads","issues_url":"https://api.github.com/repos/coreos/etcd-operator/issues{/number}","pulls_url":"https://api.github.com/repos/coreos/etcd-operator/pulls{/number}","milestones_url":"https://api.github.com/repos/coreos/etcd-operator/milestones{/number}","notifications_url":"https://api.github.com/repos/coreos/etcd-operator/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coreos/etcd-operator/labels{/name}","releases_url":"https://api.github.com/repos/coreos/etcd-operator/releases{/id}","deployments_url":"https://api.github.com/repos/coreos/etcd-operator/deployments","created_at":"2016-08-04T23:54:58Z","updated_at":"2016-11-06T16:05:26Z","pushed_at":"2016-11-06T12:10:58Z","git_url":"git://github.com/coreos/etcd-operator.git","ssh_url":"git@github.com:coreos/etcd-operator.git","clone_url":"https://github.com/coreos/etcd-operator.git","svn_url":"https://github.com/coreos/etcd-operator","homepage":"https://coreos.com/blog/introducing-the-etcd-operator.html","size":508,"stargazers_count":82,"watchers_count":82,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":23,"forks":5,"open_issues":23,"watchers":82,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/344"},"html":{"href":"https://github.com/coreos/etcd-operator/pull/344"},"issue":{"href":"https://api.github.com/repos/coreos/etcd-operator/issues/344"},"comments":{"href":"https://api.github.com/repos/coreos/etcd-operator/issues/344/comments"},"review_comments":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/344/comments"},"review_comment":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/coreos/etcd-operator/pulls/344/commits"},"statuses":{"href":"https://api.github.com/repos/coreos/etcd-operator/statuses/75822c796ad4ffc13adf20b63a28074b784dc6a6"}}}}
{"actor":{"display_login":"xiang90"}}