{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/4140","labels_url":"https://api.github.com/repos/openshift/origin/issues/4140/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/4140/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/4140/events","html_url":"https://github.com/openshift/origin/issues/4140","id":100783155,"number":4140,"title":"NewListWatchFromClient to save extra work on implementing ListerWatcher interface","user":{"login":"soltysh","id":576341,"avatar_url":"https://avatars.githubusercontent.com/u/576341?v=3","gravatar_id":"","url":"https://api.github.com/users/soltysh","html_url":"https://github.com/soltysh","followers_url":"https://api.github.com/users/soltysh/followers","following_url":"https://api.github.com/users/soltysh/following{/other_user}","gists_url":"https://api.github.com/users/soltysh/gists{/gist_id}","starred_url":"https://api.github.com/users/soltysh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/soltysh/subscriptions","organizations_url":"https://api.github.com/users/soltysh/orgs","repos_url":"https://api.github.com/users/soltysh/repos","events_url":"https://api.github.com/users/soltysh/events{/privacy}","received_events_url":"https://api.github.com/users/soltysh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-13T14:31:08Z","updated_at":"2015-08-13T14:37:04Z","closed_at":null,"body":"While writing job controller I've found that k8s has a neat method [`NewListWatchFromClient`](https://github.com/kubernetes/kubernetes/blob/master/pkg/client/cache/listwatch.go#L41) which would make our factories a bit cleaner by removing all those structures implementing `List` and `Get` method. Unfortunately we can't use k8s version as it's getting k8s client, whereas we need to pass OS client. Is there some way of leveraging that function to be used with OS client or do we implement something along these lines in OS. I know deployments already went that way (almost) see [here](https://github.com/openshift/origin/blob/master/pkg/deploy/util/util.go#L168-L179)\r\n\r\n@ncdc @bparees @smarterclayton opinions?"},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/130701603","html_url":"https://github.com/openshift/origin/issues/4140#issuecomment-130701603","issue_url":"https://api.github.com/repos/openshift/origin/issues/4140","id":130701603,"user":{"login":"ncdc","id":354,"avatar_url":"https://avatars.githubusercontent.com/u/354?v=3","gravatar_id":"","url":"https://api.github.com/users/ncdc","html_url":"https://github.com/ncdc","followers_url":"https://api.github.com/users/ncdc/followers","following_url":"https://api.github.com/users/ncdc/following{/other_user}","gists_url":"https://api.github.com/users/ncdc/gists{/gist_id}","starred_url":"https://api.github.com/users/ncdc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ncdc/subscriptions","organizations_url":"https://api.github.com/users/ncdc/orgs","repos_url":"https://api.github.com/users/ncdc/repos","events_url":"https://api.github.com/users/ncdc/events{/privacy}","received_events_url":"https://api.github.com/users/ncdc/received_events","type":"User","site_admin":false},"created_at":"2015-08-13T14:37:04Z","updated_at":"2015-08-13T14:37:04Z","body":"It looks like upstream could be modified so NewListWatchFromClient takes in\r\n\r\n```go\r\ntype Getter interface {\r\n  func Get() *client.Request\r\n}\r\n```\r\n\r\nand then we'd be good to go, right?"}}