{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34282","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34282/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34282/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34282/events","html_url":"https://github.com/kubernetes/kubernetes/pull/34282","id":181554490,"number":34282,"title":"[DO NOT MERGE] kubelet: Refactor kuberuntime.SyncPod().","user":{"login":"yifan-gu","id":3278588,"avatar_url":"https://avatars.githubusercontent.com/u/3278588?v=3","gravatar_id":"","url":"https://api.github.com/users/yifan-gu","html_url":"https://github.com/yifan-gu","followers_url":"https://api.github.com/users/yifan-gu/followers","following_url":"https://api.github.com/users/yifan-gu/following{/other_user}","gists_url":"https://api.github.com/users/yifan-gu/gists{/gist_id}","starred_url":"https://api.github.com/users/yifan-gu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yifan-gu/subscriptions","organizations_url":"https://api.github.com/users/yifan-gu/orgs","repos_url":"https://api.github.com/users/yifan-gu/repos","events_url":"https://api.github.com/users/yifan-gu/events{/privacy}","received_events_url":"https://api.github.com/users/yifan-gu/received_events","type":"User","site_admin":false},"labels":[{"id":176978828,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf","default":false},{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":335674843,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/do-not-merge","name":"do-not-merge","color":"e11d21","default":false},{"id":408922811,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/keep-open","name":"keep-open","color":"fbca04","default":false},{"id":349530249,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6","default":false},{"id":173493665,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/node","name":"sig/node","color":"d2b48c","default":false},{"id":253451093,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XXL","name":"size/XXL","color":"ee0000","default":false}],"state":"open","locked":false,"assignee":{"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},"assignees":[{"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}],"milestone":null,"comments":24,"created_at":"2016-10-07T00:03:23Z","updated_at":"2016-12-13T02:40:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/34282","html_url":"https://github.com/kubernetes/kubernetes/pull/34282","diff_url":"https://github.com/kubernetes/kubernetes/pull/34282.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/34282.patch"},"body":"This splits the SyncPod into 3 parts:\n- (1) Prune init containers\n- (2) Compute changes (sandbox to kill, containers to kill,\n    sandbox to start, containers to start).\n- (3) Apply the changes (kill containers, kill sandboxes,\n    start sandbox, start containers).\n\nThe change computation is further splited into 3 phases:\n- (1) Construct list of sandboxes and containers that needs to\n    be killed.\n- (2) Construct list of sandbox and containers that needs to\n    be started.\n- (3) Make sure the sandbox will be killed if all active containers\n    exited or are going to be killed.\n\nIn order to make the process more readable, a new type called\n`syncAction` is added, which preserves the result of the computation\nthrough different phases, and also provides functions to do operations\nlike container killing/starting based on the result.\n\n<!-- Reviewable:start -->\n\n---\n\nThis change is [<img src=\"https://reviewable.kubernetes.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/34282)\n\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/266619493","html_url":"https://github.com/kubernetes/kubernetes/pull/34282#issuecomment-266619493","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/34282","id":266619493,"user":{"login":"k8s-ci-robot","id":20407524,"avatar_url":"https://avatars.githubusercontent.com/u/20407524?v=3","gravatar_id":"","url":"https://api.github.com/users/k8s-ci-robot","html_url":"https://github.com/k8s-ci-robot","followers_url":"https://api.github.com/users/k8s-ci-robot/followers","following_url":"https://api.github.com/users/k8s-ci-robot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-ci-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-ci-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-ci-robot/subscriptions","organizations_url":"https://api.github.com/users/k8s-ci-robot/orgs","repos_url":"https://api.github.com/users/k8s-ci-robot/repos","events_url":"https://api.github.com/users/k8s-ci-robot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-ci-robot/received_events","type":"User","site_admin":false},"created_at":"2016-12-13T02:40:42Z","updated_at":"2016-12-13T02:40:42Z","body":"Jenkins GKE smoke e2e [**failed**](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/34282/pull-kubernetes-e2e-gke/9362/) for commit fe64deff186c346685eb2da1af1e6ac4b011ea2d. [Full PR test history](http://pr-test.k8s.io/34282).\n\nThe magic incantation to run this job again is `@k8s-bot cvm gke e2e test this`. Please help us cut down flakes by linking to an [open flake issue](https://github.com/kubernetes/kubernetes/issues?q=is:issue+label:kind/flake+is:open) when you hit one in your PR."}}
{"actor":{"display_login":"k8s-ci-robot"}}