{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/32120269","id":32120269,"diff_hunk":"@@ -856,179 +841,62 @@ func RunRC(config RCConfig) error {\n \t\t\t},\n \t\t},\n \t}\n-\t_, err := c.ReplicationControllers(ns).Create(rc)\n+\t_, err := config.Client.ReplicationControllers(config.Namespace).Create(rc)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"Error creating replication controller: %v\", err)\n \t}\n-\tLogf(\"%v Created replication controller with name: %v, namespace: %v, replica count: %v\", time.Now(), rc.Name, ns, rc.Spec.Replicas)\n-\tpodStore := newPodStore(c, ns, label, fields.Everything())\n+\tLogf(\"%v Created replication controller with name: %v, namespace: %v, replica count: %v\", time.Now(), rc.Name, config.Namespace, rc.Spec.Replicas)\n+\tpodStore := newPodStore(config.Client, config.Namespace, label, fields.Everything())\n \tdefer podStore.Stop()\n \n-\t// Create a routine to query for the list of pods\n-\tstop := make(chan struct{})\n-\tgo func(stop <-chan struct{}, ns string, label labels.Selector, interval int) {\n-\t\tfor {\n-\t\t\tselect {\n-\t\t\tcase <-stop:\n-\t\t\t\treturn\n-\t\t\tdefault:\n-\t\t\t\tpodLists.Push(podStore.List())\n-\t\t\t\ttime.Sleep(time.Duration(interval) * time.Second)\n-\t\t\t}\n-\t\t}\n-\t}(stop, ns, label, interval)\n-\tdefer close(stop)\n-\n-\t// Look for all the replicas to be created by the replication\n-\t// controller.  Stop looking if all replicas are found or no new\n-\t// replicas are found for a continual number of times\n-\tBy(fmt.Sprintf(\"Making sure all %d replicas of rc %s in namespace %s exist\", replicas, name, ns))\n-\n-\t// There must be some amount of new pods created within 2 minutes, so\n-\t// determine the number of checks needed to ensure timeout within\n-\t// that time period.  2 minutes is generous amount of time to see\n-\t// a change new pods created in the system even if it is under load.\n-\tfailCount := int(math.Max(1.0, 120.0/float64(interval)))\n-\tfor same < failCount && current < replicas {\n-\t\t// Wait just longer than an interval to allow processing\n-\t\t// information in the queue quickly\n-\t\ttime.Sleep(time.Duration(float32(interval)*1.1) * time.Second)\n-\n-\t\t// Greedily read all existing entries in the queue until\n-\t\t// all pods are found submitted or the queue is empty.  If\n-\t\t// the queue is empty then we need to stop trying to process\n-\t\t// entries until there is something or process in the queue\n-\t\tfor podLists.Len() > 0 && current < replicas {\n-\t\t\titem := podLists.Pop()\n-\t\t\tpods := item.value.([]*api.Pod)\n-\t\t\tcurrent = len(pods)\n-\t\t\tLogf(\"%v Controller %s: Found %d pods out of %d\", time.Now(), name, current, replicas)\n-\t\t\tif last < current {\n-\t\t\t\tsame = 0\n-\t\t\t} else if last == current {\n-\t\t\t\tsame++\n-\t\t\t} else if current < last {\n-\t\t\t\treturn fmt.Errorf(\"Controller %s: Number of submitted pods dropped from %d to %d\", name, last, current)\n-\t\t\t}\n-\n-\t\t\tif same >= failCount {\n-\t\t\t\treturn fmt.Errorf(\"Controller %s: No pods submitted for the last %d checks\", name, failCount)\n-\t\t\t}\n-\t\t\tlast = current\n-\t\t}\n+\tinterval := config.PollInterval\n+\tif interval < 0 {\n+\t\tinterval = 10 * time.Second\n \t}\n-\tif current != replicas {\n-\t\treturn fmt.Errorf(\"Controller %s: Only found %d replicas out of %d\", name, current, replicas)\n-\t}\n-\tLogf(\"%v Controller %s in ns %s: Found %d pods out of %d\", time.Now(), name, ns, current, replicas)\n-\n-\t// Look for all the replicas to be in a Running state.  Stop looking\n-\t// if all replicas are found in a Running state or no new\n-\t// replicas are found Running for a continual number of times\n-\tBy(fmt.Sprintf(\"%v Waiting for all %d replicas to be running with a max container failures of %d\", time.Now(), replicas, maxContainerFailures))\n-\n-\t// There must be some amount of pods that have newly transitioned to\n-\t// the Running state within 100 seconds, so determine the number of\n-\t// checks needed to ensure timeout within that time period.\n-\t// 100 seconds is generous amount of time to see a change in the\n-\t// system even if it is under load.\n-\tfailCount = int(math.Max(1.0, 100.0/float64(interval)))\n-\n-\tsame = 0\n-\tlast = 0\n-\tcurrent = 0\n-\tvar oldPods []*api.Pod\n-\tpodLists.Reset()\n-\tfoundAllPods := false\n-\tfor same < failCount && current < replicas {\n-\t\t// Wait just longer than an interval to allow processing\n-\t\t// information in the queue quickly\n-\t\ttime.Sleep(time.Duration(float32(interval)*1.1) * time.Second)\n-\n-\t\t// Greedily read all existing entries in the queue until\n-\t\t// either all pods are running or the queue is empty.  If\n-\t\t// the queue is empty we need to stop looking for entries\n-\t\t// and wait for a new entry to process\n-\t\tfor podLists.Len() > 0 && current < replicas {\n-\t\t\titem := podLists.Pop()\n-\t\t\tcurrent = 0\n-\t\t\twaiting := 0\n-\t\t\tpending := 0\n-\t\t\tunknown := 0\n-\t\t\tinactive := 0\n-\t\t\tfailedContainers := 0\n-\t\t\tcurrentPods := item.value.([]*api.Pod)\n-\t\t\tfor _, p := range currentPods {\n-\t\t\t\tif p.Status.Phase == api.PodRunning {\n-\t\t\t\t\tcurrent++\n-\t\t\t\t\tfor _, v := range FailedContainers(p) {\n-\t\t\t\t\t\tfailedContainers = failedContainers + v.restarts\n-\t\t\t\t\t}\n-\t\t\t\t} else if p.Status.Phase == api.PodPending {\n-\t\t\t\t\tif p.Spec.NodeName == \"\" {\n-\t\t\t\t\t\twaiting++\n-\t\t\t\t\t} else {\n-\t\t\t\t\t\tpending++\n-\t\t\t\t\t}\n-\t\t\t\t} else if p.Status.Phase == api.PodSucceeded || p.Status.Phase == api.PodFailed {\n-\t\t\t\t\tinactive++\n-\t\t\t\t} else if p.Status.Phase == api.PodUnknown {\n-\t\t\t\t\tunknown++\n+\tstart := time.Now()\n+\trunning := 0\n+\tfor running < config.Replicas && time.Since(start) < 10*time.Minute {\n+\t\ttime.Sleep(interval)","path":"test/e2e/util.go","position":198,"original_position":198,"commit_id":"5d050d0418714bf82f3ae11c1397e269e1030ac5","original_commit_id":"5d050d0418714bf82f3ae11c1397e269e1030ac5","user":{"login":"gmarek","id":1703842,"avatar_url":"https://avatars.githubusercontent.com/u/1703842?v=3","gravatar_id":"","url":"https://api.github.com/users/gmarek","html_url":"https://github.com/gmarek","followers_url":"https://api.github.com/users/gmarek/followers","following_url":"https://api.github.com/users/gmarek/following{/other_user}","gists_url":"https://api.github.com/users/gmarek/gists{/gist_id}","starred_url":"https://api.github.com/users/gmarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gmarek/subscriptions","organizations_url":"https://api.github.com/users/gmarek/orgs","repos_url":"https://api.github.com/users/gmarek/repos","events_url":"https://api.github.com/users/gmarek/events{/privacy}","received_events_url":"https://api.github.com/users/gmarek/received_events","type":"User","site_admin":false},"body":"I don't think we should worry about 10000 pods yet.","created_at":"2015-06-10T14:07:07Z","updated_at":"2015-06-10T14:07:07Z","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571#discussion_r32120269","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/32120269"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571#discussion_r32120269"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571","id":37351588,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9571","number":9571,"state":"open","locked":false,"title":"Simplify e2e.RunRC method and wait up to 10 minutes for pods to start","user":{"login":"fgrzadkowski","id":10820726,"avatar_url":"https://avatars.githubusercontent.com/u/10820726?v=3","gravatar_id":"","url":"https://api.github.com/users/fgrzadkowski","html_url":"https://github.com/fgrzadkowski","followers_url":"https://api.github.com/users/fgrzadkowski/followers","following_url":"https://api.github.com/users/fgrzadkowski/following{/other_user}","gists_url":"https://api.github.com/users/fgrzadkowski/gists{/gist_id}","starred_url":"https://api.github.com/users/fgrzadkowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgrzadkowski/subscriptions","organizations_url":"https://api.github.com/users/fgrzadkowski/orgs","repos_url":"https://api.github.com/users/fgrzadkowski/repos","events_url":"https://api.github.com/users/fgrzadkowski/events{/privacy}","received_events_url":"https://api.github.com/users/fgrzadkowski/received_events","type":"User","site_admin":false},"body":"This simplifies e2e.RunRC which was extremely long. Now, that we use watch-based cache we can query for all pods as often as we want to count create/running pods. It also increases timeout for waiting for pods to start to 10 minutes to address flakiness in load test.\r\n\r\n@rrati AFAIU this PR keeps all the requirements, i.e. query all pods every second and count create and running pods.","created_at":"2015-06-10T12:09:19Z","updated_at":"2015-06-10T14:07:07Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ca16493127a3d8b18d5d4f10bffd8a895fb2b16b","assignee":{"login":"gmarek","id":1703842,"avatar_url":"https://avatars.githubusercontent.com/u/1703842?v=3","gravatar_id":"","url":"https://api.github.com/users/gmarek","html_url":"https://github.com/gmarek","followers_url":"https://api.github.com/users/gmarek/followers","following_url":"https://api.github.com/users/gmarek/following{/other_user}","gists_url":"https://api.github.com/users/gmarek/gists{/gist_id}","starred_url":"https://api.github.com/users/gmarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gmarek/subscriptions","organizations_url":"https://api.github.com/users/gmarek/orgs","repos_url":"https://api.github.com/users/gmarek/repos","events_url":"https://api.github.com/users/gmarek/events{/privacy}","received_events_url":"https://api.github.com/users/gmarek/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9571/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/5d050d0418714bf82f3ae11c1397e269e1030ac5","head":{"label":"fgrzadkowski:fix_load_test","ref":"fix_load_test","sha":"5d050d0418714bf82f3ae11c1397e269e1030ac5","user":{"login":"fgrzadkowski","id":10820726,"avatar_url":"https://avatars.githubusercontent.com/u/10820726?v=3","gravatar_id":"","url":"https://api.github.com/users/fgrzadkowski","html_url":"https://github.com/fgrzadkowski","followers_url":"https://api.github.com/users/fgrzadkowski/followers","following_url":"https://api.github.com/users/fgrzadkowski/following{/other_user}","gists_url":"https://api.github.com/users/fgrzadkowski/gists{/gist_id}","starred_url":"https://api.github.com/users/fgrzadkowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgrzadkowski/subscriptions","organizations_url":"https://api.github.com/users/fgrzadkowski/orgs","repos_url":"https://api.github.com/users/fgrzadkowski/repos","events_url":"https://api.github.com/users/fgrzadkowski/events{/privacy}","received_events_url":"https://api.github.com/users/fgrzadkowski/received_events","type":"User","site_admin":false},"repo":{"id":30216861,"name":"kubernetes","full_name":"fgrzadkowski/kubernetes","owner":{"login":"fgrzadkowski","id":10820726,"avatar_url":"https://avatars.githubusercontent.com/u/10820726?v=3","gravatar_id":"","url":"https://api.github.com/users/fgrzadkowski","html_url":"https://github.com/fgrzadkowski","followers_url":"https://api.github.com/users/fgrzadkowski/followers","following_url":"https://api.github.com/users/fgrzadkowski/following{/other_user}","gists_url":"https://api.github.com/users/fgrzadkowski/gists{/gist_id}","starred_url":"https://api.github.com/users/fgrzadkowski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fgrzadkowski/subscriptions","organizations_url":"https://api.github.com/users/fgrzadkowski/orgs","repos_url":"https://api.github.com/users/fgrzadkowski/repos","events_url":"https://api.github.com/users/fgrzadkowski/events{/privacy}","received_events_url":"https://api.github.com/users/fgrzadkowski/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/fgrzadkowski/kubernetes","description":"Container Cluster Manager","fork":true,"url":"https://api.github.com/repos/fgrzadkowski/kubernetes","forks_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/forks","keys_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/teams","hooks_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/events","assignees_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/tags","blobs_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/languages","stargazers_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/subscription","commits_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/merges","archive_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/downloads","issues_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/fgrzadkowski/kubernetes/releases{/id}","created_at":"2015-02-03T00:40:39Z","updated_at":"2015-03-20T09:51:54Z","pushed_at":"2015-06-10T12:20:07Z","git_url":"git://github.com/fgrzadkowski/kubernetes.git","ssh_url":"git@github.com:fgrzadkowski/kubernetes.git","clone_url":"https://github.com/fgrzadkowski/kubernetes.git","svn_url":"https://github.com/fgrzadkowski/kubernetes","homepage":"http://kubernetes.io","size":63362,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"GoogleCloudPlatform:master","ref":"master","sha":"93ffeb93b6cb426c880351d8c84a89380db95e10","user":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"GoogleCloudPlatform/kubernetes","owner":{"login":"GoogleCloudPlatform","id":2810941,"avatar_url":"https://avatars.githubusercontent.com/u/2810941?v=3","gravatar_id":"","url":"https://api.github.com/users/GoogleCloudPlatform","html_url":"https://github.com/GoogleCloudPlatform","followers_url":"https://api.github.com/users/GoogleCloudPlatform/followers","following_url":"https://api.github.com/users/GoogleCloudPlatform/following{/other_user}","gists_url":"https://api.github.com/users/GoogleCloudPlatform/gists{/gist_id}","starred_url":"https://api.github.com/users/GoogleCloudPlatform/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GoogleCloudPlatform/subscriptions","organizations_url":"https://api.github.com/users/GoogleCloudPlatform/orgs","repos_url":"https://api.github.com/users/GoogleCloudPlatform/repos","events_url":"https://api.github.com/users/GoogleCloudPlatform/events{/privacy}","received_events_url":"https://api.github.com/users/GoogleCloudPlatform/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes","description":"Container Cluster Manager from Google","fork":false,"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes","forks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/forks","keys_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/teams","hooks_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/events","assignees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/tags","blobs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/languages","stargazers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/subscription","commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/merges","archive_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/downloads","issues_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/releases{/id}","created_at":"2014-06-06T22:56:04Z","updated_at":"2015-06-10T13:31:26Z","pushed_at":"2015-06-10T14:04:20Z","git_url":"git://github.com/GoogleCloudPlatform/kubernetes.git","ssh_url":"git@github.com:GoogleCloudPlatform/kubernetes.git","clone_url":"https://github.com/GoogleCloudPlatform/kubernetes.git","svn_url":"https://github.com/GoogleCloudPlatform/kubernetes","homepage":"http://kubernetes.io","size":262796,"stargazers_count":8217,"watchers_count":8217,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1764,"mirror_url":null,"open_issues_count":1349,"forks":1764,"open_issues":1349,"watchers":8217,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9571"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9571"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9571/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9571/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/5d050d0418714bf82f3ae11c1397e269e1030ac5"}}}}