{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25189","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25189/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25189/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25189/events","html_url":"https://github.com/kubernetes/kubernetes/pull/25189","id":153184901,"number":25189,"title":"Rewrite service controller to apply best controller pattern","user":{"login":"mfanjie","id":16643108,"avatar_url":"https://avatars.githubusercontent.com/u/16643108?v=3","gravatar_id":"","url":"https://api.github.com/users/mfanjie","html_url":"https://github.com/mfanjie","followers_url":"https://api.github.com/users/mfanjie/followers","following_url":"https://api.github.com/users/mfanjie/following{/other_user}","gists_url":"https://api.github.com/users/mfanjie/gists{/gist_id}","starred_url":"https://api.github.com/users/mfanjie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mfanjie/subscriptions","organizations_url":"https://api.github.com/users/mfanjie/orgs","repos_url":"https://api.github.com/users/mfanjie/repos","events_url":"https://api.github.com/users/mfanjie/events{/privacy}","received_events_url":"https://api.github.com/users/mfanjie/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/api-change","name":"kind/api-change","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/old-docs","name":"kind/old-docs","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-label-needed","name":"release-note-label-needed","color":"db5a64"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900"}],"state":"open","locked":false,"assignee":{"login":"bprashanth","id":10927820,"avatar_url":"https://avatars.githubusercontent.com/u/10927820?v=3","gravatar_id":"","url":"https://api.github.com/users/bprashanth","html_url":"https://github.com/bprashanth","followers_url":"https://api.github.com/users/bprashanth/followers","following_url":"https://api.github.com/users/bprashanth/following{/other_user}","gists_url":"https://api.github.com/users/bprashanth/gists{/gist_id}","starred_url":"https://api.github.com/users/bprashanth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bprashanth/subscriptions","organizations_url":"https://api.github.com/users/bprashanth/orgs","repos_url":"https://api.github.com/users/bprashanth/repos","events_url":"https://api.github.com/users/bprashanth/events{/privacy}","received_events_url":"https://api.github.com/users/bprashanth/received_events","type":"User","site_admin":false},"milestone":null,"comments":22,"created_at":"2016-05-05T07:47:47Z","updated_at":"2016-06-01T05:54:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/25189","html_url":"https://github.com/kubernetes/kubernetes/pull/25189","diff_url":"https://github.com/kubernetes/kubernetes/pull/25189.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/25189.patch"},"body":"```release-note-label-needed\r\nRewrite service controller to apply best controller pattern\r\n```\r\nThis PR is a long term solution for #21625:\r\nWe apply the same pattern like replication controller to service controller to avoid the potential process order messes in service controller, the change includes:\r\n1. introduce informer controller to watch service changes from kube-apiserver, so that every changes on same service will be kept in serviceStore as the only element.\r\n2. put the service name to be processed to working queue\r\n3. when process service, always get info from serviceStore to ensure the info is up-to-date\r\n4. keep the retry mechanism, sleep for certain interval and add it back to queue.\r\n5. remote the logic of reading last service info from kube-apiserver before processing the LB info as we trust the info from serviceStore.\r\n\r\nThe UT has been passed, manual test passed after I hardcode the cloud provider as FakeCloud, however I am not able to boot a k8s cluster with any available cloudprovider, so e2e test is not done.\r\n\r\nSubmit this PR first for review and for triggering a e2e test.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/222899760","html_url":"https://github.com/kubernetes/kubernetes/pull/25189#issuecomment-222899760","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/25189","id":222899760,"user":{"login":"k8s-bot","id":12551979,"avatar_url":"https://avatars.githubusercontent.com/u/12551979?v=3","gravatar_id":"","url":"https://api.github.com/users/k8s-bot","html_url":"https://github.com/k8s-bot","followers_url":"https://api.github.com/users/k8s-bot/followers","following_url":"https://api.github.com/users/k8s-bot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-bot/subscriptions","organizations_url":"https://api.github.com/users/k8s-bot/orgs","repos_url":"https://api.github.com/users/k8s-bot/repos","events_url":"https://api.github.com/users/k8s-bot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-bot/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T05:54:53Z","updated_at":"2016-06-01T05:54:53Z","body":"GCE e2e build/test **failed** for commit 1223825e3dfe482f7c79d1a61ac6e550b19f39b6.\n* [Build Log](http://pr-test.k8s.io/25189/kubernetes-pull-build-test-e2e-gce/42756/build-log.txt)\n* [Test Artifacts](https://console.developers.google.com/storage/browser/kubernetes-jenkins/pr-logs/pull/25189/kubernetes-pull-build-test-e2e-gce/42756/artifacts/)\n* [Internal Jenkins Results](http://goto.google.com/prkubekins/job/kubernetes-pull-build-test-e2e-gce//42756)\n\nPlease reference the [list of currently known flakes](https://github.com/kubernetes/kubernetes/issues?q=is:issue+label:kind/flake+is:open) when examining this failure. If you request a re-test, you must reference the issue describing the flake.\n"}}
{"actor":{"display_login":"k8s-bot"}}