{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/207400080","pull_request_review_id":143005585,"id":207400080,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNzQwMDA4MA==","diff_hunk":"@@ -308,45 +310,105 @@ var _ = utils.SIGDescribe(\"PersistentVolumes\", func() {\n \t\t\t\tframework.SkipUnlessProviderIs(\"openstack\", \"gce\", \"gke\", \"vsphere\", \"azure\")\n \n \t\t\t\tnumVols := 4\n-\t\t\t\tpvcs := []*v1.PersistentVolumeClaim{}\n+\t\t\t\tssTester := framework.NewStatefulSetTester(c)\n \n-\t\t\t\tBy(\"Creating PVCs\")\n+\t\t\t\tBy(\"Creating a StatefulSet pod to initialize data\")\n+\t\t\t\twriteCmd := \"true\"\n \t\t\t\tfor i := 0; i < numVols; i++ {\n-\t\t\t\t\tpvc = framework.MakePersistentVolumeClaim(framework.PersistentVolumeClaimConfig{}, ns)\n-\t\t\t\t\tpvc, err = framework.CreatePVC(c, ns, pvc)\n-\t\t\t\t\tExpect(err).NotTo(HaveOccurred())\n-\t\t\t\t\tpvcs = append(pvcs, pvc)\n+\t\t\t\t\twriteCmd += fmt.Sprintf(\"&& touch %v\", getVolumeFile(i))\n \t\t\t\t}\n-\n-\t\t\t\tBy(\"Waiting for PVCs to be bound\")\n-\t\t\t\tfor _, pvc := range pvcs {\n-\t\t\t\t\tframework.Logf(\"Created PVC %q\", pvc.Name)\n-\t\t\t\t\tframework.ExpectNoError(framework.WaitForPersistentVolumeClaimPhase(v1.ClaimBound, c, ns, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout))\n+\t\t\t\twriteCmd += \"&& sleep 10000\"\n+\n+\t\t\t\tprobe := &v1.Probe{\n+\t\t\t\t\tHandler: v1.Handler{\n+\t\t\t\t\t\tExec: &v1.ExecAction{\n+\t\t\t\t\t\t\t// Check that the last file got created\n+\t\t\t\t\t\t\tCommand: []string{\"test\", \"-f\", getVolumeFile(numVols - 1)},\n+\t\t\t\t\t\t},\n+\t\t\t\t\t},\n+\t\t\t\t\tInitialDelaySeconds: 1,\n+\t\t\t\t\tPeriodSeconds:       1,\n \t\t\t\t}\n \n-\t\t\t\tBy(\"Creating a pod and initializing data\")\n-\t\t\t\twriteCmd := \"true\"\n-\t\t\t\tfor i, pvc := range pvcs {\n-\t\t\t\t\t// mountPath is /mnt/volume<i+1>\n-\t\t\t\t\twriteCmd += fmt.Sprintf(\"&& touch /mnt/volume%v/%v\", i+1, pvc.Name)\n-\t\t\t\t}\n-\t\t\t\tpod := framework.MakePod(ns, nil, pvcs, false, writeCmd)\n-\t\t\t\tpod, err = c.CoreV1().Pods(ns).Create(pod)\n+\t\t\t\tspec := makeStatefulSetWithPVCs(ns, writeCmd, numVols, probe)\n+\t\t\t\tss, err := c.AppsV1().StatefulSets(ns).Create(spec)\n \t\t\t\tExpect(err).NotTo(HaveOccurred())\n-\t\t\t\tframework.ExpectNoError(framework.WaitForPodSuccessInNamespace(c, pod.Name, ns))\n+\t\t\t\tssTester.WaitForRunningAndReady(1, ss)\n \n-\t\t\t\tBy(\"Recreating the pod and validating the data\")\n-\t\t\t\tframework.ExpectNoError(framework.DeletePodWithWait(f, c, pod))\n+\t\t\t\tBy(\"Deleting the StatefulSet but not the volumes\")\n+\t\t\t\tss, err = ssTester.Scale(ss, 0)\n+\t\t\t\tExpect(err).NotTo(HaveOccurred())\n+\t\t\t\tssTester.WaitForStatusReplicas(ss, 0)\n+\t\t\t\terr = c.AppsV1().StatefulSets(ns).Delete(ss.Name, &metav1.DeleteOptions{})\n+\t\t\t\tExpect(err).NotTo(HaveOccurred())\n+\n+\t\t\t\tBy(\"Creating a new Statefulset and validating the data\")\n \t\t\t\tvalidateCmd := \"true\"\n-\t\t\t\tfor i, pvc := range pvcs {\n-\t\t\t\t\t// mountPath is /mnt/volume<i+1>\n-\t\t\t\t\tvalidateCmd += fmt.Sprintf(\"&& test -f /mnt/volume%v/%v\", i+1, pvc.Name)\n+\t\t\t\tfor i := 0; i < numVols; i++ {\n+\t\t\t\t\tvalidateCmd += fmt.Sprintf(\"&& test -f %v\", getVolumeFile(i))\n \t\t\t\t}\n-\t\t\t\tpod = framework.MakePod(ns, nil, pvcs, false, validateCmd)\n-\t\t\t\tpod, err = c.CoreV1().Pods(ns).Create(pod)\n+\t\t\t\tvalidateCmd += \"&& sleep 10000\"\n+\n+\t\t\t\tspec = makeStatefulSetWithPVCs(ns, validateCmd, numVols, probe)\n+\t\t\t\tss, err = c.AppsV1().StatefulSets(ns).Create(spec)\n \t\t\t\tExpect(err).NotTo(HaveOccurred())\n-\t\t\t\tframework.ExpectNoError(framework.WaitForPodSuccessInNamespace(c, pod.Name, ns))\n+\t\t\t\tssTester.WaitForRunningAndReady(1, ss)\n+\n+\t\t\t\tBy(\"Deleting the pod and revalidating the data\")\n+\t\t\t\tssTester.DeleteStatefulPodAtIndex(0, ss)\n+\t\t\t\tssTester.WaitForRunningAndReady(1, ss)\n \t\t\t})\n \t\t})\n \t})\n })\n+\n+func getVolumeFile(i int) string {\n+\t// mountPath is /mnt/vol<i+1>\n+\treturn fmt.Sprintf(\"/mnt/vol%v/data%v\", i+1, i+1)\n+}\n+\n+func makeStatefulSetWithPVCs(ns, cmd string, pvcCount int, readyProbe *v1.Probe) *appsv1.StatefulSet {\n+\tssReplicas := int32(1)\n+\tmounts := []v1.VolumeMount{}\n+\tclaims := []v1.PersistentVolumeClaim{}\n+\tfor i := 0; i < pvcCount; i++ {\n+\t\tpvc := framework.MakePersistentVolumeClaim(framework.PersistentVolumeClaimConfig{}, ns)\n+\t\tpvc.GenerateName = \"\"\n+\t\tpvc.Name = fmt.Sprintf(\"vol%v\", i+1)","path":"test/e2e/storage/persistent_volumes.go","position":112,"original_position":112,"commit_id":"ba4751fe348a5fbdbd560b10a1c8ebc84ffd37f4","original_commit_id":"ba4751fe348a5fbdbd560b10a1c8ebc84ffd37f4","user":{"login":"davidz627","id":5459214,"node_id":"MDQ6VXNlcjU0NTkyMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5459214?v=4","gravatar_id":"","url":"https://api.github.com/users/davidz627","html_url":"https://github.com/davidz627","followers_url":"https://api.github.com/users/davidz627/followers","following_url":"https://api.github.com/users/davidz627/following{/other_user}","gists_url":"https://api.github.com/users/davidz627/gists{/gist_id}","starred_url":"https://api.github.com/users/davidz627/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidz627/subscriptions","organizations_url":"https://api.github.com/users/davidz627/orgs","repos_url":"https://api.github.com/users/davidz627/repos","events_url":"https://api.github.com/users/davidz627/events{/privacy}","received_events_url":"https://api.github.com/users/davidz627/received_events","type":"User","site_admin":false},"body":"just use `i`","created_at":"2018-08-02T23:02:36Z","updated_at":"2018-08-02T23:08:20Z","html_url":"https://github.com/kubernetes/kubernetes/pull/66925#discussion_r207400080","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/207400080"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/66925#discussion_r207400080"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925","id":205817823,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA1ODE3ODIz","html_url":"https://github.com/kubernetes/kubernetes/pull/66925","diff_url":"https://github.com/kubernetes/kubernetes/pull/66925.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/66925.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66925","number":66925,"state":"open","locked":false,"title":"Rework multi-volume test to use StatefulSet","user":{"login":"msau42","id":24448061,"node_id":"MDQ6VXNlcjI0NDQ4MDYx","avatar_url":"https://avatars3.githubusercontent.com/u/24448061?v=4","gravatar_id":"","url":"https://api.github.com/users/msau42","html_url":"https://github.com/msau42","followers_url":"https://api.github.com/users/msau42/followers","following_url":"https://api.github.com/users/msau42/following{/other_user}","gists_url":"https://api.github.com/users/msau42/gists{/gist_id}","starred_url":"https://api.github.com/users/msau42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msau42/subscriptions","organizations_url":"https://api.github.com/users/msau42/orgs","repos_url":"https://api.github.com/users/msau42/repos","events_url":"https://api.github.com/users/msau42/events{/privacy}","received_events_url":"https://api.github.com/users/msau42/received_events","type":"User","site_admin":false},"body":"<!--  Thanks for sending a pull request!  Here are some tips for you:\r\n1. If this is your first time, read our contributor guidelines https://git.k8s.io/community/contributors/guide#your-first-contribution and developer guide https://git.k8s.io/community/contributors/devel/development.md#development-guide\r\n2. If you want *faster* PR reviews, read how: https://git.k8s.io/community/contributors/guide/pull-requests.md#best-practices-for-faster-reviews\r\n3. Follow the instructions for writing a release note: https://git.k8s.io/community/contributors/guide/release-notes.md\r\n4. If the PR is unfinished, see how to mark it: https://git.k8s.io/community/contributors/guide/pull-requests.md#marking-unfinished-pull-requests\r\n-->\r\n\r\n**What this PR does / why we need it**:\r\nThe e2e test that got added as part of https://github.com/kubernetes/kubernetes/pull/66832 fails in a multi-zone environment because the volumes get provisioned in random zones.  This PR reworks the test to use StatefulSet instead, which handles provisioning multiple PVCs in the same zone.\r\n\r\n**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:\r\nFixes #\r\n\r\n**Special notes for your reviewer**:\r\n\r\n**Release note**:\r\n<!--  Write your release note:\r\n1. Enter your extended release note in the below block. If the PR requires additional action from users switching to the new release, include the string \"action required\".\r\n2. If no release note is required, just write \"NONE\".\r\n-->\r\n```release-note\r\nNONE\r\n```\r\n","created_at":"2018-08-02T18:09:17Z","updated_at":"2018-08-02T23:08:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":"38374ee1ffbc5d595666f7d15d2e8a870e8842d0","assignee":{"login":"davidz627","id":5459214,"node_id":"MDQ6VXNlcjU0NTkyMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5459214?v=4","gravatar_id":"","url":"https://api.github.com/users/davidz627","html_url":"https://github.com/davidz627","followers_url":"https://api.github.com/users/davidz627/followers","following_url":"https://api.github.com/users/davidz627/following{/other_user}","gists_url":"https://api.github.com/users/davidz627/gists{/gist_id}","starred_url":"https://api.github.com/users/davidz627/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidz627/subscriptions","organizations_url":"https://api.github.com/users/davidz627/orgs","repos_url":"https://api.github.com/users/davidz627/repos","events_url":"https://api.github.com/users/davidz627/events{/privacy}","received_events_url":"https://api.github.com/users/davidz627/received_events","type":"User","site_admin":false},"assignees":[{"login":"davidz627","id":5459214,"node_id":"MDQ6VXNlcjU0NTkyMTQ=","avatar_url":"https://avatars3.githubusercontent.com/u/5459214?v=4","gravatar_id":"","url":"https://api.github.com/users/davidz627","html_url":"https://github.com/davidz627","followers_url":"https://api.github.com/users/davidz627/followers","following_url":"https://api.github.com/users/davidz627/following{/other_user}","gists_url":"https://api.github.com/users/davidz627/gists{/gist_id}","starred_url":"https://api.github.com/users/davidz627/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidz627/subscriptions","organizations_url":"https://api.github.com/users/davidz627/orgs","repos_url":"https://api.github.com/users/davidz627/repos","events_url":"https://api.github.com/users/davidz627/events{/privacy}","received_events_url":"https://api.github.com/users/davidz627/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"jeffvance","id":3076896,"node_id":"MDQ6VXNlcjMwNzY4OTY=","avatar_url":"https://avatars3.githubusercontent.com/u/3076896?v=4","gravatar_id":"","url":"https://api.github.com/users/jeffvance","html_url":"https://github.com/jeffvance","followers_url":"https://api.github.com/users/jeffvance/followers","following_url":"https://api.github.com/users/jeffvance/following{/other_user}","gists_url":"https://api.github.com/users/jeffvance/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffvance/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffvance/subscriptions","organizations_url":"https://api.github.com/users/jeffvance/orgs","repos_url":"https://api.github.com/users/jeffvance/repos","events_url":"https://api.github.com/users/jeffvance/events{/privacy}","received_events_url":"https://api.github.com/users/jeffvance/received_events","type":"User","site_admin":false},{"login":"rootfs","id":7062400,"node_id":"MDQ6VXNlcjcwNjI0MDA=","avatar_url":"https://avatars0.githubusercontent.com/u/7062400?v=4","gravatar_id":"","url":"https://api.github.com/users/rootfs","html_url":"https://github.com/rootfs","followers_url":"https://api.github.com/users/rootfs/followers","following_url":"https://api.github.com/users/rootfs/following{/other_user}","gists_url":"https://api.github.com/users/rootfs/gists{/gist_id}","starred_url":"https://api.github.com/users/rootfs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rootfs/subscriptions","organizations_url":"https://api.github.com/users/rootfs/orgs","repos_url":"https://api.github.com/users/rootfs/repos","events_url":"https://api.github.com/users/rootfs/events{/privacy}","received_events_url":"https://api.github.com/users/rootfs/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":414883982,"node_id":"MDU6TGFiZWw0MTQ4ODM5ODI=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/approved","name":"approved","color":"0ffa16","default":false},{"id":477397086,"node_id":"MDU6TGFiZWw0NzczOTcwODY=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":349530249,"node_id":"MDU6TGFiZWwzNDk1MzAyNDk=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6","default":false},{"id":253450978,"node_id":"MDU6TGFiZWwyNTM0NTA5Nzg=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/66925/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/ba4751fe348a5fbdbd560b10a1c8ebc84ffd37f4","head":{"label":"msau42:udev","ref":"udev","sha":"ba4751fe348a5fbdbd560b10a1c8ebc84ffd37f4","user":{"login":"msau42","id":24448061,"node_id":"MDQ6VXNlcjI0NDQ4MDYx","avatar_url":"https://avatars3.githubusercontent.com/u/24448061?v=4","gravatar_id":"","url":"https://api.github.com/users/msau42","html_url":"https://github.com/msau42","followers_url":"https://api.github.com/users/msau42/followers","following_url":"https://api.github.com/users/msau42/following{/other_user}","gists_url":"https://api.github.com/users/msau42/gists{/gist_id}","starred_url":"https://api.github.com/users/msau42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msau42/subscriptions","organizations_url":"https://api.github.com/users/msau42/orgs","repos_url":"https://api.github.com/users/msau42/repos","events_url":"https://api.github.com/users/msau42/events{/privacy}","received_events_url":"https://api.github.com/users/msau42/received_events","type":"User","site_admin":false},"repo":{"id":76901505,"node_id":"MDEwOlJlcG9zaXRvcnk3NjkwMTUwNQ==","name":"kubernetes","full_name":"msau42/kubernetes","owner":{"login":"msau42","id":24448061,"node_id":"MDQ6VXNlcjI0NDQ4MDYx","avatar_url":"https://avatars3.githubusercontent.com/u/24448061?v=4","gravatar_id":"","url":"https://api.github.com/users/msau42","html_url":"https://github.com/msau42","followers_url":"https://api.github.com/users/msau42/followers","following_url":"https://api.github.com/users/msau42/following{/other_user}","gists_url":"https://api.github.com/users/msau42/gists{/gist_id}","starred_url":"https://api.github.com/users/msau42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msau42/subscriptions","organizations_url":"https://api.github.com/users/msau42/orgs","repos_url":"https://api.github.com/users/msau42/repos","events_url":"https://api.github.com/users/msau42/events{/privacy}","received_events_url":"https://api.github.com/users/msau42/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/msau42/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":true,"url":"https://api.github.com/repos/msau42/kubernetes","forks_url":"https://api.github.com/repos/msau42/kubernetes/forks","keys_url":"https://api.github.com/repos/msau42/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/msau42/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/msau42/kubernetes/teams","hooks_url":"https://api.github.com/repos/msau42/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/msau42/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/msau42/kubernetes/events","assignees_url":"https://api.github.com/repos/msau42/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/msau42/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/msau42/kubernetes/tags","blobs_url":"https://api.github.com/repos/msau42/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/msau42/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/msau42/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/msau42/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/msau42/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/msau42/kubernetes/languages","stargazers_url":"https://api.github.com/repos/msau42/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/msau42/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/msau42/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/msau42/kubernetes/subscription","commits_url":"https://api.github.com/repos/msau42/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/msau42/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/msau42/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/msau42/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/msau42/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/msau42/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/msau42/kubernetes/merges","archive_url":"https://api.github.com/repos/msau42/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/msau42/kubernetes/downloads","issues_url":"https://api.github.com/repos/msau42/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/msau42/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/msau42/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/msau42/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/msau42/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/msau42/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/msau42/kubernetes/deployments","created_at":"2016-12-19T22:13:28Z","updated_at":"2018-08-02T00:44:21Z","pushed_at":"2018-08-02T18:07:28Z","git_url":"git://github.com/msau42/kubernetes.git","ssh_url":"git@github.com:msau42/kubernetes.git","clone_url":"https://github.com/msau42/kubernetes.git","svn_url":"https://github.com/msau42/kubernetes","homepage":"http://kubernetes.io","size":587731,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"a54c0974e3485a93056c43fa5814a64b434bdfd6","user":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","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,"node_id":"MDEwOlJlcG9zaXRvcnkyMDU4MDQ5OA==","name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","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":"2018-08-02T22:45:44Z","pushed_at":"2018-08-02T22:42:24Z","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":796532,"stargazers_count":39541,"watchers_count":39541,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":13775,"mirror_url":null,"archived":false,"open_issues_count":3149,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":13775,"open_issues":3149,"watchers":39541,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/66925"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/66925"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/66925/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/66925/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/ba4751fe348a5fbdbd560b10a1c8ebc84ffd37f4"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"davidz627"}}