{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/8274","repository_url":"https://api.github.com/repos/openshift/origin","labels_url":"https://api.github.com/repos/openshift/origin/issues/8274/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/8274/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/8274/events","html_url":"https://github.com/openshift/origin/pull/8274","id":144281415,"number":8274,"title":"[WIP] replicaset proxy storage","user":{"login":"kargakis","id":3900799,"avatar_url":"https://avatars.githubusercontent.com/u/3900799?v=3","gravatar_id":"","url":"https://api.github.com/users/kargakis","html_url":"https://github.com/kargakis","followers_url":"https://api.github.com/users/kargakis/followers","following_url":"https://api.github.com/users/kargakis/following{/other_user}","gists_url":"https://api.github.com/users/kargakis/gists{/gist_id}","starred_url":"https://api.github.com/users/kargakis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kargakis/subscriptions","organizations_url":"https://api.github.com/users/kargakis/orgs","repos_url":"https://api.github.com/users/kargakis/repos","events_url":"https://api.github.com/users/kargakis/events{/privacy}","received_events_url":"https://api.github.com/users/kargakis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-29T14:28:30Z","updated_at":"2016-04-18T14:55:06Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/8274","html_url":"https://github.com/openshift/origin/pull/8274","diff_url":"https://github.com/openshift/origin/pull/8274.diff","patch_url":"https://github.com/openshift/origin/pull/8274.patch"},"body":"Pushing merely for discussion.\r\n\r\nThis is an early attempt at setting up the proxy storage for replica sets.\r\nWe will need it mainly for making the upstream deployment controller\r\nplay well with our deployment configs. \r\n\r\n@smarterclayton question: how is the proxy storage supposed to know\r\n that {GET,LIST,DELETE} for a replica set should query the RS storage \r\nor proxy to the RC storage? We separate between the two via an annotation\r\nwhich we don't have in the aforementioned request types to make a call.\r\n\r\ncc: @ironcladlou @pweil- @liggitt @deads2k "},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/211414215","html_url":"https://github.com/openshift/origin/pull/8274#issuecomment-211414215","issue_url":"https://api.github.com/repos/openshift/origin/issues/8274","id":211414215,"user":{"login":"deads2k","id":8225098,"avatar_url":"https://avatars.githubusercontent.com/u/8225098?v=3","gravatar_id":"","url":"https://api.github.com/users/deads2k","html_url":"https://github.com/deads2k","followers_url":"https://api.github.com/users/deads2k/followers","following_url":"https://api.github.com/users/deads2k/following{/other_user}","gists_url":"https://api.github.com/users/deads2k/gists{/gist_id}","starred_url":"https://api.github.com/users/deads2k/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deads2k/subscriptions","organizations_url":"https://api.github.com/users/deads2k/orgs","repos_url":"https://api.github.com/users/deads2k/repos","events_url":"https://api.github.com/users/deads2k/events{/privacy}","received_events_url":"https://api.github.com/users/deads2k/received_events","type":"User","site_admin":false},"created_at":"2016-04-18T14:55:05Z","updated_at":"2016-04-18T14:55:05Z","body":"> I'm still not seeing why we need a custom rest storage... the crux of the issue is round-trip conversion between replicaset and replicationcontroller. If we can solve that (I'm still not convinced we can), we should be able to just configure the storage destination and Group/Version/Kind for both to overlap (which @deads2k is working on enabling upstream), right?\r\n\r\nIn the generic case, I don't think that faithful conversion is possible.  However, I see some value in having custom storage for RCs that:\r\n 1. On list, pulls all RCs and RSs.  It return back all RCs and every RS that is convertible (I think we have enough information to detect).  I could be convinced to return all RS with a \"suspicious\" annotation and the stringified form of the new selector.\r\n 2. On delete, just deletes\r\n 3. On update, pulls the old record with enough fidelity (through conversion or otherwise) to determine if it is convertible.  If so, it overwrites the new record.  Otherwise, it fails.\r\n\r\nThings that worked for them before continue to work.  Things they can safely modify are modifiable.  If some clients are using new features, old clients can't muck with what they're doing.\r\n\r\nThat approach requires customer storage for RCs.\r\n\r\n"}}