{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/57613","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/57613/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/57613/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/57613/events","html_url":"https://github.com/kubernetes/kubernetes/pull/57613","id":284403867,"number":57613,"title":"(WIP) Explicit kubelet flags","user":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars1.githubusercontent.com/u/903617?v=4","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"labels":[{"id":116719829,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/kubelet","name":"area/kubelet","color":"0052cc","default":false},{"id":134645591,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/kubelet-api","name":"area/kubelet-api","color":"0052cc","default":false},{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":687500047,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/do-not-merge/work-in-progress","name":"do-not-merge/work-in-progress","color":"e11d21","default":false},{"id":105146071,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/bug","name":"kind/bug","color":"e11d21","default":false},{"id":114528223,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/important-soon","name":"priority/important-soon","color":"eb6420","default":false},{"id":200149833,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":173493665,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/node","name":"sig/node","color":"d2b48c","default":false},{"id":253450978,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/L","name":"size/L","color":"ee9900","default":false}],"state":"open","locked":false,"assignee":{"login":"liggitt","id":980082,"avatar_url":"https://avatars0.githubusercontent.com/u/980082?v=4","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},"assignees":[{"login":"liggitt","id":980082,"avatar_url":"https://avatars0.githubusercontent.com/u/980082?v=4","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},{"login":"dashpole","id":3262098,"avatar_url":"https://avatars1.githubusercontent.com/u/3262098?v=4","gravatar_id":"","url":"https://api.github.com/users/dashpole","html_url":"https://github.com/dashpole","followers_url":"https://api.github.com/users/dashpole/followers","following_url":"https://api.github.com/users/dashpole/following{/other_user}","gists_url":"https://api.github.com/users/dashpole/gists{/gist_id}","starred_url":"https://api.github.com/users/dashpole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dashpole/subscriptions","organizations_url":"https://api.github.com/users/dashpole/orgs","repos_url":"https://api.github.com/users/dashpole/repos","events_url":"https://api.github.com/users/dashpole/events{/privacy}","received_events_url":"https://api.github.com/users/dashpole/received_events","type":"User","site_admin":false},{"login":"thockin","id":5595220,"avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},{"login":"tallclair","id":29742491,"avatar_url":"https://avatars1.githubusercontent.com/u/29742491?v=4","gravatar_id":"","url":"https://api.github.com/users/tallclair","html_url":"https://github.com/tallclair","followers_url":"https://api.github.com/users/tallclair/followers","following_url":"https://api.github.com/users/tallclair/following{/other_user}","gists_url":"https://api.github.com/users/tallclair/gists{/gist_id}","starred_url":"https://api.github.com/users/tallclair/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tallclair/subscriptions","organizations_url":"https://api.github.com/users/tallclair/orgs","repos_url":"https://api.github.com/users/tallclair/repos","events_url":"https://api.github.com/users/tallclair/events{/privacy}","received_events_url":"https://api.github.com/users/tallclair/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/37","html_url":"https://github.com/kubernetes/kubernetes/milestone/37","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/37/labels","id":2659046,"number":37,"title":"v1.10","description":null,"creator":{"login":"mtaufen","id":903617,"avatar_url":"https://avatars1.githubusercontent.com/u/903617?v=4","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"open_issues":56,"closed_issues":44,"state":"open","created_at":"2017-07-24T18:50:54Z","updated_at":"2017-12-25T04:57:18Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2017-12-25T04:57:17Z","updated_at":"2017-12-25T04:59:35Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/57613","html_url":"https://github.com/kubernetes/kubernetes/pull/57613","diff_url":"https://github.com/kubernetes/kubernetes/pull/57613.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/57613.patch"},"body":"The Kubelet was using the global flag set.\r\nLibraries also often use the global flag set.\r\nThere are flags in the Kubelet's usage statement for which the Kubelet does not control registration.\r\nThis is bad, we must have full control of our command-line API.\r\nThis PR puts a stop to it.\r\n\r\nThis is a work-in-progress. \r\n\r\nI registered flags from glog and verflag, but there are many other flags from other packages exposed (mostly cadvisor). I went through a usage statement and tracked flags down as follows. A similar list currently exists in the WIP PR. In the below list, flags with checkboxes are explicitly registered in this PR, others we need to figure out whether they should be. \r\n\r\n### cadvisor:\r\n- [ ]      --application-metrics-count-limit\r\n- [ ]      --boot-id-file\r\n- [ ]      --container-hints\r\n- [ ]      --containerd\r\n- [ ]      --docker\r\n- [ ]      --docker-env-metadata-whitelist\r\n- [ ]      --docker-only\r\n- [ ]      --docker-root\r\n- [ ]      --docker-tls\r\n- [ ]      --docker-tls-ca\r\n- [ ]      --docker-tls-cert\r\n- [ ]      --docker-tls-key\r\n- [ ]      --enable-load-reader\r\n- [ ]      --event-storage-age-limit\r\n- [ ]      --event-storage-event-limit\r\n- [ ]      --global-housekeeping-interval\r\n- [ ]      --housekeeping-interval\r\n- [ ]      --log-cadvisor-usage\r\n- [ ]      --machine-id-file\r\n- [ ]      --storage-driver-buffer-duration\r\n- [ ]      --storage-driver-db\r\n- [ ]      --storage-driver-host\r\n- [ ]      --storage-driver-password\r\n- [ ]      --storage-driver-secure\r\n- [ ]      --storage-driver-table\r\n- [ ]      --storage-driver-user\r\n\r\n### pkg/apiserver/util/logs:\r\n- [ ]      --log-flush-frequency duration\r\n\r\n### pkg/credentialprovider/azure/azure_credentials.go:\r\n- [ ]      --azure-container-registry-config\r\n\r\n### pkg/cloudprovider/providers/gce/gce_loadbalancer.go:\r\n- [ ]      --cloud-provider-gce-lb-src-cidrs\r\n\r\n### pkg/credentialprovider/gcp/jwt.go:\r\n- [ ]      --google-json-key\r\n\r\n### glog:\r\n- [x]      --logtostderr\r\n- [x]      --alsologtostderr\r\n- [x]  -v, --v\r\n- [x]      --stderrthreshold\r\n- [x]      --vmodule\r\n- [x]      --log-backtrace-at\r\n- [ ]      --log-dir (this probably ought to be registered, I just missed it on my first pass and have to come back to it)\r\n\r\n### verflag:\r\n- [x]      --version (for this one, since we control verflag, I added a function that lets you register the flag on arbitrary flagsets)\r\n\r\n```release-note\r\nTODO: Need a release note that explains accidentally leaked flags are no longer available.\r\n```\r\n\r\nThanks to @liggitt for being surprised that we didn't already do this.\r\nThanks to @dashpole for realizing cadvisor flags were leaked after seeing #55863.\r\nThanks to @tallclair who recognized this problem a long time ago in #19432.\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/353830187","html_url":"https://github.com/kubernetes/kubernetes/pull/57613#issuecomment-353830187","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/57613","id":353830187,"user":{"login":"k8s-ci-robot","id":20407524,"avatar_url":"https://avatars0.githubusercontent.com/u/20407524?v=4","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":"2017-12-25T04:59:35Z","updated_at":"2017-12-25T04:59:35Z","author_association":"COLLABORATOR","body":"@mtaufen: The following test **failed**, say `/retest` to rerun them all:\n\nTest name | Commit | Details | Rerun command\n--- | --- | --- | ---\npull-kubernetes-e2e-gce-device-plugin-gpu | 07f2a919ac6761428bbdee11edf150746737440d | [link](https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/pr-logs/pull/57613/pull-kubernetes-e2e-gce-device-plugin-gpu/11154/) | `/test pull-kubernetes-e2e-gce-device-plugin-gpu`\n\n[Full PR test history](https://k8s-gubernator.appspot.com/pr/57613). [Your PR dashboard](https://k8s-gubernator.appspot.com/pr/mtaufen). Please help us cut down on flakes by [linking to](https://github.com/kubernetes/community/blob/master/contributors/devel/flaky-tests.md#filing-issues-for-flaky-tests) an [open issue](https://github.com/kubernetes/kubernetes/issues?q=is:issue+is:open) when you hit one in your PR.\n\n<details>\n\nInstructions for interacting with me using PR comments are available [here](https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md).  If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://github.com/kubernetes/test-infra/blob/master/commands.md).\n</details>\n<!-- test report -->"}}
{"actor":{"display_login":"k8s-ci-robot"}}