{"action":"created","comment":{"url":"https://api.github.com/repos/container-storage-interface/spec/pulls/comments/184437873","pull_request_review_id":115635553,"id":184437873,"diff_hunk":"@@ -503,6 +485,147 @@ message ControllerServiceCapability {\n     RPC rpc = 1;\n   }\n }\n+message CreateSnapshotRequest {\n+  // The ID of the source volume to be snapshotted.\n+  // This field is REQUIRED.\n+  string source_volume_id = 1;\n+\n+  // The suggested name for the snapshot. This field is REQUIRED for\n+  // idempotency.\n+  string name = 2;","path":"csi.proto","position":172,"original_position":172,"commit_id":"1f14ae4093c98e04a3da43b4688f3311c7e9881e","original_commit_id":"1f14ae4093c98e04a3da43b4688f3311c7e9881e","user":{"login":"dims","id":23304,"avatar_url":"https://avatars2.githubusercontent.com/u/23304?v=4","gravatar_id":"","url":"https://api.github.com/users/dims","html_url":"https://github.com/dims","followers_url":"https://api.github.com/users/dims/followers","following_url":"https://api.github.com/users/dims/following{/other_user}","gists_url":"https://api.github.com/users/dims/gists{/gist_id}","starred_url":"https://api.github.com/users/dims/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dims/subscriptions","organizations_url":"https://api.github.com/users/dims/orgs","repos_url":"https://api.github.com/users/dims/repos","events_url":"https://api.github.com/users/dims/events{/privacy}","received_events_url":"https://api.github.com/users/dims/received_events","type":"User","site_admin":false},"body":"@xing-yang the code that created the snapshot is the ONLY one who knows which name is mapped to which ID. in create volumes like you mentioned anyone can look in the PV to find the name and ID. that's not the case here","created_at":"2018-04-26T15:44:29Z","updated_at":"2018-04-26T15:44:29Z","html_url":"https://github.com/container-storage-interface/spec/pull/224#discussion_r184437873","pull_request_url":"https://api.github.com/repos/container-storage-interface/spec/pulls/224","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/comments/184437873"},"html":{"href":"https://github.com/container-storage-interface/spec/pull/224#discussion_r184437873"},"pull_request":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/224"}},"in_reply_to_id":184426033},"pull_request":{"url":"https://api.github.com/repos/container-storage-interface/spec/pulls/224","id":184143209,"html_url":"https://github.com/container-storage-interface/spec/pull/224","diff_url":"https://github.com/container-storage-interface/spec/pull/224.diff","patch_url":"https://github.com/container-storage-interface/spec/pull/224.patch","issue_url":"https://api.github.com/repos/container-storage-interface/spec/issues/224","number":224,"state":"open","locked":false,"title":"Add Snapshot Support in CSI Spec","user":{"login":"xing-yang","id":1185309,"avatar_url":"https://avatars1.githubusercontent.com/u/1185309?v=4","gravatar_id":"","url":"https://api.github.com/users/xing-yang","html_url":"https://github.com/xing-yang","followers_url":"https://api.github.com/users/xing-yang/followers","following_url":"https://api.github.com/users/xing-yang/following{/other_user}","gists_url":"https://api.github.com/users/xing-yang/gists{/gist_id}","starred_url":"https://api.github.com/users/xing-yang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xing-yang/subscriptions","organizations_url":"https://api.github.com/users/xing-yang/orgs","repos_url":"https://api.github.com/users/xing-yang/repos","events_url":"https://api.github.com/users/xing-yang/events{/privacy}","received_events_url":"https://api.github.com/users/xing-yang/received_events","type":"User","site_admin":false},"body":"This PR proposes to add snapshot support in CSI specification.\r\nIt proposes to add 3 new controller service RPCs, including\r\nCreateSnapshot, DeleteSnapshot, and ListSnapshots, and modify\r\nthe existing ControllerGetCapabilitiesResponse and\r\nCreateVolumeRequest.\r\n\r\nThere are several cases for using the snapshot data in a volume:\r\n\r\n1. Create volume from snapshot: In this case, a new volume will be\r\ncreated on the storage backend and the data in the snapshot will\r\nbe copied to the new volume. This case will be addressed by this\r\nproposal.\r\n\r\n2. Revert snapshot: In this case, data in the original volume\r\nwill be erased and replaced with data in the snapshot. This case\r\nis out of scope for this proposal and should be handled by a\r\nfunction of its own (not to be mixed with create volume from\r\nsnapshot) if it is proposed in the future.\r\n\r\nThe following changes will be made in the Service Controller:\r\n- Add CreateSnapshot\r\n- Add DeleteSnapshot\r\n- Add ListSnapshots\r\n- Modify CreateVolumeRequest to support creating a new volume from\r\n  snapshot.\r\n- Modify ControllerGetCapabilitiesResponse to return\r\n  CREATE_DELETE_SNAPSHOT, LIST_SNAPSHOTS, and\r\n  CREATE_VOLUME_FROM_SNAPSHOT support capabilities.\r\n\r\nThis proposal was drafted here:\r\nhttps://docs.google.com/document/d/1oXVuDTNhXerr1UJ48tQrxF9J6vbm2LHVVC3z28655Qo/edit#\r\n\r\nThe PR https://github.com/container-storage-interface/spec/pull/207 is getting very big (possibly due to the large number of comments) and some people can't view it on Github, so close that one and submit a new PR here instead.","created_at":"2018-04-25T19:44:21Z","updated_at":"2018-04-26T15:44:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"63305802c3c8b7308c3b301edcaab9bff93e60c4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/container-storage-interface/spec/pulls/224/commits","review_comments_url":"https://api.github.com/repos/container-storage-interface/spec/pulls/224/comments","review_comment_url":"https://api.github.com/repos/container-storage-interface/spec/pulls/comments{/number}","comments_url":"https://api.github.com/repos/container-storage-interface/spec/issues/224/comments","statuses_url":"https://api.github.com/repos/container-storage-interface/spec/statuses/1f14ae4093c98e04a3da43b4688f3311c7e9881e","head":{"label":"xing-yang:snapshot2","ref":"snapshot2","sha":"1f14ae4093c98e04a3da43b4688f3311c7e9881e","user":{"login":"xing-yang","id":1185309,"avatar_url":"https://avatars1.githubusercontent.com/u/1185309?v=4","gravatar_id":"","url":"https://api.github.com/users/xing-yang","html_url":"https://github.com/xing-yang","followers_url":"https://api.github.com/users/xing-yang/followers","following_url":"https://api.github.com/users/xing-yang/following{/other_user}","gists_url":"https://api.github.com/users/xing-yang/gists{/gist_id}","starred_url":"https://api.github.com/users/xing-yang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xing-yang/subscriptions","organizations_url":"https://api.github.com/users/xing-yang/orgs","repos_url":"https://api.github.com/users/xing-yang/repos","events_url":"https://api.github.com/users/xing-yang/events{/privacy}","received_events_url":"https://api.github.com/users/xing-yang/received_events","type":"User","site_admin":false},"repo":{"id":119099401,"name":"spec","full_name":"xing-yang/spec","owner":{"login":"xing-yang","id":1185309,"avatar_url":"https://avatars1.githubusercontent.com/u/1185309?v=4","gravatar_id":"","url":"https://api.github.com/users/xing-yang","html_url":"https://github.com/xing-yang","followers_url":"https://api.github.com/users/xing-yang/followers","following_url":"https://api.github.com/users/xing-yang/following{/other_user}","gists_url":"https://api.github.com/users/xing-yang/gists{/gist_id}","starred_url":"https://api.github.com/users/xing-yang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xing-yang/subscriptions","organizations_url":"https://api.github.com/users/xing-yang/orgs","repos_url":"https://api.github.com/users/xing-yang/repos","events_url":"https://api.github.com/users/xing-yang/events{/privacy}","received_events_url":"https://api.github.com/users/xing-yang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/xing-yang/spec","description":"Container Storage Interface (CSI) Specification.","fork":true,"url":"https://api.github.com/repos/xing-yang/spec","forks_url":"https://api.github.com/repos/xing-yang/spec/forks","keys_url":"https://api.github.com/repos/xing-yang/spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xing-yang/spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xing-yang/spec/teams","hooks_url":"https://api.github.com/repos/xing-yang/spec/hooks","issue_events_url":"https://api.github.com/repos/xing-yang/spec/issues/events{/number}","events_url":"https://api.github.com/repos/xing-yang/spec/events","assignees_url":"https://api.github.com/repos/xing-yang/spec/assignees{/user}","branches_url":"https://api.github.com/repos/xing-yang/spec/branches{/branch}","tags_url":"https://api.github.com/repos/xing-yang/spec/tags","blobs_url":"https://api.github.com/repos/xing-yang/spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xing-yang/spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xing-yang/spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/xing-yang/spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xing-yang/spec/statuses/{sha}","languages_url":"https://api.github.com/repos/xing-yang/spec/languages","stargazers_url":"https://api.github.com/repos/xing-yang/spec/stargazers","contributors_url":"https://api.github.com/repos/xing-yang/spec/contributors","subscribers_url":"https://api.github.com/repos/xing-yang/spec/subscribers","subscription_url":"https://api.github.com/repos/xing-yang/spec/subscription","commits_url":"https://api.github.com/repos/xing-yang/spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/xing-yang/spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/xing-yang/spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/xing-yang/spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/xing-yang/spec/contents/{+path}","compare_url":"https://api.github.com/repos/xing-yang/spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xing-yang/spec/merges","archive_url":"https://api.github.com/repos/xing-yang/spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xing-yang/spec/downloads","issues_url":"https://api.github.com/repos/xing-yang/spec/issues{/number}","pulls_url":"https://api.github.com/repos/xing-yang/spec/pulls{/number}","milestones_url":"https://api.github.com/repos/xing-yang/spec/milestones{/number}","notifications_url":"https://api.github.com/repos/xing-yang/spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xing-yang/spec/labels{/name}","releases_url":"https://api.github.com/repos/xing-yang/spec/releases{/id}","deployments_url":"https://api.github.com/repos/xing-yang/spec/deployments","created_at":"2018-01-26T20:24:00Z","updated_at":"2018-01-26T20:24:02Z","pushed_at":"2018-04-26T14:32:07Z","git_url":"git://github.com/xing-yang/spec.git","ssh_url":"git@github.com:xing-yang/spec.git","clone_url":"https://github.com/xing-yang/spec.git","svn_url":"https://github.com/xing-yang/spec","homepage":"","size":490,"stargazers_count":0,"watchers_count":0,"language":"Makefile","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"container-storage-interface:master","ref":"master","sha":"1eead7c74ba2e3fca67051c91c58aab554421dc9","user":{"login":"container-storage-interface","id":28406793,"avatar_url":"https://avatars1.githubusercontent.com/u/28406793?v=4","gravatar_id":"","url":"https://api.github.com/users/container-storage-interface","html_url":"https://github.com/container-storage-interface","followers_url":"https://api.github.com/users/container-storage-interface/followers","following_url":"https://api.github.com/users/container-storage-interface/following{/other_user}","gists_url":"https://api.github.com/users/container-storage-interface/gists{/gist_id}","starred_url":"https://api.github.com/users/container-storage-interface/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/container-storage-interface/subscriptions","organizations_url":"https://api.github.com/users/container-storage-interface/orgs","repos_url":"https://api.github.com/users/container-storage-interface/repos","events_url":"https://api.github.com/users/container-storage-interface/events{/privacy}","received_events_url":"https://api.github.com/users/container-storage-interface/received_events","type":"Organization","site_admin":false},"repo":{"id":91765224,"name":"spec","full_name":"container-storage-interface/spec","owner":{"login":"container-storage-interface","id":28406793,"avatar_url":"https://avatars1.githubusercontent.com/u/28406793?v=4","gravatar_id":"","url":"https://api.github.com/users/container-storage-interface","html_url":"https://github.com/container-storage-interface","followers_url":"https://api.github.com/users/container-storage-interface/followers","following_url":"https://api.github.com/users/container-storage-interface/following{/other_user}","gists_url":"https://api.github.com/users/container-storage-interface/gists{/gist_id}","starred_url":"https://api.github.com/users/container-storage-interface/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/container-storage-interface/subscriptions","organizations_url":"https://api.github.com/users/container-storage-interface/orgs","repos_url":"https://api.github.com/users/container-storage-interface/repos","events_url":"https://api.github.com/users/container-storage-interface/events{/privacy}","received_events_url":"https://api.github.com/users/container-storage-interface/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/container-storage-interface/spec","description":"Container Storage Interface (CSI) Specification.","fork":false,"url":"https://api.github.com/repos/container-storage-interface/spec","forks_url":"https://api.github.com/repos/container-storage-interface/spec/forks","keys_url":"https://api.github.com/repos/container-storage-interface/spec/keys{/key_id}","collaborators_url":"https://api.github.com/repos/container-storage-interface/spec/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/container-storage-interface/spec/teams","hooks_url":"https://api.github.com/repos/container-storage-interface/spec/hooks","issue_events_url":"https://api.github.com/repos/container-storage-interface/spec/issues/events{/number}","events_url":"https://api.github.com/repos/container-storage-interface/spec/events","assignees_url":"https://api.github.com/repos/container-storage-interface/spec/assignees{/user}","branches_url":"https://api.github.com/repos/container-storage-interface/spec/branches{/branch}","tags_url":"https://api.github.com/repos/container-storage-interface/spec/tags","blobs_url":"https://api.github.com/repos/container-storage-interface/spec/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/container-storage-interface/spec/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/container-storage-interface/spec/git/refs{/sha}","trees_url":"https://api.github.com/repos/container-storage-interface/spec/git/trees{/sha}","statuses_url":"https://api.github.com/repos/container-storage-interface/spec/statuses/{sha}","languages_url":"https://api.github.com/repos/container-storage-interface/spec/languages","stargazers_url":"https://api.github.com/repos/container-storage-interface/spec/stargazers","contributors_url":"https://api.github.com/repos/container-storage-interface/spec/contributors","subscribers_url":"https://api.github.com/repos/container-storage-interface/spec/subscribers","subscription_url":"https://api.github.com/repos/container-storage-interface/spec/subscription","commits_url":"https://api.github.com/repos/container-storage-interface/spec/commits{/sha}","git_commits_url":"https://api.github.com/repos/container-storage-interface/spec/git/commits{/sha}","comments_url":"https://api.github.com/repos/container-storage-interface/spec/comments{/number}","issue_comment_url":"https://api.github.com/repos/container-storage-interface/spec/issues/comments{/number}","contents_url":"https://api.github.com/repos/container-storage-interface/spec/contents/{+path}","compare_url":"https://api.github.com/repos/container-storage-interface/spec/compare/{base}...{head}","merges_url":"https://api.github.com/repos/container-storage-interface/spec/merges","archive_url":"https://api.github.com/repos/container-storage-interface/spec/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/container-storage-interface/spec/downloads","issues_url":"https://api.github.com/repos/container-storage-interface/spec/issues{/number}","pulls_url":"https://api.github.com/repos/container-storage-interface/spec/pulls{/number}","milestones_url":"https://api.github.com/repos/container-storage-interface/spec/milestones{/number}","notifications_url":"https://api.github.com/repos/container-storage-interface/spec/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/container-storage-interface/spec/labels{/name}","releases_url":"https://api.github.com/repos/container-storage-interface/spec/releases{/id}","deployments_url":"https://api.github.com/repos/container-storage-interface/spec/deployments","created_at":"2017-05-19T04:23:40Z","updated_at":"2018-04-26T08:28:49Z","pushed_at":"2018-04-26T14:32:10Z","git_url":"git://github.com/container-storage-interface/spec.git","ssh_url":"git@github.com:container-storage-interface/spec.git","clone_url":"https://github.com/container-storage-interface/spec.git","svn_url":"https://github.com/container-storage-interface/spec","homepage":"","size":449,"stargazers_count":198,"watchers_count":198,"language":"Makefile","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":57,"mirror_url":null,"archived":false,"open_issues_count":74,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":57,"open_issues":74,"watchers":198,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/224"},"html":{"href":"https://github.com/container-storage-interface/spec/pull/224"},"issue":{"href":"https://api.github.com/repos/container-storage-interface/spec/issues/224"},"comments":{"href":"https://api.github.com/repos/container-storage-interface/spec/issues/224/comments"},"review_comments":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/224/comments"},"review_comment":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/container-storage-interface/spec/pulls/224/commits"},"statuses":{"href":"https://api.github.com/repos/container-storage-interface/spec/statuses/1f14ae4093c98e04a3da43b4688f3311c7e9881e"}},"author_association":"NONE"}}
{"actor":{"display_login":"dims"}}