{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/36006","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/36006/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/36006/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/36006/events","html_url":"https://github.com/kubernetes/kubernetes/pull/36006","id":186648062,"number":36006,"title":"proxy/iptables: don't call iptables-restore when we don't need to","user":{"login":"dcbw","id":10926354,"avatar_url":"https://avatars.githubusercontent.com/u/10926354?v=3","gravatar_id":"","url":"https://api.github.com/users/dcbw","html_url":"https://github.com/dcbw","followers_url":"https://api.github.com/users/dcbw/followers","following_url":"https://api.github.com/users/dcbw/following{/other_user}","gists_url":"https://api.github.com/users/dcbw/gists{/gist_id}","starred_url":"https://api.github.com/users/dcbw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcbw/subscriptions","organizations_url":"https://api.github.com/users/dcbw/orgs","repos_url":"https://api.github.com/users/dcbw/repos","events_url":"https://api.github.com/users/dcbw/events{/privacy}","received_events_url":"https://api.github.com/users/dcbw/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":349530192,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64","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":"lavalamp","id":647318,"avatar_url":"https://avatars.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false},"assignees":[{"login":"lavalamp","id":647318,"avatar_url":"https://avatars.githubusercontent.com/u/647318?v=3","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2016-11-01T21:09:48Z","updated_at":"2016-11-01T21:32:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/36006","html_url":"https://github.com/kubernetes/kubernetes/pull/36006","diff_url":"https://github.com/kubernetes/kubernetes/pull/36006.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/36006.patch"},"body":"Diff old and new rules and don't bother calling iptables-restore when nothing has actually changed.\r\n\r\niptables-restore is a very heavy operation and depending on the kernel,\r\nthe CPU, and the number of rules to restore, can take a very long time\r\n(~500ms or more).\r\n\r\ni7-5600U @ 2.6GHz: 700ms for 1000 services (2+4 cores+threads, kernel 4.6.6)\r\ni7-4790  @ 3.6GHz: 270ms for 1000 services (4+8 cores+threads, kernel 4.6.7)\r\n\r\nOther parts of kubernetes (eg kubenet) might be running iptables-restore\r\ntoo, leading to some pileup as each iptables-restore waits for others to\r\ncomplete.\r\n\r\nRelated: https://github.com/kubernetes/kubernetes/issues/26637\r\nRelated: https://github.com/kubernetes/kubernetes/issues/33693\r\nRelated: https://github.com/kubernetes/kubernetes/pull/35334\r\n\r\n<!-- Reviewable:start -->\r\n---\r\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/36006)\r\n<!-- Reviewable:end -->\r\n\r\n@thockin @timothysc @danwinship @eparis"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/257705007","html_url":"https://github.com/kubernetes/kubernetes/pull/36006#issuecomment-257705007","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/36006","id":257705007,"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-11-01T21:32:45Z","updated_at":"2016-11-01T21:32:45Z","body":"Jenkins unit/integration [**failed**](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/36006/pull-kubernetes-unit/2838/) for commit bdd5c98e42e076fcac28fc6fcf4f9faa93245b8d. [Full PR test history](http://pr-test.k8s.io/36006).\n\nThe magic incantation to run this job again is `@k8s-bot unit 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"}}