{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/51993","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/51993/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/51993/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/51993/events","html_url":"https://github.com/kubernetes/kubernetes/issues/51993","id":255448993,"number":51993,"title":"Device plugin code cleanup","user":{"login":"jiayingz","id":29497748,"avatar_url":"https://avatars3.githubusercontent.com/u/29497748?v=4","gravatar_id":"","url":"https://api.github.com/users/jiayingz","html_url":"https://github.com/jiayingz","followers_url":"https://api.github.com/users/jiayingz/followers","following_url":"https://api.github.com/users/jiayingz/following{/other_user}","gists_url":"https://api.github.com/users/jiayingz/gists{/gist_id}","starred_url":"https://api.github.com/users/jiayingz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jiayingz/subscriptions","organizations_url":"https://api.github.com/users/jiayingz/orgs","repos_url":"https://api.github.com/users/jiayingz/repos","events_url":"https://api.github.com/users/jiayingz/events{/privacy}","received_events_url":"https://api.github.com/users/jiayingz/received_events","type":"User","site_admin":false},"labels":[{"id":267761362,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":173493665,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/node","name":"sig/node","color":"d2b48c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2017-09-06T00:49:43Z","updated_at":"2017-09-06T17:42:24Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"/kind feature\r\n\r\nHere are the possible code cleanup/refactoring we have discussed during device plugin PR code review or offline:\r\n1. Currently Kubelet side device plugin is structured as three-layers: cm.DevicePluginHandler -> deviceplugin.Manager -> deviceplugin.endpoint. We may improve code readability by dropping them to two: cm.DevicePluginHandler -> deviceplugin.Endpoint. Some of the functionalities of deviceplugin.Manager will be moved to cm.DevicePluginHandler and some may be moved to deviceplugin.Endpoint.\r\n2. The current deviceplugin.Endpoint has two methods: list and listAndWatch that make the same gRPC call. We may merge them into one. Combined with 1) item, the deviceplugin.Endpoint interface may expose the following methods: Start(), Stop(), Alloc(), run().\r\n- Interface cleanup: some of the interfaces in deviceplugin pkg is not necessary public and can be changed to internal.\r\n- Most functions in deviceplugin/utils.go doesn't seem to be necessary. May consider to remove this file.\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/327559883","html_url":"https://github.com/kubernetes/kubernetes/issues/51993#issuecomment-327559883","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/51993","id":327559883,"user":{"login":"vishh","id":7063592,"avatar_url":"https://avatars2.githubusercontent.com/u/7063592?v=4","gravatar_id":"","url":"https://api.github.com/users/vishh","html_url":"https://github.com/vishh","followers_url":"https://api.github.com/users/vishh/followers","following_url":"https://api.github.com/users/vishh/following{/other_user}","gists_url":"https://api.github.com/users/vishh/gists{/gist_id}","starred_url":"https://api.github.com/users/vishh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vishh/subscriptions","organizations_url":"https://api.github.com/users/vishh/orgs","repos_url":"https://api.github.com/users/vishh/repos","events_url":"https://api.github.com/users/vishh/events{/privacy}","received_events_url":"https://api.github.com/users/vishh/received_events","type":"User","site_admin":false},"created_at":"2017-09-06T17:42:24Z","updated_at":"2017-09-06T17:42:24Z","author_association":"OWNER","body":"Before anyone posts a PR, let's first settle down on the right abstractions and problems to be solved. So a discussion and possibly a rough prototype will help avoid tedious code reviews. "}}
{"actor":{"display_login":"vishh"}}