{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47712","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47712/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47712/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47712/events","html_url":"https://github.com/kubernetes/kubernetes/issues/47712","id":236733680,"number":47712,"title":"Service registry needs to be refactored to be a) fully based on generic store and b) potentially use an Initializer for service IP assignment","user":{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars0.githubusercontent.com/u/1163175?v=4","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/received_events","type":"User","site_admin":false},"labels":[{"id":261778297,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/technical-debt","name":"kind/technical-debt","color":"c7def8","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},{"id":116712108,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/network","name":"sig/network","color":"d2b48c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-06-18T17:15:37Z","updated_at":"2018-02-07T16:32:40Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"The service registry is the only Kube REST endpoint that doesn't use generic store directly (because of the complex allocation logic).  Now that we have initializers, we potentially can move cluster IP allocation to an initializer.  However, until we refactor the REST endpoint to be based on generic.Store, it doesn't support initializers (didn't do that in 1.7).  So:\r\n\r\n1. Should we split the IP allocation bit to an initializer?  Pro: decouples that logic from master, Con: more work, potential chicken and egg scenarios in bootstrap\r\n2. If we do, we'll need to expose range allocation as a public API resource (controllers don't have access to etcd).  Pro: other components need range allocations, plus the upcoming ROAR work implies we need to move versions, Con: more work, may not be able to agree on range allocation API design\r\n\r\nI realized that in openshift we also need range allocation as an API (https://github.com/openshift/origin/issues/14731).\r\n\r\nI don't know that this *has* to be done - but this logic is one of the things that doesn't fit particularly well in the master that we have long wanted to move to a controller.  And if we move to an initializer here it opens the door for other initializers like LB and better decoupling from core kube.\r\n\r\n@kubernetes/sig-api-machinery-misc @kubernetes/sig-network-misc "},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/363827168","html_url":"https://github.com/kubernetes/kubernetes/issues/47712#issuecomment-363827168","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/47712","id":363827168,"user":{"login":"fejta-bot","id":30488982,"avatar_url":"https://avatars1.githubusercontent.com/u/30488982?v=4","gravatar_id":"","url":"https://api.github.com/users/fejta-bot","html_url":"https://github.com/fejta-bot","followers_url":"https://api.github.com/users/fejta-bot/followers","following_url":"https://api.github.com/users/fejta-bot/following{/other_user}","gists_url":"https://api.github.com/users/fejta-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/fejta-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fejta-bot/subscriptions","organizations_url":"https://api.github.com/users/fejta-bot/orgs","repos_url":"https://api.github.com/users/fejta-bot/repos","events_url":"https://api.github.com/users/fejta-bot/events{/privacy}","received_events_url":"https://api.github.com/users/fejta-bot/received_events","type":"User","site_admin":false},"created_at":"2018-02-07T16:32:40Z","updated_at":"2018-02-07T16:32:40Z","author_association":"NONE","body":"Stale issues rot after 30d of inactivity.\nMark the issue as fresh with `/remove-lifecycle rotten`.\nRotten issues close after an additional 30d of inactivity.\n\nIf this issue is safe to close now please do so with `/close`.\n\nSend feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta).\n/lifecycle rotten\n/remove-lifecycle stale"}}
{"actor":{"display_login":"fejta-bot"}}