{"action":"created","comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/26540634","id":26540634,"diff_hunk":"@@ -0,0 +1,165 @@\n+/*\n+Copyright 2015 Google Inc. All rights reserved.\n+\n+Licensed under the Apache License, Version 2.0 (the \"License\");\n+you may not use this file except in compliance with the License.\n+You may obtain a copy of the License at\n+\n+    http://www.apache.org/licenses/LICENSE-2.0\n+\n+Unless required by applicable law or agreed to in writing, software\n+distributed under the License is distributed on an \"AS IS\" BASIS,\n+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+See the License for the specific language governing permissions and\n+limitations under the License.\n+*/\n+\n+package kubelet\n+\n+import (\n+\t\"errors\"\n+\t\"fmt\"\n+\t\"strings\"\n+\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/api\"\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/client\"\n+\t\"github.com/GoogleCloudPlatform/kubernetes/pkg/util\"\n+\t\"github.com/golang/glog\"\n+)\n+\n+// Kubelet discover pod updates from 4 sources: file, http, etcd, and\n+// apiserver. Pods from non-apiserver sources are called static pods, and API\n+// server is not aware of the existence of static pods. In order to monitor the\n+// status of such pods, kubelet create a mirror pod for each static pod via the\n+// API server.\n+//\n+// A mirror pod has the same pod full name (name and namespace) as its static\n+// counterpart (albeit different metadata such as UID, etc). By leveraging the\n+// fact that kubelet reports the pod status using the pod full name, the status\n+// of the mirror pod always reflects the acutal status of the static pod.\n+// When a static pod gets deleted, the associated orphaned mirror pods will\n+// also be removed.\n+//\n+// This file includes functions to manage the mirror pods.\n+\n+type mirrorManager interface {\n+\tCreateMirrorPod(*api.BoundPod, string) error\n+\tDeleteMirrorPod(string) error\n+}\n+\n+type basicMirrorManager struct {\n+\t// mirror pods are stored in the kubelet directly because they need to be\n+\t// in sync with the internal pods.\n+\tapiserverClient client.Interface\n+}\n+\n+func newBasicMirrorManager(apiserverClient client.Interface) *basicMirrorManager {\n+\treturn &basicMirrorManager{apiserverClient: apiserverClient}\n+}\n+\n+// Creates a mirror pod.\n+func (self *basicMirrorManager) CreateMirrorPod(pod *api.BoundPod, hostname string) error {\n+\tif self.apiserverClient == nil {\n+\t\treturn nil\n+\t}\n+\tpodFullName := GetPodFullName(pod)\n+\t// Create a Pod from BoundPod; this will become redundant once we\n+\t// deprecate BoundPod completely.\n+\t// Note that some fields (e.g. creationTimestamp, UID, etc) will be\n+\t// overwritten by the APIserver.\n+\tpodToCreate := api.Pod{}\n+\tif err := api.Scheme.Convert(pod, &podToCreate); err != nil {\n+\t\tglog.Errorf(\"Unable to interpret static bound pod as a pod: %v: %+v\", err, pod)\n+\t}\n+\t// Indicate that the pod should be scheduled to the current node.\n+\tpodToCreate.Spec.Host = hostname\n+\tpodToCreate.Annotations[ConfigMirrorAnnotationKey] = MirrorType\n+\n+\tglog.V(4).Infof(\"Creating a mirror pod %q\", podFullName)\n+\t_, err := self.apiserverClient.Pods(NamespaceDefault).Create(&podToCreate)\n+\tif err != nil {\n+\t\tglog.Errorf(\"Failed creating a mirror pod %q: %#v\", podFullName, err)\n+\t\treturn err\n+\t}\n+\treturn nil\n+}\n+\n+// Deletes a mirror pod.\n+func (self *basicMirrorManager) DeleteMirrorPod(podFullName string) error {\n+\tif self.apiserverClient == nil {\n+\t\treturn nil\n+\t}\n+\tname, namespace, err := parsePodFullName(podFullName)\n+\tif err != nil {\n+\t\treturn err\n+\t}\n+\tglog.V(4).Infof(\"Deleting a mirror pod %q\", podFullName)\n+\tif err := self.apiserverClient.Pods(namespace).Delete(name); err != nil {\n+\t\tglog.Errorf(\"Failed deleting a mirror pod %q: %v\", podFullName, err)\n+\t}\n+\treturn nil\n+}\n+\n+// Delete all orphaned mirror pods.\n+func (kl *Kubelet) deleteOrphanedMirrorPods(pods []api.BoundPod, mirrorPods util.StringSet) {","path":"pkg/kubelet/mirror_manager.go","position":null,"original_position":104,"commit_id":"26e53ea59fe48d4e9a8a553db71d912e6a049788","original_commit_id":"7659f3ab0812ef48a2d4d227b94904c8809fbfb4","user":{"login":"vmarmol","id":985208,"avatar_url":"https://avatars.githubusercontent.com/u/985208?v=3","gravatar_id":"","url":"https://api.github.com/users/vmarmol","html_url":"https://github.com/vmarmol","followers_url":"https://api.github.com/users/vmarmol/followers","following_url":"https://api.github.com/users/vmarmol/following{/other_user}","gists_url":"https://api.github.com/users/vmarmol/gists{/gist_id}","starred_url":"https://api.github.com/users/vmarmol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmarmol/subscriptions","organizations_url":"https://api.github.com/users/vmarmol/orgs","repos_url":"https://api.github.com/users/vmarmol/repos","events_url":"https://api.github.com/users/vmarmol/events{/privacy}","received_events_url":"https://api.github.com/users/vmarmol/received_events","type":"User","site_admin":false},"body":"After reading through your unit tests I can see why you wanted to have it be a Kubelet method. I'm fine going with that if you prefer. \r\n\r\nSorry for the churn!","created_at":"2015-03-17T00:26:54Z","updated_at":"2015-03-17T00:26:54Z","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401#discussion_r26540634","pull_request_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401","_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments/26540634"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401#discussion_r26540634"},"pull_request":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401"}}},"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401","id":31075220,"html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401.patch","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5401","number":5401,"state":"open","locked":false,"title":"WIP: Sync static pods from Kubelet to the API server","user":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"body":"Currently, API server is not aware of the static pods (manifests from\r\nsources other than the API server, e.g. file and http) at all. This is\r\ninconvenient since users cannot check the static pods through kubectl.\r\nIt is also suboptimal because scheduler is unaware of the resource\r\nconsumption by these static pods on the node.\r\n\r\nThis change syncs the information back to the API server by creating a\r\nmirror pod via API server for each static pod.\r\n\r\n - Kubelet creates containers for the mirror pod, instead of the static\r\n   pod, which is filtered out before SyncPods.\r\n\r\n - If a mirror pod gets deleted, Kubelet will re-create one. The\r\n   containers will also be re-created after syncing the new mirror pod.\r\n\r\n - If a static pod gets removed from the source (e.g. manifest file\r\n   removed from the directory), the orphaned mirror pod will be deleted\r\n   by Kubelet.\r\n\r\nThis fixes #4090.","created_at":"2015-03-12T20:37:52Z","updated_at":"2015-03-17T00:26:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e2e1348c3a99464df493dcdc894329a31132be26","assignee":{"login":"vmarmol","id":985208,"avatar_url":"https://avatars.githubusercontent.com/u/985208?v=3","gravatar_id":"","url":"https://api.github.com/users/vmarmol","html_url":"https://github.com/vmarmol","followers_url":"https://api.github.com/users/vmarmol/followers","following_url":"https://api.github.com/users/vmarmol/following{/other_user}","gists_url":"https://api.github.com/users/vmarmol/gists{/gist_id}","starred_url":"https://api.github.com/users/vmarmol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vmarmol/subscriptions","organizations_url":"https://api.github.com/users/vmarmol/orgs","repos_url":"https://api.github.com/users/vmarmol/repos","events_url":"https://api.github.com/users/vmarmol/events{/privacy}","received_events_url":"https://api.github.com/users/vmarmol/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401/commits","review_comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401/comments","review_comment_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5401/comments","statuses_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/26e53ea59fe48d4e9a8a553db71d912e6a049788","head":{"label":"yujuhong:syncstatic","ref":"syncstatic","sha":"26e53ea59fe48d4e9a8a553db71d912e6a049788","user":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"repo":{"id":29618390,"name":"kubernetes","full_name":"yujuhong/kubernetes","owner":{"login":"yujuhong","id":10524058,"avatar_url":"https://avatars.githubusercontent.com/u/10524058?v=3","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yujuhong/kubernetes","description":"Container Cluster Manager","fork":true,"url":"https://api.github.com/repos/yujuhong/kubernetes","forks_url":"https://api.github.com/repos/yujuhong/kubernetes/forks","keys_url":"https://api.github.com/repos/yujuhong/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yujuhong/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yujuhong/kubernetes/teams","hooks_url":"https://api.github.com/repos/yujuhong/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/yujuhong/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/yujuhong/kubernetes/events","assignees_url":"https://api.github.com/repos/yujuhong/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/yujuhong/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/yujuhong/kubernetes/tags","blobs_url":"https://api.github.com/repos/yujuhong/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yujuhong/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yujuhong/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/yujuhong/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yujuhong/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/yujuhong/kubernetes/languages","stargazers_url":"https://api.github.com/repos/yujuhong/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/yujuhong/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/yujuhong/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/yujuhong/kubernetes/subscription","commits_url":"https://api.github.com/repos/yujuhong/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/yujuhong/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/yujuhong/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/yujuhong/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/yujuhong/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/yujuhong/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yujuhong/kubernetes/merges","archive_url":"https://api.github.com/repos/yujuhong/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yujuhong/kubernetes/downloads","issues_url":"https://api.github.com/repos/yujuhong/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/yujuhong/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/yujuhong/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/yujuhong/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yujuhong/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/yujuhong/kubernetes/releases{/id}","created_at":"2015-01-21T21:45:40Z","updated_at":"2015-03-05T17:59:54Z","pushed_at":"2015-03-16T23:26:31Z","git_url":"git://github.com/yujuhong/kubernetes.git","ssh_url":"git@github.com:yujuhong/kubernetes.git","clone_url":"https://github.com/yujuhong/kubernetes.git","svn_url":"https://github.com/yujuhong/kubernetes","homepage":"http://kubernetes.io","size":36568,"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":"407589147ee11eb91863274bf442007f90908005","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-03-17T00:06:58Z","pushed_at":"2015-03-17T00:14:57Z","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":104740,"stargazers_count":6605,"watchers_count":6605,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1217,"mirror_url":null,"open_issues_count":753,"forks":1217,"open_issues":753,"watchers":6605,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401"},"html":{"href":"https://github.com/GoogleCloudPlatform/kubernetes/pull/5401"},"issue":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5401"},"comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/5401/comments"},"review_comments":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401/comments"},"review_comment":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/5401/commits"},"statuses":{"href":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/statuses/26e53ea59fe48d4e9a8a553db71d912e6a049788"}}}}