{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/59826","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/59826/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/59826/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/59826/events","html_url":"https://github.com/kubernetes/kubernetes/issues/59826","id":296856318,"number":59826,"title":"Resource Quota controller should allow discover-resources errors","user":{"login":"droot","id":172029,"avatar_url":"https://avatars3.githubusercontent.com/u/172029?v=4","gravatar_id":"","url":"https://api.github.com/users/droot","html_url":"https://github.com/droot","followers_url":"https://api.github.com/users/droot/followers","following_url":"https://api.github.com/users/droot/following{/other_user}","gists_url":"https://api.github.com/users/droot/gists{/gist_id}","starred_url":"https://api.github.com/users/droot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/droot/subscriptions","organizations_url":"https://api.github.com/users/droot/orgs","repos_url":"https://api.github.com/users/droot/repos","events_url":"https://api.github.com/users/droot/events{/privacy}","received_events_url":"https://api.github.com/users/droot/received_events","type":"User","site_admin":false},"labels":[{"id":105146071,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/bug","name":"kind/bug","color":"e11d21","default":false},{"id":778118404,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/lifecycle/stale","name":"lifecycle/stale","color":"795548","default":false},{"id":173493835,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/api-machinery","name":"sig/api-machinery","color":"d2b48c","default":false}],"state":"open","locked":false,"assignee":{"login":"cheftako","id":947971,"avatar_url":"https://avatars3.githubusercontent.com/u/947971?v=4","gravatar_id":"","url":"https://api.github.com/users/cheftako","html_url":"https://github.com/cheftako","followers_url":"https://api.github.com/users/cheftako/followers","following_url":"https://api.github.com/users/cheftako/following{/other_user}","gists_url":"https://api.github.com/users/cheftako/gists{/gist_id}","starred_url":"https://api.github.com/users/cheftako/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cheftako/subscriptions","organizations_url":"https://api.github.com/users/cheftako/orgs","repos_url":"https://api.github.com/users/cheftako/repos","events_url":"https://api.github.com/users/cheftako/events{/privacy}","received_events_url":"https://api.github.com/users/cheftako/received_events","type":"User","site_admin":false},"assignees":[{"login":"cheftako","id":947971,"avatar_url":"https://avatars3.githubusercontent.com/u/947971?v=4","gravatar_id":"","url":"https://api.github.com/users/cheftako","html_url":"https://github.com/cheftako","followers_url":"https://api.github.com/users/cheftako/followers","following_url":"https://api.github.com/users/cheftako/following{/other_user}","gists_url":"https://api.github.com/users/cheftako/gists{/gist_id}","starred_url":"https://api.github.com/users/cheftako/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cheftako/subscriptions","organizations_url":"https://api.github.com/users/cheftako/orgs","repos_url":"https://api.github.com/users/cheftako/repos","events_url":"https://api.github.com/users/cheftako/events{/privacy}","received_events_url":"https://api.github.com/users/cheftako/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2018-02-13T19:25:46Z","updated_at":"2018-05-30T07:53:55Z","closed_at":null,"author_association":"COLLABORATOR","body":"**Is this a BUG REPORT or FEATURE REQUEST?**:\r\n> /kind bug\r\n\r\n\r\n**What happened**: On a cluster with an extension API server (service-catalog in this case), Controller Manager crashes with the following log:\r\ncontrollermanager.go:155] error starting controllers: failed to discover resources: unable to retrieve the complete list of server APIs: servicecatalog.k8s.io/v1beta1: an error on the server (\"missing route (no endpoints available for service \\\"catalog-catalog-apiserver\\\")\") has prevented the request from succeeding\r\n\r\n\r\n**What you expected to happen**: It should treat these as transient errors and should not return error to the caller (which is main controller-manager). \r\n\r\n**How to reproduce it (as minimally and precisely as possible)**:\r\nDon't really know if it is deterministically reproducible, but a mis-configured (or buggy) extension API server can cause this.\r\n\r\n**Anything else we need to know?**:\r\nWe ran in to similar issue in 1.7 release and it was fixed in this PR https://github.com/kubernetes/kubernetes/pull/49767/files. The change allowed discovery-resources error in controller-manager. So as long as any resource was returned by discovery API, controller-manager would treat it as transient error.\r\n\r\nHowever in 1.9, one of the controllers (resource-quota) was refactored to accept discoveryFn as input and error handling in discoveryFn doesn't handle the transient errors (which were introduced in 1.7). https://github.com/kubernetes/kubernetes/blob/release-1.9/pkg/controller/resourcequota/resource_quota_controller.go#L468\r\n\r\n**Environment**:\r\n- Kubernetes version (use `kubectl version`): 1.9\r\n- Cloud provider or hardware configuration: GKE\r\n- OS (e.g. from /etc/os-release):\r\n- Kernel (e.g. `uname -a`):\r\n- Install tools:\r\n- Others:\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/393065625","html_url":"https://github.com/kubernetes/kubernetes/issues/59826#issuecomment-393065625","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/59826","id":393065625,"user":{"login":"nikhita","id":16105680,"avatar_url":"https://avatars1.githubusercontent.com/u/16105680?v=4","gravatar_id":"","url":"https://api.github.com/users/nikhita","html_url":"https://github.com/nikhita","followers_url":"https://api.github.com/users/nikhita/followers","following_url":"https://api.github.com/users/nikhita/following{/other_user}","gists_url":"https://api.github.com/users/nikhita/gists{/gist_id}","starred_url":"https://api.github.com/users/nikhita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nikhita/subscriptions","organizations_url":"https://api.github.com/users/nikhita/orgs","repos_url":"https://api.github.com/users/nikhita/repos","events_url":"https://api.github.com/users/nikhita/events{/privacy}","received_events_url":"https://api.github.com/users/nikhita/received_events","type":"User","site_admin":false},"created_at":"2018-05-30T07:53:55Z","updated_at":"2018-05-30T07:53:55Z","author_association":"MEMBER","body":"/remove-lifecycle stale\r\n\r\nwould be fixed in https://github.com/kubernetes/kubernetes/pull/64201\r\n/assign"}}
{"actor":{"display_login":"nikhita"}}