{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/30468","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/30468/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/30468/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/30468/events","html_url":"https://github.com/kubernetes/kubernetes/pull/30468","id":170727556,"number":30468,"title":"Feature config for kube-system components","user":{"login":"jlowdermilk","id":2101035,"avatar_url":"https://avatars.githubusercontent.com/u/2101035?v=3","gravatar_id":"","url":"https://api.github.com/users/jlowdermilk","html_url":"https://github.com/jlowdermilk","followers_url":"https://api.github.com/users/jlowdermilk/followers","following_url":"https://api.github.com/users/jlowdermilk/following{/other_user}","gists_url":"https://api.github.com/users/jlowdermilk/gists{/gist_id}","starred_url":"https://api.github.com/users/jlowdermilk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlowdermilk/subscriptions","organizations_url":"https://api.github.com/users/jlowdermilk/orgs","repos_url":"https://api.github.com/users/jlowdermilk/repos","events_url":"https://api.github.com/users/jlowdermilk/events{/privacy}","received_events_url":"https://api.github.com/users/jlowdermilk/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/release-note-none","name":"release-note-none","color":"c2e0c6"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900"}],"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":24,"created_at":"2016-08-11T19:35:23Z","updated_at":"2016-08-18T19:05:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/30468","html_url":"https://github.com/kubernetes/kubernetes/pull/30468","diff_url":"https://github.com/kubernetes/kubernetes/pull/30468.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/30468.patch"},"body":"Implements [this proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/runtimeconfig.md). Adds `--feature-config` to apiserver, scheduler, controller-manager and proxy.\r\n\r\ncc @lavalamp @adityakali\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/30468)\r\n<!-- Reviewable:end -->\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/240824109","html_url":"https://github.com/kubernetes/kubernetes/pull/30468#issuecomment-240824109","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/30468","id":240824109,"user":{"login":"jlowdermilk","id":2101035,"avatar_url":"https://avatars.githubusercontent.com/u/2101035?v=3","gravatar_id":"","url":"https://api.github.com/users/jlowdermilk","html_url":"https://github.com/jlowdermilk","followers_url":"https://api.github.com/users/jlowdermilk/followers","following_url":"https://api.github.com/users/jlowdermilk/following{/other_user}","gists_url":"https://api.github.com/users/jlowdermilk/gists{/gist_id}","starred_url":"https://api.github.com/users/jlowdermilk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlowdermilk/subscriptions","organizations_url":"https://api.github.com/users/jlowdermilk/orgs","repos_url":"https://api.github.com/users/jlowdermilk/repos","events_url":"https://api.github.com/users/jlowdermilk/events{/privacy}","received_events_url":"https://api.github.com/users/jlowdermilk/received_events","type":"User","site_admin":false},"created_at":"2016-08-18T19:05:23Z","updated_at":"2016-08-18T19:05:23Z","body":"We've been back and forth on that twice now. I agree that a global makes this much easier to use, especially in apiserver where passing the config through requires significant (and ugly) extra plumbing. @lavalamp, you are/were strongly opposed. Would you be willing to hold your nose for this case?\n\n---\n\nReview status: 0 of 17 files reviewed at latest revision, 17 unresolved discussions.\n\n---\n\n*[pkg/util/config/feature_config.go, line 25 \\[r4\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPKChUxVewe0PPE-qV_:-KPU0FQmJy3JVgj_BqLM:b-nwzgfm) ([raw file](https://github.com/kubernetes/kubernetes/blob/8c8fb53b55e800d68a5033d2bf22dcfb9d792c48/pkg/util/config/feature_config.go#L25)):*\n<details><summary><i>Previously, lavalamp (Daniel Smith) wrote…</i></summary>\n> Not sure what the harm is in having the pflag functions being called?\n</details>\nString and Type are harmless, but Set should only be called once by Parse() or flagset.Parse() at startup. Keeping them package private prevents calling Set directly.\n\n---\n\n*[pkg/util/config/feature_config.go, line 37 \\[r7\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPK4q4hxK7PCJp4FZL6-r7-37:-KPU0Coz__o4Ll6LFORB:b-896fix) ([raw file](https://github.com/kubernetes/kubernetes/blob/26946965fe3c4383f56daef9c62aa74a7542035b/pkg/util/config/feature_config.go#L37)):*\n<details><summary><i>Previously, lavalamp (Daniel Smith) wrote…</i></summary>\n> I like switching to \"gate\" everywhere.\n</details>\nDone.\n\n---\n\n*[pkg/util/config/feature_config.go, line 60 \\[r7\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPK4q4hxK7PCJp4FZL6-r7-60:-KPTvCuTbLmEpFzm-hIp:b-eapff3) ([raw file](https://github.com/kubernetes/kubernetes/blob/26946965fe3c4383f56daef9c62aa74a7542035b/pkg/util/config/feature_config.go#L60)):*\n<details><summary><i>Previously, thockin (Tim Hockin) wrote…</i></summary>\n> why are you calling this here and discarding the results?\n</details>\nResolved.\n\n---\n\n*[pkg/util/config/feature_config.go, line 43 \\[r8\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPTshHBg7AEUaO7yI9k:-KPTvHEl-yjzk9QBryeS:b-896fix) ([raw file](https://github.com/kubernetes/kubernetes/blob/7381ce0d51042b09615e2d2b93dc8d58670ae111/pkg/util/config/feature_config.go#L43)):*\n<details><summary><i>Previously, lavalamp (Daniel Smith) wrote…</i></summary>\n> `Alpha() bool` (how can this possibly give an error?)\n> Or AlphaEnabled()\n</details>\nDone.\n\n---\n\n*[pkg/util/config/feature_config.go, line 101 \\[r8\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPTt59mvao6ng-KiM6X:-KPTvc8Mzscvs6d9JngF:b-896fix) ([raw file](https://github.com/kubernetes/kubernetes/blob/7381ce0d51042b09615e2d2b93dc8d58670ae111/pkg/util/config/feature_config.go#L101)):*\n<details><summary><i>Previously, lavalamp (Daniel Smith) wrote…</i></summary>\n> since this is programmer error and should be caught rapidly, I'm actually OK with just panicing.\n</details>\nDone.\n\n---\n\n*[pkg/util/config/feature_config.go, line 130 \\[r8\\]](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-KPTsaKexw-Rz88sUNqS:-KPU0t8n2hzziNqtIjsQ:b-896fix) ([raw file](https://github.com/kubernetes/kubernetes/blob/7381ce0d51042b09615e2d2b93dc8d58670ae111/pkg/util/config/feature_config.go#L130)):*\n<details><summary><i>Previously, lavalamp (Daniel Smith) wrote…</i></summary>\n> On separate lines may be more readable.\n</details>\nDone.\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.kubernetes.io:443/reviews/kubernetes/kubernetes/30468#-:-KPU1C3wqVLapwA_tK9U:b-3rns6m)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"jlowdermilk"}}