{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9870","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9870/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9870/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9870/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9870","id":88762981,"number":9870,"title":"Allow Recyclers to be configurable","user":{"login":"markturansky","id":8001968,"avatar_url":"https://avatars.githubusercontent.com/u/8001968?v=3","gravatar_id":"","url":"https://api.github.com/users/markturansky","html_url":"https://github.com/markturansky","followers_url":"https://api.github.com/users/markturansky/followers","following_url":"https://api.github.com/users/markturansky/following{/other_user}","gists_url":"https://api.github.com/users/markturansky/gists{/gist_id}","starred_url":"https://api.github.com/users/markturansky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markturansky/subscriptions","organizations_url":"https://api.github.com/users/markturansky/orgs","repos_url":"https://api.github.com/users/markturansky/repos","events_url":"https://api.github.com/users/markturansky/events{/privacy}","received_events_url":"https://api.github.com/users/markturansky/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"}],"state":"open","locked":false,"assignee":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","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},"milestone":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones/11","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/milestones/v1.0-post","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/milestones/11/labels","id":1035380,"number":11,"title":"v1.0-post","description":"Things that are triaged and decided not for inclusion to v1.0","creator":{"login":"brendandburns","id":5751682,"avatar_url":"https://avatars.githubusercontent.com/u/5751682?v=3","gravatar_id":"","url":"https://api.github.com/users/brendandburns","html_url":"https://github.com/brendandburns","followers_url":"https://api.github.com/users/brendandburns/followers","following_url":"https://api.github.com/users/brendandburns/following{/other_user}","gists_url":"https://api.github.com/users/brendandburns/gists{/gist_id}","starred_url":"https://api.github.com/users/brendandburns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brendandburns/subscriptions","organizations_url":"https://api.github.com/users/brendandburns/orgs","repos_url":"https://api.github.com/users/brendandburns/repos","events_url":"https://api.github.com/users/brendandburns/events{/privacy}","received_events_url":"https://api.github.com/users/brendandburns/received_events","type":"User","site_admin":false},"open_issues":484,"closed_issues":92,"state":"open","created_at":"2015-03-23T22:54:17Z","updated_at":"2015-07-17T01:14:54Z","due_on":null,"closed_at":null},"comments":25,"created_at":"2015-06-16T15:39:19Z","updated_at":"2015-07-17T03:22:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/9870","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9870","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9870.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9870.patch"},"body":"The current PV Recyclers are hard-coded to use busybox w/ a specific command.  Consider this the default implementation.\r\n\r\nMove the default implementation higher up the stack to allow override of the recyclers.\r\n\r\nBig TODO in this PR to allow configuration of volume plugins by a controller.  Defaults were moved to the binary itself (app.Plugins) in the interim.  \r\n\r\n@smarterclayton @thockin "},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/122158638","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/9870#issuecomment-122158638","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/9870","id":122158638,"user":{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars.githubusercontent.com/u/1163175?v=3","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},"created_at":"2015-07-17T03:22:07Z","updated_at":"2015-07-17T03:22:07Z","body":"Recycling just doesn't seem to me something that is an API determination.\nWhy wouldn't the controller that created the volume be responsible for\nrecycling it, or the user use a generic recycler?  Adding it to the API\nseems unnecessary (it's a lot of extra API fields for something that is\northogonal to the use of a PV).\n\nOn Thu, Jul 16, 2015 at 2:29 PM, Mark Turansky <notifications@github.com>\nwrote:\n\n> Last thought, I think it's both: add CLI arg for a default value and also\n> add to PV.Spec to allow override per PV.\n>\n> CLI arg allows Kube and OpenShift (or any install) to specify what image\n> to use when scrubbing. CLI arg is only needed by the controller manager,\n> not any volume plugin itself. No need to disturb ProbeVolumePlugins func.\n>\n> Optional scrubber pod on PV.Spec allows custom configuration via the API.\n>\n> PersistentVolumeController's PV template could contain a custom scrubber.\n> Gets copied to all PV instances the controller creates. Still allows\n> override on individual PVs.\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/GoogleCloudPlatform/kubernetes/pull/9870#issuecomment-122042039>\n> .\n>\n\n\n\n-- \nClayton Coleman | Lead Engineer, OpenShift\n"}}