)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc44403d2ad3407dd3e31508d060d3866834b1d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"58d6e8a1_775249d7","updated":"2022-08-26 10:18:22.000000000","message":"moved to antelope as discussed in weekly call.","commit_id":"7d4b586ea4b0d04022f5617662620c4ba1f5e035"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"076ce33d_81c8c385","updated":"2022-10-11 14:34:13.000000000","message":"I have updated spec as per current implementation present at https://review.opendev.org/c/openstack/manila/+/343980\n\n1. this does not do snapshot based backup. It run copy operation thereby mounting both share and backup and then unmounting those after backup.\n2. Basically it does not support snapshot currently.\n3. Also backup policy related information from earlier patchsets is removed.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"47029403_33955ecf","updated":"2022-10-11 09:52:18.000000000","message":"hi, thanks for your change, here are some comments inline.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"15c073be7cb9e98d979056f3e9255c9d216bc79e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"3875fdee_d834f04d","updated":"2022-10-12 01:27:18.000000000","message":"thanks for your changes.","commit_id":"34968498c6e4bcca81a180353829baa172407d7a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"14badfe3_74feed92","updated":"2022-10-24 15:01:19.000000000","message":"Hi Kiran, thanks for picking this up. Please see my inline comments","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"e77c1cd609a64a5b85c3858eef8253fa24b4e939","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"68a3f24e_9c1bb702","updated":"2022-11-01 05:18:32.000000000","message":"hi, Kiran, here is my opinion.","commit_id":"cd55e77460e0bf5ecd98d36fdb6702b2e56a1818"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"b28fb56aae3fb54ff6ac106374483e9dedabc11a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"916fbbeb_878d04ae","updated":"2022-10-31 05:59:43.000000000","message":"hi, Kiran. thanks for your change. \n","commit_id":"cd55e77460e0bf5ecd98d36fdb6702b2e56a1818"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"a6af890e_e7deca61","updated":"2022-11-03 10:49:24.000000000","message":"hi, Kiran, thanks for your change.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"eb2e44dc_63a34b80","updated":"2022-11-14 14:45:21.000000000","message":"Fixed most of references and error code as asked.","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"65f3b73e2eeed0ae2ac59b57ead2f6ef5db5efe1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"eedfe95b_59b3a25b","updated":"2022-11-07 07:56:17.000000000","message":"LGTM, thanks for your patience with this change.","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"42e29b12_7e399c16","updated":"2022-11-11 20:02:49.000000000","message":"Thanks for working on this spec, Kiran\nPlease check comments inline","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"1017ca3161334ef2d298ce5d201306603d9a3640","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"8d226149_7735dee4","updated":"2022-11-16 04:00:57.000000000","message":"LGTM.","commit_id":"4ffe6697ffa0a227dd2264d460e153571a1420e6"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8c3b489f275249512dfd66858ebae80080bc6ece","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"8cdf4ad5_ce348728","updated":"2022-11-17 04:45:38.000000000","message":"a word wrong.","commit_id":"53569f5d88dd4181f6800df08fc0ac1bc6223dc0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"681c7733fb707d904a234840a48a5490352da695","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"6d6db603_866ac426","updated":"2022-11-16 12:49:25.000000000","message":"thanks haixin for +2, I have added share status and task state information.","commit_id":"53569f5d88dd4181f6800df08fc0ac1bc6223dc0"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"78b8e686_e756cc90","updated":"2022-11-22 23:51:08.000000000","message":"Hi Kiran. Thanks for proposing this backup spec. It\u0027s been a Manila gap. Please, see my comments.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"931f739797cccb3197c598a70c0798f2f37db965","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"ec92197b_06179adf","updated":"2022-11-17 15:12:44.000000000","message":"LGTM，thanks.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"d2528cca_585ea82e","updated":"2022-12-22 10:39:24.000000000","message":"Added new section Future items. ","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d7a2935be68780e7c04167075740c381896c39d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"3dbdc030_c9171fb8","updated":"2022-12-14 19:18:05.000000000","message":"LGTM, thanks for the changes, Kiran!","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"da23f7dbc498000fc5b0f2f05d395ff81aaa6921","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"02b55303_b6773c07","updated":"2022-12-01 05:50:30.000000000","message":"LGTM.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"4a3058898a3d60fad46520f4b12f9c7d06413535","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"3cebc68f_a59ab9f0","updated":"2022-12-15 11:33:21.000000000","message":"Thank you Kiran and haixin for solving my points. Sorry for the late response, I was on PTO. It looks good from my side, just some small open points that we can discuss when the patch is proposed.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"daf7bed0_ebe38027","updated":"2022-12-21 15:30:35.000000000","message":"Thanks for your patience with these reviews, Kiran. Please see some comments inline. I\u0027m okay merging and enhancing the spec since the code\u0027s already shaping up. ","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fe9e5b7b5a618fa1fbd81c0a996866c4f825dca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"0ece03ff_b0c0c670","updated":"2022-12-22 14:33:54.000000000","message":"Fixed","commit_id":"be4391601b0d91e5eb9279634287109825da5044"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9b8e5f6287bf567a42aa084c03cc2ba9d0024385","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"a8420737_d094d523","updated":"2022-12-22 13:54:11.000000000","message":"LGTM, thanks Kiran!","commit_id":"be4391601b0d91e5eb9279634287109825da5044"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4fe6b6e101ff42d273a1752f8e5372d98059cc9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"5eda3b89_cd0d0b05","updated":"2022-12-22 14:27:05.000000000","message":"LGTM, thanks for adding the future items","commit_id":"be4391601b0d91e5eb9279634287109825da5044"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bf2f781580068bb1ce490e702bb5f9fe31fda162","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"aadab00e_02e7acd4","updated":"2022-12-22 15:00:11.000000000","message":"Good stuff; thanks... don\u0027t worry about the formatting right now, lets get this in.","commit_id":"eb3ba53a44b3af01232a4e3af8dd17dfa936c5f3"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b22fb70d76c9518b63dca341076450dfd0f6adc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"3d550546_f1174ce7","updated":"2022-12-22 15:15:29.000000000","message":"let\u0027s merge it.","commit_id":"eb3ba53a44b3af01232a4e3af8dd17dfa936c5f3"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"2ca9d3489b06b50561ae8f26666caba309606485","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"157928c3_7302e9b6","updated":"2022-12-22 15:14:08.000000000","message":"looks good.","commit_id":"eb3ba53a44b3af01232a4e3af8dd17dfa936c5f3"}],"specs/antelope/backup_share.rst":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":51,"context_line":"* New API collection for backups"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  In order to support backup, We will introduce the basic operations create"},{"line_number":54,"context_line":"  /delete/list/show/restore for backups."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* New database resource backup policy"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"134757cf_9532bbdc","line":54,"range":{"start_line":54,"start_character":27,"end_line":54,"end_character":28},"updated":"2022-10-11 09:52:18.000000000","message":"and /update operation. we can see from line 82 that you can also update the backup information, we also need to reset backup state in some scenarios.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* New API collection for backups"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  In order to support backup, We will introduce the basic operations create"},{"line_number":54,"context_line":"  /delete/list/show/restore for backups."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* New database resource backup policy"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"0be31c96_0ffb63d3","line":54,"range":{"start_line":54,"start_character":27,"end_line":54,"end_character":28},"in_reply_to":"134757cf_9532bbdc","updated":"2022-10-11 14:34:13.000000000","message":"Done","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* New status for backup (not backup copy) and share:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  1. backup(creating, available, deleting, deleted, restoring, error,"},{"line_number":117,"context_line":"     error_deleting)"},{"line_number":118,"context_line":"  2. share(backing-up, restoring-backup)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"83beebcf_1fa77c3f","line":116,"range":{"start_line":116,"start_character":5,"end_line":116,"end_character":11},"updated":"2022-10-11 09:52:18.000000000","message":"What state will the share backup roll back after failed to restore? \nwhat about failed to create backup?--maybe error state.\nif it is also error state after restore failed, There can be some confusion,\nhow about add a new state \u0027error_restoring\u0027 for backup?","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"15c073be7cb9e98d979056f3e9255c9d216bc79e","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* New status for backup (not backup copy) and share:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  1. backup(creating, available, deleting, deleted, restoring, error,"},{"line_number":117,"context_line":"     error_deleting)"},{"line_number":118,"context_line":"  2. share(backing-up, restoring-backup)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"ce62dec9_e8773d07","line":116,"range":{"start_line":116,"start_character":5,"end_line":116,"end_character":11},"in_reply_to":"6e3d8cac_46a4bf44","updated":"2022-10-12 01:27:18.000000000","message":"ok, Done.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"* New status for backup (not backup copy) and share:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  1. backup(creating, available, deleting, deleted, restoring, error,"},{"line_number":117,"context_line":"     error_deleting)"},{"line_number":118,"context_line":"  2. share(backing-up, restoring-backup)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"6e3d8cac_46a4bf44","line":116,"range":{"start_line":116,"start_character":5,"end_line":116,"end_character":11},"in_reply_to":"83beebcf_1fa77c3f","updated":"2022-10-11 14:34:13.000000000","message":"if error while creating is error_creating and error while restoring is error_restoring, both error_creating and error_restoring can possibly introduced. But both of these states can only be converted to error state (i.e. neither can move backup to available state), so there is no need of any of them and we can simply consider error state for both scenarios.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"732c1c19_781e69c3","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"updated":"2022-10-11 09:52:18.000000000","message":"if restore to original share, this will same to share id, seems not necessary.\nif restore to a new share, first restore to new share A, then restore to another\nnew share B, this is id of A or B? Instead, add a backup_id attribute to share.\nso i think this restore_share_id not necessary.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"e654bb88_168e7c06","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"in_reply_to":"094a1e1f_a709faf3","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"a5b8792a_7e58f5d3","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"in_reply_to":"094a1e1f_a709faf3","updated":"2022-10-24 16:13:29.000000000","message":"added source_backup_id in shares table.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"094a1e1f_a709faf3","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"in_reply_to":"344d419e_8c12ca13","updated":"2022-10-24 15:01:19.000000000","message":"I agree, naming it \u0027source_backup_id\u0027 would be more consistent","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"f8b276dc_35c4c20f","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"in_reply_to":"732c1c19_781e69c3","updated":"2022-10-11 14:34:13.000000000","message":"I will remove restore_share_id. But we can not add backup_id to share as shares can have multiple backups taken at various timestamps.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"15c073be7cb9e98d979056f3e9255c9d216bc79e","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":193,"context_line":"  | size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":194,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":195,"context_line":"  | restore_share_id      | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":196,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"* Add table for backup policy"}],"source_content_type":"text/x-rst","patch_set":18,"id":"344d419e_8c12ca13","line":195,"range":{"start_line":195,"start_character":4,"end_line":195,"end_character":20},"in_reply_to":"f8b276dc_35c4c20f","updated":"2022-10-12 01:27:18.000000000","message":"share A has an backup A1, A1 restore to new share B and C.\ni mean B and C add \u0027source_backup_id\u0027 attribute to indicate that it comes from\nbackup A1. even B create new backup B1 later, this source_backup_id will not change \neven create multiple backup later.\nSimilarly, we can also add source_snapshot_id to indicate the source of the share created from a snapshot.\n\nHowever, this functionality does not have to be done here and can be submitted to another spec as another feature.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"f13e7db5_6099e5c2","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"updated":"2022-10-11 09:52:18.000000000","message":"I do not recommend that backup be able to revert to any share other than the original share, backup can be used to restore original share  or use backup to\ncreate a new share.\nwe know we can create share from snapshot, backup works similarly, for example:\nmanila create --backup-id xxxxxx","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"2f0b4770_0a3382f1","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"15d3397e_4223e110","updated":"2022-10-24 16:13:29.000000000","message":"You mean \n1. create share from backup\n--- share will be created from backup.\n     \n2. backup-restore \n--- where backup will be restored in specified share, if not specified it will create new share of same size as that of backup and restore to that share. \n\nCorrect ?","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"f85f019c332a783bf04a3892dc33b7be4f1dea7a","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"c68a424d_ca6538a6","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"233101e2_25840539","updated":"2022-10-31 06:06:50.000000000","message":"if we allow specify share id when share restore, if specified a share(not origin share) will lead to Existing data in B would always be overwritten(carthaca said).\nso we not support specify share id when backup restore. if user want to create new share from this backup, please use manila share create command.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":20104,"name":"Dmitrii Galkin","display_name":"Dmitry Galkin","email":"galkindmitrii@gmail.com","username":"galkindmitrii"},"change_message_id":"6ecc6c2adb887c7a70abc2c021a856fb0b3b2810","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"99c58981_a4a44b42","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"2813e2a5_f5787c0c","updated":"2022-10-31 12:27:39.000000000","message":"+1 for only allowing to either create a new share from a backup or to restore the backup to the original \"source of backup\" share.\n\nIf the original \"source of backup\" was deleted it should still be possible to create a new share from the backup: manila share-create --backup-id\u003d\"...\"","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"b28fb56aae3fb54ff6ac106374483e9dedabc11a","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"233101e2_25840539","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"2f0b4770_0a3382f1","updated":"2022-10-31 05:59:43.000000000","message":"1. create share from backup\n--- share will be created from backup.\nyes, just like manila share create --backup-id xxxxx\n\n2. backup-restore \n--- where backup will be restored in specified share, if not specified it will create new share of same size as that of backup and restore to that share. \ni think there is no necessary to support specify share in backup-resore. if not specified, it will restore to backup\u0027s origin share default.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"15d3397e_4223e110","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"30068650_d7cfedfe","updated":"2022-10-24 15:01:19.000000000","message":"Existing data in B would always be overwritten, right? What is the use-case in creating the share B beforehand?\n\nPersonally I would prefer to keep it more similar to the snapshot workflows.\n- backup-restore similar to revert to snapshot as an action on a certain share that was the base of the backup/snapshot\n- create from backup similar to create from snapshot to create a new share based on backup/snapshot","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"634c48c0_77a2ed6f","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"438a90ff_a3bd3249","updated":"2022-12-21 15:30:35.000000000","message":"Can you please clarify in the spec that \"create new share from backup\" is a future work item?","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"2e28ba72039d99aaac9ffe0ff9839fda53aca33c","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"f7d53add_74ee1d7b","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"58f290e4_4fbdc443","updated":"2022-10-12 02:49:59.000000000","message":"Let\u0027s listen to other reviewer\u0027s opinion on whether we are allowed to restore to other shares besides the original share","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"15c073be7cb9e98d979056f3e9255c9d216bc79e","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"58f290e4_4fbdc443","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"8fe3b3a3_2ffca8af","updated":"2022-10-12 01:27:18.000000000","message":"* share: ID or name of a existing share to restore. Default\u003dNone\n\ni mean here we can only restore to original share, the id of share we can get from backup.share_id. don\u0027t have to specify it in req body. and we can not specify a exiting share(not original share) to restore.\n\nif restore to new share, The share id is generated automatically and does not need to be specified here. Perhaps we need to modify the share creation process to support creation from backup.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"e77c1cd609a64a5b85c3858eef8253fa24b4e939","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"9d3b7ab6_9903f8b6","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"99c58981_a4a44b42","updated":"2022-11-01 05:18:32.000000000","message":"1：if parent share is deleted already. backup restore to origin share will return 403, reason: bakcup\u0027s origin share not found.\n2: if parent share has been extend or shrink(size has changed), backup restore to origin share will also return 403, reason: size is different.\n3: create new share A from backup B, size of A must \u003e\u003d size of B.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"97c4a9e07c5fd373dfba738f771609fc7a94d859","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"438a90ff_a3bd3249","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"9d3b7ab6_9903f8b6","updated":"2022-11-01 15:03:41.000000000","message":"updated backup restore command. \nNo reference of manila share create from backup is added as its not targeted under this spec.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"028730f660bf3d2f134c5f9ffba0f33f912ba519","unresolved":true,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"2813e2a5_f5787c0c","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"c68a424d_ca6538a6","updated":"2022-10-31 09:14:29.000000000","message":"Ok, so to create share from backup, we will use manila share create\nto restore backup, if share is not specified, we restore in parent share (from which backup is created). What is parent share is deleted already and not present during backup ?","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"8fe3b3a3_2ffca8af","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"f13e7db5_6099e5c2","updated":"2022-10-11 14:34:13.000000000","message":"backup-restore is similar to creating share from backup. So backup after restore will itself remain Available and share will also remain Available, it just that share instead of empty now contains data copied from backup.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"1d1977bf7aece25a536ef1bce064820b574a17b0","unresolved":false,"context_lines":[{"line_number":261,"context_line":"* backup: ID of backup to restore."},{"line_number":262,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":263,"context_line":"  copy if is not specified with command."},{"line_number":264,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":265,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"manila backup-list [--name \u003cname\u003e]"}],"source_content_type":"text/x-rst","patch_set":18,"id":"30068650_d7cfedfe","line":264,"range":{"start_line":264,"start_character":9,"end_line":264,"end_character":50},"in_reply_to":"f7d53add_74ee1d7b","updated":"2022-10-12 08:26:02.000000000","message":"In initial implementation I think we can consider as \n1. Create share A, write data to it\n2. After some time, take backup of A as A_backup\n3. Create share B,\n4. Restore backup of A i.e. A_backup in B. This way we need to specify share in restore API. Creating share directly from backup would also be nice extension that we can consider in future.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"If the tenant\u0027s share backup quota has exceeded, the API will respond with"},{"line_number":317,"context_line":"``403 Forbidden``."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Response(202 Accepted)::"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":18,"id":"2daf4c01_9abaad77","line":318,"updated":"2022-10-11 09:52:18.000000000","message":"If the \u0027share\u0027 is not \u0027available\u0027, will return 403.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"If the tenant\u0027s share backup quota has exceeded, the API will respond with"},{"line_number":317,"context_line":"``403 Forbidden``."},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"Response(202 Accepted)::"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3a6f7357_4dfcf9d0","line":318,"in_reply_to":"2daf4c01_9abaad77","updated":"2022-10-11 14:34:13.000000000","message":"Done","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    DELETE /v2/{tenant_id}/backups/{backup_id}?backup-copy\u003dbackup_one"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"If the share backup is invalid, the API will respond with ``404``,"},{"line_number":338,"context_line":"and if the share backup copy id is invalid, the API will return with ``500``."},{"line_number":339,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":340,"context_line":"If the share backup copy id is not consistent with share backup, the API"}],"source_content_type":"text/x-rst","patch_set":18,"id":"bb8bab3c_b91d887a","line":337,"range":{"start_line":337,"start_character":65,"end_line":337,"end_character":66},"updated":"2022-10-11 09:52:18.000000000","message":"if share backup state not in available or error, the API will responsed with \u0027403\u0027, \nunless with force\u003dtrue in req.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":334,"context_line":""},{"line_number":335,"context_line":"    DELETE /v2/{tenant_id}/backups/{backup_id}?backup-copy\u003dbackup_one"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"If the share backup is invalid, the API will respond with ``404``,"},{"line_number":338,"context_line":"and if the share backup copy id is invalid, the API will return with ``500``."},{"line_number":339,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":340,"context_line":"If the share backup copy id is not consistent with share backup, the API"}],"source_content_type":"text/x-rst","patch_set":18,"id":"710e5daf_dcdc3c59","line":337,"range":{"start_line":337,"start_character":65,"end_line":337,"end_character":66},"in_reply_to":"bb8bab3c_b91d887a","updated":"2022-10-11 14:34:13.000000000","message":"Done","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"249b54787aca546df66074f75d35512414ebb376","unresolved":true,"context_lines":[{"line_number":431,"context_line":"Driver impact"},{"line_number":432,"context_line":"-------------"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"The backup driver need to implement the these functions::"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"    def backup(self, backup, share):"},{"line_number":437,"context_line":"        \"\"\"Start a backup of a specified share."}],"source_content_type":"text/x-rst","patch_set":18,"id":"9defc630_dc507184","line":434,"range":{"start_line":434,"start_character":40,"end_line":434,"end_character":55},"updated":"2022-10-11 09:52:18.000000000","message":"do we need this function?\ndef preserve_metadata()  in order to save share metadata,\nand \ndef restore_metadata()   when restore a share.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"15c073be7cb9e98d979056f3e9255c9d216bc79e","unresolved":false,"context_lines":[{"line_number":431,"context_line":"Driver impact"},{"line_number":432,"context_line":"-------------"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"The backup driver need to implement the these functions::"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"    def backup(self, backup, share):"},{"line_number":437,"context_line":"        \"\"\"Start a backup of a specified share."}],"source_content_type":"text/x-rst","patch_set":18,"id":"0c6fb7b5_0917673b","line":434,"range":{"start_line":434,"start_character":40,"end_line":434,"end_character":55},"in_reply_to":"3165de3e_d4af7342","updated":"2022-10-12 01:27:18.000000000","message":"ok.","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"35d504ccb0698e3a18f85e977a3e656975a75323","unresolved":false,"context_lines":[{"line_number":431,"context_line":"Driver impact"},{"line_number":432,"context_line":"-------------"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"The backup driver need to implement the these functions::"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"    def backup(self, backup, share):"},{"line_number":437,"context_line":"        \"\"\"Start a backup of a specified share."}],"source_content_type":"text/x-rst","patch_set":18,"id":"3165de3e_d4af7342","line":434,"range":{"start_line":434,"start_character":40,"end_line":434,"end_character":55},"in_reply_to":"9defc630_dc507184","updated":"2022-10-11 14:34:13.000000000","message":"Not now","commit_id":"f24dba9c9bd0abd53ad1f29037377a82b2dae965"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  1. Create a backup."},{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"}],"source_content_type":"text/x-rst","patch_set":21,"id":"e457209a_9a47d6b3","line":72,"range":{"start_line":72,"start_character":5,"end_line":72,"end_character":32},"updated":"2022-10-24 15:01:19.000000000","message":"nit: Update backup information.","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  1. Create a backup."},{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"}],"source_content_type":"text/x-rst","patch_set":21,"id":"9c8fd07b_0ecbcf6a","line":72,"range":{"start_line":72,"start_character":5,"end_line":72,"end_character":32},"in_reply_to":"e457209a_9a47d6b3","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  1. Create a backup."},{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"}],"source_content_type":"text/x-rst","patch_set":21,"id":"c455a7c3_d3cc0cff","line":72,"range":{"start_line":72,"start_character":5,"end_line":72,"end_character":32},"in_reply_to":"e457209a_9a47d6b3","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":21,"id":"3f84464c_69938175","line":73,"range":{"start_line":73,"start_character":5,"end_line":73,"end_character":19},"updated":"2022-10-24 15:01:19.000000000","message":"nit: List backups.","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":21,"id":"94f4945c_9ab1040f","line":73,"range":{"start_line":73,"start_character":5,"end_line":73,"end_character":19},"in_reply_to":"3f84464c_69938175","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a share from a specified backup."},{"line_number":72,"context_line":"  4. Update a backup information."},{"line_number":73,"context_line":"  5. List a backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":21,"id":"dd1c517e_8d07f833","line":73,"range":{"start_line":73,"start_character":5,"end_line":73,"end_character":19},"in_reply_to":"3f84464c_69938175","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":185,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":186,"context_line":"* share: Name or ID of share to backup."},{"line_number":187,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":188,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":191,"context_line":"                      [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"dd4aafdc_2dd102da","line":188,"updated":"2022-10-24 15:01:19.000000000","message":"Where will the metadata be saved? I assume this needs another new database table: backup_metadata.\n\nOr scratch that and move backup of metadata to a possible future enhancement.","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":186,"context_line":"* share: Name or ID of share to backup."},{"line_number":187,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":188,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":191,"context_line":"                      [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"1e464512_cf69eeea","line":188,"in_reply_to":"6d029786_448b771e","updated":"2022-12-22 10:39:24.000000000","message":"ok, added","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":186,"context_line":"* share: Name or ID of share to backup."},{"line_number":187,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":188,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":191,"context_line":"                      [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"6d029786_448b771e","line":188,"in_reply_to":"cb061944_27c1d530","updated":"2022-12-21 15:30:35.000000000","message":"i\u0027d like this to be noted in the spec as a future work item too, please","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":186,"context_line":"* share: Name or ID of share to backup."},{"line_number":187,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":188,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":191,"context_line":"                      [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"cb061944_27c1d530","line":188,"in_reply_to":"dd4aafdc_2dd102da","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":185,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":186,"context_line":"* share: Name or ID of share to backup."},{"line_number":187,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":188,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":191,"context_line":"                      [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7232c398_f7a83c8f","line":188,"in_reply_to":"dd4aafdc_2dd102da","updated":"2022-10-24 16:13:29.000000000","message":"removed all reference of metadata in this spec","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":196,"context_line":"  If not specified, new share will be created of same size as that"},{"line_number":197,"context_line":"  backup and then backup is restored in that share."},{"line_number":198,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"manila backup-list [--name \u003cname\u003e]"},{"line_number":201,"context_line":"                   [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"ac650389_06f24afc","line":198,"updated":"2022-10-24 15:01:19.000000000","message":"To me this is confusing - what would it mean: preserve the current share metadata or preserve the metadata that is attached to the backup?\n\nI suggest to make it clearer by naming it \u0027restore-metadata\u0027. Or like commented above: scratch it.","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":196,"context_line":"  If not specified, new share will be created of same size as that"},{"line_number":197,"context_line":"  backup and then backup is restored in that share."},{"line_number":198,"context_line":"* preserve_metadata: True or False. Default\u003dTrue"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"manila backup-list [--name \u003cname\u003e]"},{"line_number":201,"context_line":"                   [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":21,"id":"5c6f5635_fae65995","line":198,"in_reply_to":"ac650389_06f24afc","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"**Restore a share backup**::"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    POST /v2/backups/{backup_id}/restore"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"Request::"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"ff0b3941_afe86a38","line":306,"updated":"2022-10-24 15:01:19.000000000","message":"I\u0027m wondering if we should go with\n\n    POST /v2/backups/{backup_id}/action\n    \ninstead","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"**Restore a share backup**::"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    POST /v2/backups/{backup_id}/restore"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"Request::"},{"line_number":309,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"c4d7e4b1_e13e96be","line":306,"in_reply_to":"ff0b3941_afe86a38","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"**Update a share backup information**::"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    POST /v2/backups/{backup_id}/update"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"Request::"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7d531e09_df49538f","line":325,"updated":"2022-10-24 15:01:19.000000000","message":"I think this should be:\n\n    PUT /v2/backups/{backup_id}","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"**Update a share backup information**::"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    POST /v2/backups/{backup_id}/update"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"Request::"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"6c917752_ecbcc580","line":325,"in_reply_to":"7d531e09_df49538f","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":327,"context_line":"Request::"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    {"},{"line_number":330,"context_line":"        \"update\": {"},{"line_number":331,"context_line":"            \"display_name\": \"test share backup\","},{"line_number":332,"context_line":"        }"},{"line_number":333,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":21,"id":"558e55ea_9e081e9d","line":330,"range":{"start_line":330,"start_character":9,"end_line":330,"end_character":15},"updated":"2022-10-24 15:01:19.000000000","message":"backup\n\nwhen changing from POST to PUT above","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":327,"context_line":"Request::"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    {"},{"line_number":330,"context_line":"        \"update\": {"},{"line_number":331,"context_line":"            \"display_name\": \"test share backup\","},{"line_number":332,"context_line":"        }"},{"line_number":333,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":21,"id":"2bc4a6ec_3ee3f576","line":330,"range":{"start_line":330,"start_character":9,"end_line":330,"end_character":15},"in_reply_to":"558e55ea_9e081e9d","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":333,"context_line":"    }"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":336,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"Driver impact"}],"source_content_type":"text/x-rst","patch_set":21,"id":"0585c7f2_4633c135","line":336,"range":{"start_line":336,"start_character":17,"end_line":336,"end_character":47},"updated":"2022-10-24 15:01:19.000000000","message":"``200``if request was successful.","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    }"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":336,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"Driver impact"}],"source_content_type":"text/x-rst","patch_set":21,"id":"a189e277_becd4709","line":336,"range":{"start_line":336,"start_character":17,"end_line":336,"end_character":47},"in_reply_to":"0585c7f2_4633c135","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":339,"context_line":"Driver impact"},{"line_number":340,"context_line":"-------------"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"The backup driver need to implement the these functions::"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def backup(self, backup, share):"},{"line_number":345,"context_line":"        \"\"\"Start a backup of a specified share."}],"source_content_type":"text/x-rst","patch_set":21,"id":"c3cdab92_3f037afc","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":55},"updated":"2022-10-24 15:01:19.000000000","message":"nit: The backup driver needs to implement these functions","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":339,"context_line":"Driver impact"},{"line_number":340,"context_line":"-------------"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"The backup driver need to implement the these functions::"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def backup(self, backup, share):"},{"line_number":345,"context_line":"        \"\"\"Start a backup of a specified share."}],"source_content_type":"text/x-rst","patch_set":21,"id":"632052a7_600ee85d","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":55},"in_reply_to":"c3cdab92_3f037afc","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":345,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        The driver should return the backup model with new created"},{"line_number":348,"context_line":"        backup content if creation is successfully, manila"},{"line_number":349,"context_line":"        will update the model after this. For example::"},{"line_number":350,"context_line":"        ```"},{"line_number":351,"context_line":"        {\"backup\":"}],"source_content_type":"text/x-rst","patch_set":21,"id":"d92bf8b2_c7ab55f8","line":348,"range":{"start_line":348,"start_character":38,"end_line":348,"end_character":50},"updated":"2022-10-24 15:01:19.000000000","message":"nit: successful","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":345,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"        The driver should return the backup model with new created"},{"line_number":348,"context_line":"        backup content if creation is successfully, manila"},{"line_number":349,"context_line":"        will update the model after this. For example::"},{"line_number":350,"context_line":"        ```"},{"line_number":351,"context_line":"        {\"backup\":"}],"source_content_type":"text/x-rst","patch_set":21,"id":"4a5e7cad_aafc8614","line":348,"range":{"start_line":348,"start_character":38,"end_line":348,"end_character":50},"in_reply_to":"d92bf8b2_c7ab55f8","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":398,"context_line":""},{"line_number":399,"context_line":"End user will be unavailable or restricted to other share operations"},{"line_number":400,"context_line":"while it is backing up. Such as: extend/shrink share, replication share,"},{"line_number":401,"context_line":"cg-group operation, migration share."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Performance Impact"},{"line_number":404,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"2b158d25_45797619","line":401,"range":{"start_line":401,"start_character":0,"end_line":401,"end_character":8},"updated":"2022-10-24 15:01:19.000000000","message":"this is called \u0027share group\u0027 now","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":398,"context_line":""},{"line_number":399,"context_line":"End user will be unavailable or restricted to other share operations"},{"line_number":400,"context_line":"while it is backing up. Such as: extend/shrink share, replication share,"},{"line_number":401,"context_line":"cg-group operation, migration share."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Performance Impact"},{"line_number":404,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":21,"id":"0e9c9948_e58196b8","line":401,"range":{"start_line":401,"start_character":0,"end_line":401,"end_character":8},"in_reply_to":"2b158d25_45797619","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"a9eaf8978528687e4b4eba5fb90a1d383bc57c72","unresolved":true,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"Primary assignee:"},{"line_number":425,"context_line":"    * kpdev(kinpaa@gmail.com)"},{"line_number":426,"context_line":"    * zhongjun(jun.zhongjun@huawei.com)"},{"line_number":427,"context_line":"    * TommyLikeHu(tommylikehu@gmail.com)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":21,"id":"cb16cc0c_288dc4a0","line":426,"updated":"2022-10-24 15:01:19.000000000","message":"assignee list appears out of date","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fc015d3802c7df96aa8fc5dd4782780b7a037e32","unresolved":false,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"Primary assignee:"},{"line_number":425,"context_line":"    * kpdev(kinpaa@gmail.com)"},{"line_number":426,"context_line":"    * zhongjun(jun.zhongjun@huawei.com)"},{"line_number":427,"context_line":"    * TommyLikeHu(tommylikehu@gmail.com)"},{"line_number":428,"context_line":""},{"line_number":429,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":21,"id":"3dd8d0c3_faa4a961","line":426,"in_reply_to":"cb16cc0c_288dc4a0","updated":"2022-10-24 16:13:29.000000000","message":"Done","commit_id":"e5789d791d6221e0d988cdd4978a87b9f98c994a"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":24,"id":"cc813888_d40079d1","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":18},"updated":"2022-11-03 10:49:24.000000000","message":"6: backup share metadata\n7: restore share metadata\n8: delete share metadata(if backup been deleted).","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"65f3b73e2eeed0ae2ac59b57ead2f6ef5db5efe1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":24,"id":"06ccb8bf_01fab3e0","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":18},"in_reply_to":"3e0a1a6d_30496e54","updated":"2022-11-07 07:56:17.000000000","message":"ok, i see.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":true,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":24,"id":"3e0a1a6d_30496e54","line":73,"range":{"start_line":73,"start_character":17,"end_line":73,"end_character":18},"in_reply_to":"cc813888_d40079d1","updated":"2022-11-03 14:15:38.000000000","message":"I have already removed all references of metadata(which were present initially) to make spec accepted upstream quickly. Might be we consider this in another spec.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, error,"},{"line_number":106,"context_line":"       backup_restoring, backup_restoring_error)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* New clean up actions"}],"source_content_type":"text/x-rst","patch_set":24,"id":"e65a32da_13ff9c6e","line":105,"range":{"start_line":105,"start_character":19,"end_line":105,"end_character":24},"updated":"2022-11-03 10:49:24.000000000","message":"remove this, this is not new status for share.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":false,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, error,"},{"line_number":106,"context_line":"       backup_restoring, backup_restoring_error)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* New clean up actions"}],"source_content_type":"text/x-rst","patch_set":24,"id":"c3ecf704_4670d135","line":105,"range":{"start_line":105,"start_character":19,"end_line":105,"end_character":24},"in_reply_to":"e65a32da_13ff9c6e","updated":"2022-11-03 14:15:38.000000000","message":"Done","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":192,"context_line":"                      [--share \u003cshare\u003e]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"* backup: ID of backup to restore."},{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"}],"source_content_type":"text/x-rst","patch_set":24,"id":"e57f4069_95bad78b","line":192,"range":{"start_line":192,"start_character":22,"end_line":192,"end_character":39},"updated":"2022-11-03 10:49:24.000000000","message":"remove this line","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":192,"context_line":"                      [--share \u003cshare\u003e]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"* backup: ID of backup to restore."},{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"}],"source_content_type":"text/x-rst","patch_set":24,"id":"19d8d708_99d630b4","line":192,"range":{"start_line":192,"start_character":22,"end_line":192,"end_character":39},"in_reply_to":"e57f4069_95bad78b","updated":"2022-11-03 14:15:38.000000000","message":"Done","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":192,"context_line":"                      [--share \u003cshare\u003e]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"* backup: ID of backup to restore."},{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":196,"context_line":"  If not specified, source share (i.e. share from which backup was created)"},{"line_number":197,"context_line":"  will be used for restore."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"manila backup-list [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":24,"id":"00cbbd60_a391615d","line":197,"range":{"start_line":195,"start_character":2,"end_line":197,"end_character":27},"updated":"2022-11-03 10:49:24.000000000","message":"remove, we do not support specify share in backup-restore. we use source share as default share to restore. if source share has been deleted or size different, we raise directly.\n\nthen, \nwe should update another existing cli.\n\nmanila create, we need to support a new paramter [--backup-id \u003cbackup-id\u003e]\n\nthat means, we support restore to specified share in backup dirver. since create share from backup will use this interface. but in manila client we do not provide an invocation with a specified share id, even rest api also not provide this.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                      [--share \u003cshare\u003e]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"* backup: ID of backup to restore."},{"line_number":195,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":196,"context_line":"  If not specified, source share (i.e. share from which backup was created)"},{"line_number":197,"context_line":"  will be used for restore."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"manila backup-list [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":24,"id":"5c39a6c6_0406e32d","line":197,"range":{"start_line":195,"start_character":2,"end_line":197,"end_character":27},"in_reply_to":"00cbbd60_a391615d","updated":"2022-11-03 14:15:38.000000000","message":"Done","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    {"},{"line_number":317,"context_line":"        \"restore\": {"},{"line_number":318,"context_line":"            \"share\": \"test share one\","},{"line_number":319,"context_line":"            \"force\": true,"},{"line_number":320,"context_line":"        }"},{"line_number":321,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":24,"id":"fa81a004_b64cbee5","line":318,"range":{"start_line":318,"start_character":12,"end_line":318,"end_character":38},"updated":"2022-11-03 10:49:24.000000000","message":"remove.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    {"},{"line_number":317,"context_line":"        \"restore\": {"},{"line_number":318,"context_line":"            \"share\": \"test share one\","},{"line_number":319,"context_line":"            \"force\": true,"},{"line_number":320,"context_line":"        }"},{"line_number":321,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":24,"id":"5243dd49_50a1f11a","line":318,"range":{"start_line":318,"start_character":12,"end_line":318,"end_character":38},"in_reply_to":"fa81a004_b64cbee5","updated":"2022-11-03 14:15:38.000000000","message":"Done","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"bb618135580b060fb4bba770dc7ae63287b58031","unresolved":true,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"Details ``share``, ``force`` are optional."},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"If share is not specified, source share (i.e. share from which backup was"},{"line_number":326,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":327,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":328,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":329,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"817857f6_e650d1a3","line":326,"range":{"start_line":325,"start_character":0,"end_line":326,"end_character":34},"updated":"2022-11-03 10:49:24.000000000","message":"backup restore api only support restore to source share for user.\nno need to support specified share in rest api.\n\nalthough we can restore backup to specified share in backup driver. but this only available for create new share(id of new share instead of share id specified by user)  from backup. this is just internal calls.\n\nbackup.share_id instead of share id specified by user in backup-restore","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0503cb632b5973ba6a7d7410664410122b453888","unresolved":true,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"Details ``share``, ``force`` are optional."},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"If share is not specified, source share (i.e. share from which backup was"},{"line_number":326,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":327,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":328,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":329,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"e75da1f4_e1e7779a","line":326,"range":{"start_line":325,"start_character":0,"end_line":326,"end_character":34},"in_reply_to":"817857f6_e650d1a3","updated":"2022-11-03 14:15:38.000000000","message":"I have updated restore, but lets not add manila create \u003c--backup-id\u003e in this spec. It is targeted to agree on backup APIs.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"65f3b73e2eeed0ae2ac59b57ead2f6ef5db5efe1","unresolved":false,"context_lines":[{"line_number":322,"context_line":""},{"line_number":323,"context_line":"Details ``share``, ``force`` are optional."},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"If share is not specified, source share (i.e. share from which backup was"},{"line_number":326,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":327,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":328,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":329,"context_line":""}],"source_content_type":"text/x-rst","patch_set":24,"id":"6fc49cd2_694b6b6b","line":326,"range":{"start_line":325,"start_character":0,"end_line":326,"end_character":34},"in_reply_to":"e75da1f4_e1e7779a","updated":"2022-11-07 07:56:17.000000000","message":"ok, maybe backup or restore metadata  and manila cteate \u003c--backup-id\u003e both in another spec.","commit_id":"08e89c1ce64fd6813c982caa565361c771ce41ce"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":38,"context_line":"projects for data protection and can also be used directly by users who do"},{"line_number":39,"context_line":"not need those higher level projects."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"When user backing up files from a share in a naive way, we lose metadata. By"},{"line_number":42,"context_line":"having backup API in Manila, we can retain metadata (when backend is identical)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Also when talking about share backup. Most of the users would like to"}],"source_content_type":"text/x-rst","patch_set":25,"id":"c4ea84e4_39f66509","line":41,"range":{"start_line":41,"start_character":45,"end_line":41,"end_character":50},"updated":"2022-11-11 20:02:49.000000000","message":"do you actually mean naive or native?","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":38,"context_line":"projects for data protection and can also be used directly by users who do"},{"line_number":39,"context_line":"not need those higher level projects."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"When user backing up files from a share in a naive way, we lose metadata. By"},{"line_number":42,"context_line":"having backup API in Manila, we can retain metadata (when backend is identical)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Also when talking about share backup. Most of the users would like to"}],"source_content_type":"text/x-rst","patch_set":25,"id":"a18fa006_4c2837dd","line":41,"range":{"start_line":41,"start_character":45,"end_line":41,"end_character":50},"in_reply_to":"c4ea84e4_39f66509","updated":"2022-11-14 14:45:21.000000000","message":"its naive way or non-expert way.","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":41,"context_line":"When user backing up files from a share in a naive way, we lose metadata. By"},{"line_number":42,"context_line":"having backup API in Manila, we can retain metadata (when backend is identical)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Also when talking about share backup. Most of the users would like to"},{"line_number":45,"context_line":"enforce backup policies on them. Such as incremental backup every two days,"},{"line_number":46,"context_line":"create backup local or remote, only keep latest 5 copies, etc."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"9358916b_7d5da4a8","line":44,"range":{"start_line":44,"start_character":36,"end_line":44,"end_character":39},"updated":"2022-11-11 20:02:49.000000000","message":", most","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":41,"context_line":"When user backing up files from a share in a naive way, we lose metadata. By"},{"line_number":42,"context_line":"having backup API in Manila, we can retain metadata (when backend is identical)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Also when talking about share backup. Most of the users would like to"},{"line_number":45,"context_line":"enforce backup policies on them. Such as incremental backup every two days,"},{"line_number":46,"context_line":"create backup local or remote, only keep latest 5 copies, etc."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"b5435a96_ca9c762d","line":44,"range":{"start_line":44,"start_character":36,"end_line":44,"end_character":39},"in_reply_to":"9358916b_7d5da4a8","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data share from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."},{"line_number":84,"context_line":"  6. Deny access to share and backend share."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5ae88cdd_1701739b","line":82,"range":{"start_line":82,"start_character":5,"end_line":82,"end_character":49},"updated":"2022-11-11 20:02:49.000000000","message":"this statement sounds a bit confusing, could you please rephrase?","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data share from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."},{"line_number":84,"context_line":"  6. Deny access to share and backend share."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"8d5ee497_043adb44","line":82,"range":{"start_line":82,"start_character":5,"end_line":82,"end_character":49},"in_reply_to":"5ae88cdd_1701739b","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, backup_restoring, backup_restoring_error)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* New clean up actions"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"2b5755ca_2d5722ee","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":17},"updated":"2022-11-11 20:02:49.000000000","message":"operations with share would be blocked during share backup?\nIf not, I believe we could use backing_up as task state or something else instead.\nI am saying this because as I understand, the idea of share backup is to have it done automatically and with policies defined... If every time the driver is doing a backup the share becomes untouched, it becomes a problem. Do I get this right? If I\u0027m right, what would be a way to avoid this?","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":true,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, backup_restoring, backup_restoring_error)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* New clean up actions"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"d68644ee_f9d2fd8b","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":17},"in_reply_to":"2b5755ca_2d5722ee","updated":"2022-11-14 14:45:21.000000000","message":"It is like migration, where share finally become available after migration is finished and same is applicable for backup. If share is during backing_up state, it should not snapshot or replicated. WDYT.\nThere exist task state during data copy operation, similar to migration. So backup_up would be share state and yes, possibly other share operations should not be done during that period.","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"1017ca3161334ef2d298ce5d201306603d9a3640","unresolved":false,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, backup_restoring, backup_restoring_error)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* New clean up actions"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"ea1095e8_4005cbe8","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":17},"in_reply_to":"56d98167_e7fd25bc","updated":"2022-11-16 04:00:57.000000000","message":"yes, we can keep task_state as TASK_STATE_DATA_COPYING_ERROR if failed to bakcup,\nand also can record an share message about this failure.","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9ea31ca2b7321c9f6d937e4dae9abb5e92c7cf0e","unresolved":true,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, backup_restoring, backup_restoring_error)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* New clean up actions"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"56d98167_e7fd25bc","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":17},"in_reply_to":"c939a612_074f47a5","updated":"2022-11-15 09:15:27.000000000","message":"If everything works fine, share will be available and task_state would be None\nIf something breaks e.g. Copy, share will be in available state, but task_state would be TASK_STATE_DATA_COPYING_ERROR.\nOr you want to clear share task_state also as part of failure ?","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"866ce40231e8d7c4b1fcde27477db9a706ab6b37","unresolved":true,"context_lines":[{"line_number":102,"context_line":"       deleting, deleted, error_deleting"},{"line_number":103,"context_line":"       backup_restoring, error)"},{"line_number":104,"context_line":"  2. share("},{"line_number":105,"context_line":"       backing_up, backup_restoring, backup_restoring_error)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* New clean up actions"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"c939a612_074f47a5","line":105,"range":{"start_line":105,"start_character":7,"end_line":105,"end_character":17},"in_reply_to":"d68644ee_f9d2fd8b","updated":"2022-11-15 05:59:20.000000000","message":"yes, share can not exec delete, soft_delete, migration, extend, shrink, ummanage, revert_to_snapshot, crate_snapshot, create_replicated. should add these to this spec.\n\nFinally, whether or not the share is successfully backed up, the state of the share is rolled back to the available state","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  The backup and restore actions could break when service is down, so new"},{"line_number":110,"context_line":"  clean up action will be added to reset the status and clean temporary"},{"line_number":111,"context_line":"  files(if involved)."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* New quotas for backup"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"d4860839_2b9d3e4b","line":111,"range":{"start_line":111,"start_character":6,"end_line":111,"end_character":8},"updated":"2022-11-11 20:02:49.000000000","message":"nit: missing blank space between s and (","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  The backup and restore actions could break when service is down, so new"},{"line_number":110,"context_line":"  clean up action will be added to reset the status and clean temporary"},{"line_number":111,"context_line":"  files(if involved)."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"* New quotas for backup"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"20225a4c_6ce88065","line":111,"range":{"start_line":111,"start_character":6,"end_line":111,"end_character":8},"in_reply_to":"d4860839_2b9d3e4b","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":174,"context_line":"CLI API impact"},{"line_number":175,"context_line":"--------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Add new commands to manila-client:"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"manila backup-create  [--name \u003cname\u003e]"},{"line_number":180,"context_line":"                      [--description \u003cdescription\u003e]"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5a6628b2_6d22ec0e","line":177,"range":{"start_line":177,"start_character":20,"end_line":177,"end_character":34},"updated":"2022-11-11 20:02:49.000000000","message":"manila-client implementation is optional and discouraged since the last cycle. The mandatory implementation now is for OSC.","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":174,"context_line":"CLI API impact"},{"line_number":175,"context_line":"--------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Add new commands to manila-client:"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"manila backup-create  [--name \u003cname\u003e]"},{"line_number":180,"context_line":"                      [--description \u003cdescription\u003e]"}],"source_content_type":"text/x-rst","patch_set":25,"id":"1252df71_1e81f9f9","line":177,"range":{"start_line":177,"start_character":20,"end_line":177,"end_character":34},"in_reply_to":"5a6628b2_6d22ec0e","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"REST API impact"},{"line_number":223,"context_line":"---------------"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"**Creating a share backup**::"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    POST /v2/share-backups"}],"source_content_type":"text/x-rst","patch_set":25,"id":"95c7879b_9ff4e975","line":224,"updated":"2022-11-11 20:02:49.000000000","message":"worth mentioning that the new APIs will be experimental, until some cycles of testing, and the eventual graduation of them.","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"REST API impact"},{"line_number":223,"context_line":"---------------"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"**Creating a share backup**::"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    POST /v2/share-backups"}],"source_content_type":"text/x-rst","patch_set":25,"id":"514ca376_74e7de13","line":224,"in_reply_to":"95c7879b_9ff4e975","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ed600671e143795f402bc61f7e04cd7cc82fb5af","unresolved":true,"context_lines":[{"line_number":236,"context_line":"        }"},{"line_number":237,"context_line":"    }"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Subnet details ``name`` and ``description``  are optional."},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If the ``share`` is not known to manila, the API will respond with"},{"line_number":242,"context_line":"``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":25,"id":"09c06c1c_f8d9a663","line":239,"range":{"start_line":239,"start_character":0,"end_line":239,"end_character":6},"updated":"2022-11-04 08:00:26.000000000","message":"Backup","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"315471167295ac3f1893a815aa2d031ed82a4c4e","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        }"},{"line_number":237,"context_line":"    }"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Subnet details ``name`` and ``description``  are optional."},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If the ``share`` is not known to manila, the API will respond with"},{"line_number":242,"context_line":"``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":25,"id":"0bf0a1a4_330b3f86","line":239,"range":{"start_line":239,"start_character":0,"end_line":239,"end_character":6},"in_reply_to":"09c06c1c_f8d9a663","updated":"2022-11-04 12:09:23.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ed600671e143795f402bc61f7e04cd7cc82fb5af","unresolved":true,"context_lines":[{"line_number":255,"context_line":"            \"created_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":256,"context_line":"            \"id\": \"77eb3421-4549-4789-ac39-0d5185d68c29\","},{"line_number":257,"context_line":"            \"project_id\": \"e10a683c20da41248cfd5e1ab3d88c62\","},{"line_number":258,"context_line":"            \"description\": \"This is my share copy\","},{"line_number":259,"context_line":"            \"updated_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":260,"context_line":"        }"},{"line_number":261,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":25,"id":"afa07604_65badafc","line":258,"updated":"2022-11-04 08:00:26.000000000","message":"The response should also report back the \"name\", please","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"315471167295ac3f1893a815aa2d031ed82a4c4e","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            \"created_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":256,"context_line":"            \"id\": \"77eb3421-4549-4789-ac39-0d5185d68c29\","},{"line_number":257,"context_line":"            \"project_id\": \"e10a683c20da41248cfd5e1ab3d88c62\","},{"line_number":258,"context_line":"            \"description\": \"This is my share copy\","},{"line_number":259,"context_line":"            \"updated_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":260,"context_line":"        }"},{"line_number":261,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":25,"id":"fc0a63bc_55f9d5b1","line":258,"in_reply_to":"afa07604_65badafc","updated":"2022-11-04 12:09:23.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ed600671e143795f402bc61f7e04cd7cc82fb5af","unresolved":true,"context_lines":[{"line_number":267,"context_line":"If the share backup is invalid, the API will respond with ``404``,"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"If the share backup state not in ``available`` or ``error``, the API will"},{"line_number":270,"context_line":"responsed with ``403``, unless with force\u003dtrue in req."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"cebb974f_8e794512","line":270,"range":{"start_line":270,"start_character":0,"end_line":270,"end_character":9},"updated":"2022-11-04 08:00:26.000000000","message":"respond","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"315471167295ac3f1893a815aa2d031ed82a4c4e","unresolved":false,"context_lines":[{"line_number":267,"context_line":"If the share backup is invalid, the API will respond with ``404``,"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"If the share backup state not in ``available`` or ``error``, the API will"},{"line_number":270,"context_line":"responsed with ``403``, unless with force\u003dtrue in req."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":273,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"e95a4eb7_6656cdb6","line":270,"range":{"start_line":270,"start_character":0,"end_line":270,"end_character":9},"in_reply_to":"cebb974f_8e794512","updated":"2022-11-04 12:09:23.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ed600671e143795f402bc61f7e04cd7cc82fb5af","unresolved":true,"context_lines":[{"line_number":309,"context_line":"Request::"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    {"},{"line_number":312,"context_line":"        \"restore\": {"},{"line_number":313,"context_line":"        }"},{"line_number":314,"context_line":"    }"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"}],"source_content_type":"text/x-rst","patch_set":25,"id":"d502036e_4aa08fc8","line":313,"range":{"start_line":312,"start_character":19,"end_line":313,"end_character":9},"updated":"2022-11-04 08:00:26.000000000","message":"null, to be in line with other similar commands (e.g. replica resync, share force-delete, ...)","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"315471167295ac3f1893a815aa2d031ed82a4c4e","unresolved":false,"context_lines":[{"line_number":309,"context_line":"Request::"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"    {"},{"line_number":312,"context_line":"        \"restore\": {"},{"line_number":313,"context_line":"        }"},{"line_number":314,"context_line":"    }"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"}],"source_content_type":"text/x-rst","patch_set":25,"id":"05186f0a_9a641653","line":313,"range":{"start_line":312,"start_character":19,"end_line":313,"end_character":9},"in_reply_to":"d502036e_4aa08fc8","updated":"2022-11-04 12:09:23.000000000","message":"Done","commit_id":"66b2923ffa010564a654585707335bc20942d968"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":239,"context_line":"Backup details ``name`` and ``description``  are optional."},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If the ``share`` is not known to manila, the API will respond with"},{"line_number":242,"context_line":"``400 Bad Request``."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"If the ``share`` is not in available state or share has snapshots, the API"},{"line_number":245,"context_line":"will respond with ``403 InvalidShare``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"2ee1ec83_6964833d","line":242,"range":{"start_line":242,"start_character":2,"end_line":242,"end_character":17},"updated":"2022-11-11 20:02:49.000000000","message":"shouldn\u0027t it be 404 not found? as the share was not found?","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":239,"context_line":"Backup details ``name`` and ``description``  are optional."},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If the ``share`` is not known to manila, the API will respond with"},{"line_number":242,"context_line":"``400 Bad Request``."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"If the ``share`` is not in available state or share has snapshots, the API"},{"line_number":245,"context_line":"will respond with ``403 InvalidShare``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"24b7c621_67baf75e","line":242,"range":{"start_line":242,"start_character":2,"end_line":242,"end_character":17},"in_reply_to":"2ee1ec83_6964833d","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":242,"context_line":"``400 Bad Request``."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"If the ``share`` is not in available state or share has snapshots, the API"},{"line_number":245,"context_line":"will respond with ``403 InvalidShare``."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"If the project\u0027s share backup quota has exceeded, the API will respond with"},{"line_number":248,"context_line":"``403 Forbidden``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"a7845a4c_03263749","line":245,"range":{"start_line":245,"start_character":20,"end_line":245,"end_character":23},"updated":"2022-11-11 20:02:49.000000000","message":"I believe this is supposed to be 400\nhttps://github.com/openstack/manila/blob/master/manila/exception.py#L147","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":242,"context_line":"``400 Bad Request``."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"If the ``share`` is not in available state or share has snapshots, the API"},{"line_number":245,"context_line":"will respond with ``403 InvalidShare``."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"If the project\u0027s share backup quota has exceeded, the API will respond with"},{"line_number":248,"context_line":"``403 Forbidden``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"1d26a44e_a548b544","line":245,"range":{"start_line":245,"start_character":20,"end_line":245,"end_character":23},"in_reply_to":"a7845a4c_03263749","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":313,"context_line":"        \"restore\": null"},{"line_number":314,"context_line":"    }"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"30322cee_989caf11","line":316,"range":{"start_line":316,"start_character":42,"end_line":316,"end_character":44},"updated":"2022-11-11 20:02:49.000000000","message":"nit: please add missing blank space between e and (","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        \"restore\": null"},{"line_number":314,"context_line":"    }"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"f2a75cc5_479bf1f7","line":316,"range":{"start_line":316,"start_character":42,"end_line":316,"end_character":44},"in_reply_to":"30322cee_989caf11","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"}],"source_content_type":"text/x-rst","patch_set":26,"id":"cab0f216_e1b31b08","line":318,"range":{"start_line":318,"start_character":24,"end_line":318,"end_character":27},"updated":"2022-11-11 20:02:49.000000000","message":"403 is not authorized, wouldn\u0027t it be 400?","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"}],"source_content_type":"text/x-rst","patch_set":26,"id":"33f699e7_97c723dd","line":318,"range":{"start_line":318,"start_character":24,"end_line":318,"end_character":27},"in_reply_to":"cab0f216_e1b31b08","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"2e6cb53c_81f9d0b4","line":319,"range":{"start_line":319,"start_character":45,"end_line":319,"end_character":48},"updated":"2022-11-11 20:02:49.000000000","message":"Would forbidden be the bet response?","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"ff155f73_ac54c3b9","line":319,"range":{"start_line":319,"start_character":38,"end_line":319,"end_character":42},"updated":"2022-11-11 20:02:49.000000000","message":"with","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"05fa2adb_66505d5b","line":319,"range":{"start_line":319,"start_character":45,"end_line":319,"end_character":48},"in_reply_to":"2e6cb53c_81f9d0b4","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":316,"context_line":"The backup will be restored in source share(i.e. share from which backup was"},{"line_number":317,"context_line":"created) will be used for restore. In case, source ``share`` is deleted,"},{"line_number":318,"context_line":"API will repsond with ``403``. In case, source ``share`` size is different"},{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":26,"id":"f45cc0dc_a032b1b3","line":319,"range":{"start_line":319,"start_character":38,"end_line":319,"end_character":42},"in_reply_to":"ff155f73_ac54c3b9","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":325,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"6c53f28b_2addbd1f","line":322,"range":{"start_line":322,"start_character":7,"end_line":322,"end_character":22},"updated":"2022-11-11 20:02:49.000000000","message":"wouldn\u0027t it be 404 not found?","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":319,"context_line":"than size of backup, API will respond iwth ``403``."},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":325,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"655ea459_3044b172","line":322,"range":{"start_line":322,"start_character":7,"end_line":322,"end_character":22},"in_reply_to":"6c53f28b_2addbd1f","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":327,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"9fb50027_6732a8e2","line":324,"range":{"start_line":324,"start_character":17,"end_line":324,"end_character":24},"updated":"2022-11-11 20:02:49.000000000","message":"ith invalid you mean not existent?","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":321,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":322,"context_line":"with ``400 Bad Request``."},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"If the backup is invalid, the API will respond with ``404``."},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":327,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"69e08900_7319ef6d","line":324,"range":{"start_line":324,"start_character":17,"end_line":324,"end_character":24},"in_reply_to":"9fb50027_6732a8e2","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5eebd63fa4329ad2b9ca716e09577fd9279ea210","unresolved":true,"context_lines":[{"line_number":458,"context_line":"- Docstrings"},{"line_number":459,"context_line":"- Devref"},{"line_number":460,"context_line":"- User guide"},{"line_number":461,"context_line":"- Release notes"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"References"},{"line_number":464,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":26,"id":"b03341b8_599c758c","line":461,"updated":"2022-11-11 20:02:49.000000000","message":"please mention admin guide as well","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":35507,"name":"Kiran Pawar","email":"kiranpawarpict2010@gmail.com","username":"kpawar"},"change_message_id":"4f27f4c6165609ff3037ae7c904cd1b94757f425","unresolved":false,"context_lines":[{"line_number":458,"context_line":"- Docstrings"},{"line_number":459,"context_line":"- Devref"},{"line_number":460,"context_line":"- User guide"},{"line_number":461,"context_line":"- Release notes"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"References"},{"line_number":464,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":26,"id":"dfe0c756_2beee7ec","line":461,"in_reply_to":"b03341b8_599c758c","updated":"2022-11-14 14:45:21.000000000","message":"Done","commit_id":"a9fa284ae7349a666c21527af314867bf2b2cedd"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8c3b489f275249512dfd66858ebae80080bc6ece","unresolved":true,"context_lines":[{"line_number":110,"context_line":"  revert_to_snapshot, crate_snapshot, create_replica etc can not be performed"},{"line_number":111,"context_line":"  unless share become available. Finally, whether or not the share is"},{"line_number":112,"context_line":"  successfully backed up, the state of the share is rolled back to the"},{"line_number":113,"context_line":"  available state. In case backup fails, stare task_state will contain the"},{"line_number":114,"context_line":"  failure information. Also, share message will be recorded."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"* New clean up actions"}],"source_content_type":"text/x-rst","patch_set":28,"id":"2a982dd5_f6d64d8e","line":113,"range":{"start_line":113,"start_character":41,"end_line":113,"end_character":46},"updated":"2022-11-17 04:45:38.000000000","message":"share","commit_id":"53569f5d88dd4181f6800df08fc0ac1bc6223dc0"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"2b752d97052f608541af2cb51c791e41de159c10","unresolved":false,"context_lines":[{"line_number":110,"context_line":"  revert_to_snapshot, crate_snapshot, create_replica etc can not be performed"},{"line_number":111,"context_line":"  unless share become available. Finally, whether or not the share is"},{"line_number":112,"context_line":"  successfully backed up, the state of the share is rolled back to the"},{"line_number":113,"context_line":"  available state. In case backup fails, stare task_state will contain the"},{"line_number":114,"context_line":"  failure information. Also, share message will be recorded."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"* New clean up actions"}],"source_content_type":"text/x-rst","patch_set":28,"id":"8799a4fd_1bde4ae9","line":113,"range":{"start_line":113,"start_character":41,"end_line":113,"end_character":46},"in_reply_to":"2a982dd5_f6d64d8e","updated":"2022-11-17 08:31:35.000000000","message":"Done","commit_id":"53569f5d88dd4181f6800df08fc0ac1bc6223dc0"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":14,"context_line":"users, especially for NAS user, but currently, manila itself doesn\u0027t"},{"line_number":15,"context_line":"support backup and restore share features, this spec proposes a backup"},{"line_number":16,"context_line":"and restore solution based on the existing one from cinder for manila,"},{"line_number":17,"context_line":"also introduces another valuable feature called backup policy."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9833d09a_0e087336","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":61},"updated":"2022-11-22 23:51:08.000000000","message":"Where is the policy being proposed in this spec ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"users, especially for NAS user, but currently, manila itself doesn\u0027t"},{"line_number":15,"context_line":"support backup and restore share features, this spec proposes a backup"},{"line_number":16,"context_line":"and restore solution based on the existing one from cinder for manila,"},{"line_number":17,"context_line":"also introduces another valuable feature called backup policy."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":29,"id":"edf24495_7d0f033c","line":17,"range":{"start_line":17,"start_character":5,"end_line":17,"end_character":61},"in_reply_to":"9833d09a_0e087336","updated":"2022-11-30 18:08:20.000000000","message":"removed","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  1. Create a backup."},{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9130a34d_f560af4b","line":72,"range":{"start_line":72,"start_character":5,"end_line":72,"end_character":30},"updated":"2022-11-22 23:51:08.000000000","message":"What kind of update do you mean ? Is it part of backup driver ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  1. Create a backup."},{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"}],"source_content_type":"text/x-rst","patch_set":29,"id":"18a58dc7_fe1334a1","line":72,"range":{"start_line":72,"start_character":5,"end_line":72,"end_character":30},"in_reply_to":"9130a34d_f560af4b","updated":"2022-11-30 18:08:20.000000000","message":"updated","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":29,"id":"bf28454a_5a4d5f05","line":73,"range":{"start_line":73,"start_character":5,"end_line":73,"end_character":16},"updated":"2022-11-22 23:51:08.000000000","message":"is list backups part of the backup driver layer ? I thought that listing backup is something that the API node would responde by its own, only looking at the db. Why does the list backup feature use the driver layer ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  2. Delete a backup."},{"line_number":71,"context_line":"  3. Restore a backup in specified share."},{"line_number":72,"context_line":"  4. Update backup information."},{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"}],"source_content_type":"text/x-rst","patch_set":29,"id":"97141051_c8e73311","line":73,"range":{"start_line":73,"start_character":5,"end_line":73,"end_character":16},"in_reply_to":"bf28454a_5a4d5f05","updated":"2022-11-30 18:08:20.000000000","message":"updated as this is not part of backup driver.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"},{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."}],"source_content_type":"text/x-rst","patch_set":29,"id":"27ab0677_3d481127","line":76,"range":{"start_line":76,"start_character":10,"end_line":76,"end_character":25},"updated":"2022-11-22 23:51:08.000000000","message":"Is it vendor agnostic ? If so, how would the backup space being provisioned ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"},{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."}],"source_content_type":"text/x-rst","patch_set":29,"id":"8888991d_83c7e012","line":76,"range":{"start_line":76,"start_character":10,"end_line":76,"end_character":25},"in_reply_to":"27ab0677_3d481127","updated":"2022-11-30 15:42:25.000000000","message":"It must be the vendor that supports nfs must provide space for nfs to interconnect with nfs backup drivers.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  5. List backups."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"  Correspondingly, we will implement these with a new and simple backup driver"},{"line_number":76,"context_line":"  called \u0027NFSBackupDriver\u0027. This driver is copied from cinder `[1]`_ and aims at"},{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."}],"source_content_type":"text/x-rst","patch_set":29,"id":"4cdd74ca_95fe27da","line":76,"range":{"start_line":76,"start_character":10,"end_line":76,"end_character":25},"in_reply_to":"27ab0677_3d481127","updated":"2022-11-30 18:08:20.000000000","message":"NFSBackupDriver will be sample driver and it will be vendor agnostic.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"51025572_ebe1eeef","line":80,"range":{"start_line":80,"start_character":5,"end_line":80,"end_character":17},"updated":"2022-11-22 23:51:08.000000000","message":"The access must be only for reading. So:\n\nAllow read access to ...","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"d7780624_e3505bbc","line":80,"range":{"start_line":80,"start_character":20,"end_line":80,"end_character":45},"updated":"2022-11-22 23:51:08.000000000","message":"What is the difference between share and backend share ? How have they been created ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"5e68bc4c_b56974cb","line":80,"range":{"start_line":80,"start_character":31,"end_line":80,"end_character":38},"updated":"2022-11-30 15:42:25.000000000","message":"should be backup share.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"04d51b91_e8acb112","line":80,"range":{"start_line":80,"start_character":5,"end_line":80,"end_character":17},"in_reply_to":"51025572_ebe1eeef","updated":"2022-11-30 18:08:20.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"65d1145c_4a8226f4","line":80,"range":{"start_line":80,"start_character":5,"end_line":80,"end_character":17},"in_reply_to":"51025572_ebe1eeef","updated":"2022-11-30 15:42:25.000000000","message":"we read data from origin share, and write to backup share,\nso we also need write access for backup share","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"0691a980_02d3b220","line":80,"range":{"start_line":80,"start_character":31,"end_line":80,"end_character":38},"in_reply_to":"5e68bc4c_b56974cb","updated":"2022-11-30 18:08:20.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"c957fa86_9f8b08cd","line":80,"range":{"start_line":80,"start_character":20,"end_line":80,"end_character":45},"in_reply_to":"d7780624_e3505bbc","updated":"2022-11-30 18:08:20.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  provide the basic backup ability. the backup process for this driver would be:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  1. Make sure share is in available state and not busy."},{"line_number":80,"context_line":"  2. Allow access to share and backend share."},{"line_number":81,"context_line":"  3. Mount the share and backend driver\u0027s share to the data service node."},{"line_number":82,"context_line":"  4. Copy data from share to backend share."},{"line_number":83,"context_line":"  5. Unmount the share and backend share."}],"source_content_type":"text/x-rst","patch_set":29,"id":"19eef561_13cc7aa4","line":80,"range":{"start_line":80,"start_character":20,"end_line":80,"end_character":45},"in_reply_to":"d7780624_e3505bbc","updated":"2022-11-30 15:42:25.000000000","message":"share in origin storage backend, and backup share in backup storage.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"08a7457d_b35493af","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"updated":"2022-11-22 23:51:08.000000000","message":"If I understood correctly, this backup is the share with copied data. If so, how can it be mounted without any export location info ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"4ed5f99e_880db293","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"in_reply_to":"02ec0e6d_624714ea","updated":"2022-12-22 10:39:24.000000000","message":"Let us assume, for NFS, backup share provider_location would be 10.0.0.1/backup and few backup shares are created. Admin then somehow move provider_location to 10.0.0.2/backup. In this case, we need to update db of all shares to update provide_location. this will be additional burden. Better, admin just update config option to change backup destination from 10.0.0.1 to 10.0.0.2 and Manila will internally generate target location as 10.0.0.2/backup/backup_uuid. \nFor backup drivers, backup_uuid will help to generate target location. In either case if needed, we can maintain this in new table backup_metadata as future TODO.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":true,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"dd617c0d_670ab337","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"in_reply_to":"08a7457d_b35493af","updated":"2022-11-30 18:08:20.000000000","message":"For NFSBackupDriver, user can configure the export location in config file and manila data driver will use it. For other drivers, the backup will be implemented using their proprietary ways (where driver takes share to backup and does internal backup and return backup_id if successful else error). \nUnder this assumption, no need to maintain export location in db (provide by user in API call). But yes, if its needed I think we can add in future.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"8a7b840d_18059872","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"in_reply_to":"08a7457d_b35493af","updated":"2022-11-30 15:42:25.000000000","message":"good question, here really need export location info, also need this at backup restore process. need export location info to mount share at manila\ndata service node.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"02ec0e6d_624714ea","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"in_reply_to":"2d11d281_4683e0f9","updated":"2022-12-21 15:30:35.000000000","message":"I would like to revisit this question. If you have a \"backup share\" configured, wouldn\u0027t that share be the backup destination for multiple manila shares? How do we track the specific backup? By the backup ID? That may work.. but, maybe we should have a \"provider_location\" field in the \"backups\" table just in case so this may be averted. \n\nAlternatively, we could also use a backup_metadata table where the data service or the user can store some useful metadata such as the location of the backup..","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"da23f7dbc498000fc5b0f2f05d395ff81aaa6921","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Data model impact"},{"line_number":137,"context_line":"-----------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add table for backup"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":142,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":29,"id":"2d11d281_4683e0f9","line":139,"range":{"start_line":139,"start_character":16,"end_line":139,"end_character":22},"in_reply_to":"dd617c0d_670ab337","updated":"2022-12-01 05:50:30.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":159,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":160,"context_line":"  | host                  | varchar(255) | YES  |     | NULL    |       |"},{"line_number":161,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":162,"context_line":"  | availability_zone     | varchar(255) | YES  |     | NULL    |       |"},{"line_number":163,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":164,"context_line":"  | display_name          | varchar(255) | YES  |     | NULL    |       |"},{"line_number":165,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"}],"source_content_type":"text/x-rst","patch_set":29,"id":"f4bb152c_1d43d8ba","line":162,"range":{"start_line":162,"start_character":4,"end_line":162,"end_character":26},"updated":"2022-11-22 23:51:08.000000000","message":"If there is just one backend and no scheduling, How/why is the AZ used here ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":159,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":160,"context_line":"  | host                  | varchar(255) | YES  |     | NULL    |       |"},{"line_number":161,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":162,"context_line":"  | availability_zone     | varchar(255) | YES  |     | NULL    |       |"},{"line_number":163,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":164,"context_line":"  | display_name          | varchar(255) | YES  |     | NULL    |       |"},{"line_number":165,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"}],"source_content_type":"text/x-rst","patch_set":29,"id":"0ed5ae92_1fdabb5a","line":162,"range":{"start_line":162,"start_character":4,"end_line":162,"end_character":26},"in_reply_to":"f4bb152c_1d43d8ba","updated":"2022-11-30 15:42:25.000000000","message":"If there is only one backup backend, it doesn\u0027t seem very useful. If there are multiple backup backends, then az is useful for choosing which backend to backup share to.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":159,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":160,"context_line":"  | host                  | varchar(255) | YES  |     | NULL    |       |"},{"line_number":161,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":162,"context_line":"  | availability_zone     | varchar(255) | YES  |     | NULL    |       |"},{"line_number":163,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":164,"context_line":"  | display_name          | varchar(255) | YES  |     | NULL    |       |"},{"line_number":165,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"}],"source_content_type":"text/x-rst","patch_set":29,"id":"bdc9d1b1_e277f335","line":162,"range":{"start_line":162,"start_character":4,"end_line":162,"end_character":26},"in_reply_to":"f4bb152c_1d43d8ba","updated":"2022-11-30 18:08:20.000000000","message":"This is inherited from original spec. We can remove it. Also share can have multiple backups (Created at different time) by the driver and want to land in diff AZ.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":177,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"},{"line_number":178,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":179,"context_line":"  | source_backup_id      | varchar(255) | YES  |     | NULL    |       |"},{"line_number":180,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"c105e85e_7a60571e","line":179,"range":{"start_line":179,"start_character":4,"end_line":179,"end_character":26},"updated":"2022-11-22 23:51:08.000000000","message":"What is the reason for this field ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":176,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":177,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"},{"line_number":178,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":179,"context_line":"  | source_backup_id      | varchar(255) | YES  |     | NULL    |       |"},{"line_number":180,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"360817d8_0052d619","line":179,"range":{"start_line":179,"start_character":4,"end_line":179,"end_character":26},"in_reply_to":"c105e85e_7a60571e","updated":"2022-11-30 15:42:25.000000000","message":"This tells us from which backup share the share was created","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":177,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"},{"line_number":178,"context_line":"  +\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d+\u003d\u003d\u003d\u003d\u003d\u003d\u003d+"},{"line_number":179,"context_line":"  | source_backup_id      | varchar(255) | YES  |     | NULL    |       |"},{"line_number":180,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"5e421b39_98589afb","line":179,"range":{"start_line":179,"start_character":4,"end_line":179,"end_character":26},"in_reply_to":"c105e85e_7a60571e","updated":"2022-11-30 18:08:20.000000000","message":"When backup is restored to share, share will update its source as source_backup_id.\nAlso in future we will support manila share create --backup backup_id, there as well share will need information in db as its source_backup_id.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":259,"context_line":"Response(202 Accepted)::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    {"},{"line_number":262,"context_line":"        \"share_backup\": {"},{"line_number":263,"context_line":"            \"share_id\": \"77eb3421-4549-4789-ac39-0d5185d68c28\","},{"line_number":264,"context_line":"            \"created_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":265,"context_line":"            \"id\": \"77eb3421-4549-4789-ac39-0d5185d68c29\","}],"source_content_type":"text/x-rst","patch_set":29,"id":"200e9e17_7665e587","line":262,"range":{"start_line":262,"start_character":9,"end_line":262,"end_character":21},"updated":"2022-11-22 23:51:08.000000000","message":"is it missing the \"status\" field ? If it is accepted, we need a status saying \"creating\"","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":259,"context_line":"Response(202 Accepted)::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    {"},{"line_number":262,"context_line":"        \"share_backup\": {"},{"line_number":263,"context_line":"            \"share_id\": \"77eb3421-4549-4789-ac39-0d5185d68c28\","},{"line_number":264,"context_line":"            \"created_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":265,"context_line":"            \"id\": \"77eb3421-4549-4789-ac39-0d5185d68c29\","}],"source_content_type":"text/x-rst","patch_set":29,"id":"64a01d67_b7d278de","line":262,"range":{"start_line":262,"start_character":9,"end_line":262,"end_character":21},"in_reply_to":"200e9e17_7665e587","updated":"2022-11-30 18:08:20.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":259,"context_line":"Response(202 Accepted)::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    {"},{"line_number":262,"context_line":"        \"share_backup\": {"},{"line_number":263,"context_line":"            \"share_id\": \"77eb3421-4549-4789-ac39-0d5185d68c28\","},{"line_number":264,"context_line":"            \"created_at\": \"2016-06-01T21:12:12.617687\","},{"line_number":265,"context_line":"            \"id\": \"77eb3421-4549-4789-ac39-0d5185d68c29\","}],"source_content_type":"text/x-rst","patch_set":29,"id":"92f6e66e_cdf49347","line":262,"range":{"start_line":262,"start_character":9,"end_line":262,"end_character":21},"in_reply_to":"200e9e17_7665e587","updated":"2022-11-30 15:42:25.000000000","message":"We don\u0027t need to specify the status of the backup here. The initial status of a newly created backup is creating by default in the code.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":325,"context_line":"was created) will be used for restore."},{"line_number":326,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":327,"context_line":"repsond with ``404 Not Found``."},{"line_number":328,"context_line":"In case, source share size is different than size of backup, API will"},{"line_number":329,"context_line":"respond with ``400 Invalid Share``."},{"line_number":330,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":331,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"b046021b_73c1ce30","line":328,"range":{"start_line":328,"start_character":9,"end_line":328,"end_character":59},"updated":"2022-11-22 23:51:08.000000000","message":"So extending or shrinking a share has the side effect of losing the backup, right ? If so, it seems a bit problematic. The user can end up \"deleting\" the backups by mistake.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":325,"context_line":"was created) will be used for restore."},{"line_number":326,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":327,"context_line":"repsond with ``404 Not Found``."},{"line_number":328,"context_line":"In case, source share size is different than size of backup, API will"},{"line_number":329,"context_line":"respond with ``400 Invalid Share``."},{"line_number":330,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":331,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"efaf39a6_e5f8ab18","line":328,"range":{"start_line":328,"start_character":9,"end_line":328,"end_character":59},"in_reply_to":"b046021b_73c1ce30","updated":"2022-11-30 18:08:20.000000000","message":"Share extend or shrink, will not affect backup. It just that backup can not be restored in original share. But new share can be created from this backup.\nWhy would user delete backup ? (is it because it can not be restored any longer). We need to document this correctly to avoid this.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":325,"context_line":"was created) will be used for restore."},{"line_number":326,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":327,"context_line":"repsond with ``404 Not Found``."},{"line_number":328,"context_line":"In case, source share size is different than size of backup, API will"},{"line_number":329,"context_line":"respond with ``400 Invalid Share``."},{"line_number":330,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":331,"context_line":""}],"source_content_type":"text/x-rst","patch_set":29,"id":"9e3588bb_d1501b77","line":328,"range":{"start_line":328,"start_character":9,"end_line":328,"end_character":59},"in_reply_to":"b046021b_73c1ce30","updated":"2022-11-30 15:42:25.000000000","message":"if source share size has changed, that means if we restore backup, the backup data can not fully cover the original share,\nAnother method is recommended: share with backup cannot be extend or shrink.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":351,"context_line":"-------------"},{"line_number":352,"context_line":"The backup driver needs to implement these functions::"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":29,"id":"fe3bacfa_95319a7b","line":354,"range":{"start_line":354,"start_character":8,"end_line":354,"end_character":14},"updated":"2022-11-22 23:51:08.000000000","message":"For NFS driver, would this call \"add access\", \"mount\" and \"copy data\" ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"03db822c21290d876b5f43389757f89413686551","unresolved":false,"context_lines":[{"line_number":351,"context_line":"-------------"},{"line_number":352,"context_line":"The backup driver needs to implement these functions::"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":29,"id":"e9b3dc3e_6156de21","line":354,"range":{"start_line":354,"start_character":8,"end_line":354,"end_character":14},"in_reply_to":"5b896ffe_1ac3c7b1","updated":"2022-12-07 08:39:18.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":351,"context_line":"-------------"},{"line_number":352,"context_line":"The backup driver needs to implement these functions::"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":29,"id":"2216b890_36932b06","line":354,"range":{"start_line":354,"start_character":8,"end_line":354,"end_character":14},"in_reply_to":"fe3bacfa_95319a7b","updated":"2022-11-30 15:42:25.000000000","message":"backup really nedd \"add access\", \"mount\" and \"copy data\", These three main processes","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":true,"context_lines":[{"line_number":351,"context_line":"-------------"},{"line_number":352,"context_line":"The backup driver needs to implement these functions::"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":29,"id":"5b896ffe_1ac3c7b1","line":354,"range":{"start_line":354,"start_character":8,"end_line":354,"end_character":14},"in_reply_to":"fe3bacfa_95319a7b","updated":"2022-11-30 18:08:20.000000000","message":"yes, it will share current code of migration.\n1. access and mount\n2. copy\n3. unmount and remove access","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"},{"line_number":358,"context_line":"        backup content if creation is successful, manila"},{"line_number":359,"context_line":"        will update the model after this. For example::"},{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":29,"id":"ee76c785_08bde6bc","line":359,"range":{"start_line":357,"start_character":8,"end_line":359,"end_character":55},"updated":"2022-11-22 23:51:08.000000000","message":"What do you mean by \"start a backup\" ?  Why is it only \"starting\" ? Who will continue the process ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"},{"line_number":358,"context_line":"        backup content if creation is successful, manila"},{"line_number":359,"context_line":"        will update the model after this. For example::"},{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":29,"id":"61fd599e_a797e6fa","line":359,"range":{"start_line":357,"start_character":8,"end_line":359,"end_character":55},"in_reply_to":"ee76c785_08bde6bc","updated":"2022-11-30 18:08:20.000000000","message":"The driver will be responsible to finish backup. Changed to \"create a backup\"","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":354,"context_line":"    def backup(self, backup, share):"},{"line_number":355,"context_line":"        \"\"\"Start a backup of a specified share."},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"        The driver should return the backup model with new created"},{"line_number":358,"context_line":"        backup content if creation is successful, manila"},{"line_number":359,"context_line":"        will update the model after this. For example::"},{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"}],"source_content_type":"text/x-rst","patch_set":29,"id":"19b3f3a2_9d2f282e","line":359,"range":{"start_line":357,"start_character":8,"end_line":359,"end_character":55},"in_reply_to":"ee76c785_08bde6bc","updated":"2022-11-30 15:42:25.000000000","message":"this backup driver will continue the process, driver call manila data service complete data copy. \nthe patch https://review.opendev.org/c/openstack/manila/+/343980\ncan tell us.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"},{"line_number":363,"context_line":"                \"name\": \"backup_one\","},{"line_number":364,"context_line":"                \"id\": \"e5185058-943a-4cb4-96d9-72c184c33d12\","},{"line_number":365,"context_line":"                \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":366,"context_line":"            }"},{"line_number":367,"context_line":"        }"},{"line_number":368,"context_line":"        ```"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9c98b612_eb28a1a7","line":365,"range":{"start_line":363,"start_character":17,"end_line":365,"end_character":59},"updated":"2022-11-22 23:51:08.000000000","message":"Why is these information returned ? They are known by the manager/db. What kind of meaningful info should be returned  ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"},{"line_number":363,"context_line":"                \"name\": \"backup_one\","},{"line_number":364,"context_line":"                \"id\": \"e5185058-943a-4cb4-96d9-72c184c33d12\","},{"line_number":365,"context_line":"                \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":366,"context_line":"            }"},{"line_number":367,"context_line":"        }"},{"line_number":368,"context_line":"        ```"}],"source_content_type":"text/x-rst","patch_set":29,"id":"67605e71_2ee62f32","line":365,"range":{"start_line":363,"start_character":17,"end_line":365,"end_character":59},"in_reply_to":"9c98b612_eb28a1a7","updated":"2022-11-30 18:08:20.000000000","message":"This is sample return information (but it contains fields known by manager). I believe we should keep this as is unless we sure that backend backup driver does not need to provide any success/failure info to Manila manager.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        ```"},{"line_number":361,"context_line":"        {\"backup\":"},{"line_number":362,"context_line":"            {"},{"line_number":363,"context_line":"                \"name\": \"backup_one\","},{"line_number":364,"context_line":"                \"id\": \"e5185058-943a-4cb4-96d9-72c184c33d12\","},{"line_number":365,"context_line":"                \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":366,"context_line":"            }"},{"line_number":367,"context_line":"        }"},{"line_number":368,"context_line":"        ```"}],"source_content_type":"text/x-rst","patch_set":29,"id":"5084811c_835fa1c6","line":365,"range":{"start_line":363,"start_character":17,"end_line":365,"end_character":59},"in_reply_to":"9c98b612_eb28a1a7","updated":"2022-11-30 15:42:25.000000000","message":"in cinder,   backup create also return those. 😊","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"58469ac318bb4f57ec7fc3487c754ccf6c1349e8","unresolved":true,"context_lines":[{"line_number":397,"context_line":"Security impact"},{"line_number":398,"context_line":"---------------"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"None"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Notifications impact"},{"line_number":403,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":29,"id":"c8f14c4f_f0471e1e","line":400,"range":{"start_line":400,"start_character":0,"end_line":400,"end_character":4},"updated":"2022-11-22 23:51:08.000000000","message":"None ? During backing up process the data node would have access to read the entire share user\u0027s data. If the deny phase fails, the node will continue forever with access to the user\u0027s data.\n\nAlso, for NFS driver, would it give data node IP access without any other security layer like kerberos ?","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"03db822c21290d876b5f43389757f89413686551","unresolved":false,"context_lines":[{"line_number":397,"context_line":"Security impact"},{"line_number":398,"context_line":"---------------"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"None"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Notifications impact"},{"line_number":403,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":29,"id":"9decee21_1f0119be","line":400,"range":{"start_line":400,"start_character":0,"end_line":400,"end_character":4},"in_reply_to":"528df951_0165339f","updated":"2022-12-07 08:39:18.000000000","message":"Done","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"d697109e78c0958b59b84fe70b3865d2920435f9","unresolved":true,"context_lines":[{"line_number":397,"context_line":"Security impact"},{"line_number":398,"context_line":"---------------"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"None"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Notifications impact"},{"line_number":403,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":29,"id":"539141ff_e8129eeb","line":400,"range":{"start_line":400,"start_character":0,"end_line":400,"end_character":4},"in_reply_to":"c8f14c4f_f0471e1e","updated":"2022-11-30 15:42:25.000000000","message":"That seems to be a problem","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a101a5e9c2b0ad6ca93e03cfd4d49a6a9896e36a","unresolved":true,"context_lines":[{"line_number":397,"context_line":"Security impact"},{"line_number":398,"context_line":"---------------"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"None"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"Notifications impact"},{"line_number":403,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":29,"id":"528df951_0165339f","line":400,"range":{"start_line":400,"start_character":0,"end_line":400,"end_character":4},"in_reply_to":"c8f14c4f_f0471e1e","updated":"2022-11-30 18:08:20.000000000","message":"updated, yes for NFS driver, it will give data node IP access without layer, same as migration.","commit_id":"04a358a6799ea100a2856ad5bab3147c9727a8ba"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":true,"context_lines":[{"line_number":104,"context_line":"       deleting, deleted, error_deleting"},{"line_number":105,"context_line":"       backup_restoring, error)"},{"line_number":106,"context_line":"  2. share("},{"line_number":107,"context_line":"       backing_up, backup_restoring,"},{"line_number":108,"context_line":"       backup_restoring_error)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"  During backup, share will be marked as busy and other operations on share"}],"source_content_type":"text/x-rst","patch_set":31,"id":"80bb3f38_8db7dbf2","line":107,"range":{"start_line":107,"start_character":7,"end_line":107,"end_character":17},"updated":"2022-12-21 15:30:35.000000000","message":"the \"ing\" state must be at the end to signify an ongoing busy action -- maybe \"backup_creating\"?","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"       deleting, deleted, error_deleting"},{"line_number":105,"context_line":"       backup_restoring, error)"},{"line_number":106,"context_line":"  2. share("},{"line_number":107,"context_line":"       backing_up, backup_restoring,"},{"line_number":108,"context_line":"       backup_restoring_error)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"  During backup, share will be marked as busy and other operations on share"}],"source_content_type":"text/x-rst","patch_set":31,"id":"8066ce1d_5ae12f8a","line":107,"range":{"start_line":107,"start_character":7,"end_line":107,"end_character":17},"in_reply_to":"80bb3f38_8db7dbf2","updated":"2022-12-22 10:39:24.000000000","message":"I am fine with either, changed to backup_creating.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":true,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"* name: Name of backup. Default\u003dNone"},{"line_number":196,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":197,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":198,"context_line":"* share: Name or ID of share to backup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"699e8e54_39f6851a","line":197,"range":{"start_line":197,"start_character":42,"end_line":197,"end_character":58},"updated":"2022-12-21 15:30:35.000000000","message":"this is the availability zone of the backup?","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"* name: Name of backup. Default\u003dNone"},{"line_number":196,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":197,"context_line":"* availability-zone: Availability-zone of share to backup."},{"line_number":198,"context_line":"* share: Name or ID of share to backup."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"be5a7b56_1610193c","line":197,"range":{"start_line":197,"start_character":42,"end_line":197,"end_character":58},"in_reply_to":"699e8e54_39f6851a","updated":"2022-12-22 10:39:24.000000000","message":"Done","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":true,"context_lines":[{"line_number":324,"context_line":"        \"restore\": null"},{"line_number":325,"context_line":"    }"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"The backup will be restored in source share (i.e. share from which backup"},{"line_number":328,"context_line":"was created) will be used for restore."},{"line_number":329,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":330,"context_line":"repsond with ``404 Not Found``."},{"line_number":331,"context_line":"In case, source share size is different than size of backup, API will"}],"source_content_type":"text/x-rst","patch_set":31,"id":"4a36e58d_4847a689","line":328,"range":{"start_line":327,"start_character":0,"end_line":328,"end_character":38},"updated":"2022-12-21 15:30:35.000000000","message":"Why this limitation? I suspect users may want to restore to a different/new share as well. Cinder allows restoring to a new volume: https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003drestore-a-backup-detail#restore-a-backup","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fe9e5b7b5a618fa1fbd81c0a996866c4f825dca","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        \"restore\": null"},{"line_number":325,"context_line":"    }"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"The backup will be restored in source share (i.e. share from which backup"},{"line_number":328,"context_line":"was created) will be used for restore."},{"line_number":329,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":330,"context_line":"repsond with ``404 Not Found``."},{"line_number":331,"context_line":"In case, source share size is different than size of backup, API will"}],"source_content_type":"text/x-rst","patch_set":31,"id":"6ef5064d_ff035d4b","line":328,"range":{"start_line":327,"start_character":0,"end_line":328,"end_character":38},"in_reply_to":"34209828_f5cc093d","updated":"2022-12-22 14:33:54.000000000","message":"Done","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":true,"context_lines":[{"line_number":324,"context_line":"        \"restore\": null"},{"line_number":325,"context_line":"    }"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"The backup will be restored in source share (i.e. share from which backup"},{"line_number":328,"context_line":"was created) will be used for restore."},{"line_number":329,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":330,"context_line":"repsond with ``404 Not Found``."},{"line_number":331,"context_line":"In case, source share size is different than size of backup, API will"}],"source_content_type":"text/x-rst","patch_set":31,"id":"34209828_f5cc093d","line":328,"range":{"start_line":327,"start_character":0,"end_line":328,"end_character":38},"in_reply_to":"4a36e58d_4847a689","updated":"2022-12-22 10:39:24.000000000","message":"Ideally yes, restore can store in new share. But then there will be two paths to create share from backup.\n1. openstack share create --backup (future work)\n2. openstack backup restore \u003cshare_id\u003e\n\nSo haixin suggested to restrict restore operation to restore only to original share. And I think it makes sense to restore to only original share. While new share from backup can be created using openstack share create.  WDYT ?","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":true,"context_lines":[{"line_number":328,"context_line":"was created) will be used for restore."},{"line_number":329,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":330,"context_line":"repsond with ``404 Not Found``."},{"line_number":331,"context_line":"In case, source share size is different than size of backup, API will"},{"line_number":332,"context_line":"respond with ``400 Invalid Share``."},{"line_number":333,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"1a003856_7b5ca948","line":332,"range":{"start_line":331,"start_character":0,"end_line":332,"end_character":34},"updated":"2022-12-21 15:30:35.000000000","message":"If the size is larger, could we not proceed with the restore? If the size is smaller, should we do an attempt a share expansion?","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":328,"context_line":"was created) will be used for restore."},{"line_number":329,"context_line":"In case, source share or share backup is not known to manila, API will"},{"line_number":330,"context_line":"repsond with ``404 Not Found``."},{"line_number":331,"context_line":"In case, source share size is different than size of backup, API will"},{"line_number":332,"context_line":"respond with ``400 Invalid Share``."},{"line_number":333,"context_line":"However, API will respond ``202`` if request is accepted."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":""}],"source_content_type":"text/x-rst","patch_set":31,"id":"5e917d4f_ea901f4b","line":332,"range":{"start_line":331,"start_character":0,"end_line":332,"end_character":34},"in_reply_to":"1a003856_7b5ca948","updated":"2022-12-22 10:39:24.000000000","message":"If we want to offer such flexibility that is possible, but if share expansion fails, restore will fail too. For this API spec, lets keep it simple to have same size of both backup and share.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1493099a6d419c9d148e2872a8608ea395e394c6","unresolved":true,"context_lines":[{"line_number":354,"context_line":"-------------"},{"line_number":355,"context_line":"The backup driver needs to implement these functions::"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def backup(self, backup, share):"},{"line_number":358,"context_line":"        \"\"\"Create a backup of a specified share."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":31,"id":"1be0c4ec_084f4744","line":357,"range":{"start_line":357,"start_character":0,"end_line":357,"end_character":4},"updated":"2022-12-21 15:30:35.000000000","message":"what happens when the manila-data service is interrupted? \n\ndo we need a restart mechanism for the generic case? \n\nMaybe some drivers will be able to start a backup externally and are not affected by the restart of the data service... when the data service is back, we may need a way to monitor such backups and check on their completion and recover.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"569c67818100f857f4becfa9032b0fa4ef86c20f","unresolved":false,"context_lines":[{"line_number":354,"context_line":"-------------"},{"line_number":355,"context_line":"The backup driver needs to implement these functions::"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def backup(self, backup, share):"},{"line_number":358,"context_line":"        \"\"\"Create a backup of a specified share."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        The driver should return the backup model with new created"}],"source_content_type":"text/x-rst","patch_set":31,"id":"edbcb8c5_c1ac97c7","line":357,"range":{"start_line":357,"start_character":0,"end_line":357,"end_character":4},"in_reply_to":"1be0c4ec_084f4744","updated":"2022-12-22 10:39:24.000000000","message":"I had not given thought on recovery if service is interrupted. I will add it in future TODO.","commit_id":"2ffcee5e792b165e0fe6f3b60985dac60a9aae4c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4fe6b6e101ff42d273a1752f8e5372d98059cc9b","unresolved":true,"context_lines":[{"line_number":461,"context_line":"  will accept --backup \u003cbackup_id\u003e option and create share of the size as that"},{"line_number":462,"context_line":"  of backup. In addition, backup data will be copied to share."},{"line_number":463,"context_line":"* Add support to handle backup failover in case manila service is interrupted,"},{"line_number":464,"context_line":"  i.e. when service is backup, monitor the backups, check on their completion"},{"line_number":465,"context_line":"  and recover if posssible."},{"line_number":466,"context_line":"* Restore operation can be enhanced to consider restore to share of different"},{"line_number":467,"context_line":"  size than backup. If restore share is smaller in size, it will be expanded"}],"source_content_type":"text/x-rst","patch_set":32,"id":"1688e0b2_dad7f687","line":464,"range":{"start_line":464,"start_character":23,"end_line":464,"end_character":29},"updated":"2022-12-22 14:27:05.000000000","message":"back online","commit_id":"be4391601b0d91e5eb9279634287109825da5044"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3fe9e5b7b5a618fa1fbd81c0a996866c4f825dca","unresolved":false,"context_lines":[{"line_number":461,"context_line":"  will accept --backup \u003cbackup_id\u003e option and create share of the size as that"},{"line_number":462,"context_line":"  of backup. In addition, backup data will be copied to share."},{"line_number":463,"context_line":"* Add support to handle backup failover in case manila service is interrupted,"},{"line_number":464,"context_line":"  i.e. when service is backup, monitor the backups, check on their completion"},{"line_number":465,"context_line":"  and recover if posssible."},{"line_number":466,"context_line":"* Restore operation can be enhanced to consider restore to share of different"},{"line_number":467,"context_line":"  size than backup. If restore share is smaller in size, it will be expanded"}],"source_content_type":"text/x-rst","patch_set":32,"id":"6da79620_8e54481e","line":464,"range":{"start_line":464,"start_character":23,"end_line":464,"end_character":29},"in_reply_to":"1688e0b2_dad7f687","updated":"2022-12-22 14:33:54.000000000","message":"Done","commit_id":"be4391601b0d91e5eb9279634287109825da5044"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"93d1b8cedb307dc5f0fae4fae914d1c1e2c83758","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":33,"id":"61de0cee_3b921562","updated":"2022-12-22 14:36:48.000000000","message":"While we\u0027re here, can you please add this folder to the index page? It\u0027s currently not rendered: https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_2ea/330306/32/check/openstack-tox-docs/2ea9c01/docs/index.html","commit_id":"efd158ed7e012de5f0a5af1c92af363f2c5b1fb6"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8f9e28e83d0fd249a5bbaad6d3049d7ddebffe92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"b13864c8_70eb3b71","in_reply_to":"61de0cee_3b921562","updated":"2022-12-22 14:47:26.000000000","message":"Added","commit_id":"efd158ed7e012de5f0a5af1c92af363f2c5b1fb6"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"34e8f240b50129c26bd4d1d04ebccf4b54c9216a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"969f9590_481e9934","in_reply_to":"b13864c8_70eb3b71","updated":"2022-12-22 14:57:00.000000000","message":"Nice catch!","commit_id":"efd158ed7e012de5f0a5af1c92af363f2c5b1fb6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bf2f781580068bb1ce490e702bb5f9fe31fda162","unresolved":true,"context_lines":[{"line_number":182,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"CLI API impact"},{"line_number":186,"context_line":"--------------"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Add new commands to openstackclient(OSC):"}],"source_content_type":"text/x-rst","patch_set":34,"id":"eadd68a8_583fcdcc","line":185,"updated":"2022-12-22 15:00:11.000000000","message":"nit: This section can be better formatted; i.e., get the CLI commands to show up as code..","commit_id":"eb3ba53a44b3af01232a4e3af8dd17dfa936c5f3"}],"specs/newton/backup_share.rst":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Manila backup\u0026restore share"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Blueprint: https://blueprints.launchpad.net/manila/+spec/share-backup"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_d0e65943","line":8,"range":{"start_line":8,"start_character":7,"end_line":8,"end_character":21},"updated":"2016-06-16 11:53:05.000000000","message":"and a space between, like \"backup \u0026 restore\"","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Manila backup\u0026restore share"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Blueprint: https://blueprints.launchpad.net/manila/+spec/share-backup"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_fcdc5548","line":8,"range":{"start_line":8,"start_character":7,"end_line":8,"end_character":21},"in_reply_to":"7aa08908_d0e65943","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Today we can not backup a share in manila. These shares reside on the"},{"line_number":20,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":21,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":22,"context_line":"from the storage backend."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_b0e10d2d","line":19,"range":{"start_line":19,"start_character":9,"end_line":19,"end_character":16},"updated":"2016-06-16 11:53:05.000000000","message":"cannot","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Today we can not backup a share in manila. These shares reside on the"},{"line_number":20,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":21,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":22,"context_line":"from the storage backend."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_dce19900","line":19,"range":{"start_line":19,"start_character":9,"end_line":19,"end_character":16},"in_reply_to":"7aa08908_b0e10d2d","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Today we can not backup a share in manila. These shares reside on the"},{"line_number":20,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":21,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":22,"context_line":"from the storage backend."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_103621b4","line":22,"range":{"start_line":22,"start_character":1,"end_line":22,"end_character":24},"updated":"2016-06-16 11:53:05.000000000","message":"to avoid ambiguity, I would say \"from the same storage backend\". backups will go to a storage backend anyway.","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Today we can not backup a share in manila. These shares reside on the"},{"line_number":20,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":21,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":22,"context_line":"from the storage backend."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_3ce7fd13","line":22,"range":{"start_line":22,"start_character":1,"end_line":22,"end_character":24},"in_reply_to":"7aa08908_103621b4","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"There are users who have taken many shares and would like a way to protect"},{"line_number":28,"context_line":"these shares. This proposal to backup shares provides lower level of"},{"line_number":29,"context_line":"data protection."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_5040a907","line":27,"range":{"start_line":27,"start_character":25,"end_line":27,"end_character":30},"updated":"2016-06-16 11:53:05.000000000","message":"remove this","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"There are users who have taken many shares and would like a way to protect"},{"line_number":28,"context_line":"these shares. This proposal to backup shares provides lower level of"},{"line_number":29,"context_line":"data protection."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_7cf185cd","line":27,"range":{"start_line":27,"start_character":25,"end_line":27,"end_character":30},"in_reply_to":"7aa08908_5040a907","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- A full copy of a share stored in an external service named backup driver."},{"line_number":43,"context_line":"  Provide a common interface for backup driver. The backup driver run"},{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_f006f5cb","line":43,"range":{"start_line":43,"start_character":66,"end_line":43,"end_character":69},"updated":"2016-06-16 11:53:05.000000000","message":"runs","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- A full copy of a share stored in an external service named backup driver."},{"line_number":43,"context_line":"  Provide a common interface for backup driver. The backup driver run"},{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_5cee49ed","line":43,"range":{"start_line":43,"start_character":66,"end_line":43,"end_character":69},"in_reply_to":"7aa08908_f006f5cb","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  backup_driver \u003d manila.data.drivers.test.TestBackupDriver"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_f02d5546","line":53,"range":{"start_line":53,"start_character":59,"end_line":53,"end_character":68},"updated":"2016-06-16 11:53:05.000000000","message":"to be implemented","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  backup_driver \u003d manila.data.drivers.test.TestBackupDriver"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_9cbef1d2","line":53,"range":{"start_line":53,"start_character":59,"end_line":53,"end_character":68},"in_reply_to":"7aa08908_f02d5546","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_70e165fc","line":56,"range":{"start_line":56,"start_character":51,"end_line":56,"end_character":58},"updated":"2016-06-16 11:53:05.000000000","message":"list","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_30b6bdf9","line":56,"range":{"start_line":56,"start_character":71,"end_line":56,"end_character":78},"updated":"2016-06-16 11:53:05.000000000","message":"show","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_8a8dfa7d","line":56,"range":{"start_line":56,"start_character":71,"end_line":56,"end_character":78},"in_reply_to":"7aa08908_30b6bdf9","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or implement in the"},{"line_number":54,"context_line":"  storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_eae8fe18","line":56,"range":{"start_line":56,"start_character":51,"end_line":56,"end_character":58},"in_reply_to":"7aa08908_70e165fc","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as listing backups and showing"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_3084fd09","line":60,"range":{"start_line":58,"start_character":2,"end_line":60,"end_character":43},"updated":"2016-06-16 11:53:05.000000000","message":"what does it mean to support policy?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_d0ac998e","line":62,"range":{"start_line":62,"start_character":24,"end_line":62,"end_character":59},"updated":"2016-06-16 11:53:05.000000000","message":"if no new driver interfaces will be introduced, then how will storage backends perform backup, as stated in line 53?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_907b3129","line":62,"range":{"start_line":62,"start_character":20,"end_line":62,"end_character":23},"updated":"2016-06-16 11:53:05.000000000","message":"interface","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_5cc5a959","line":62,"range":{"start_line":62,"start_character":20,"end_line":62,"end_character":23},"in_reply_to":"7aa08908_907b3129","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_9ca551b7","line":62,"range":{"start_line":62,"start_character":24,"end_line":62,"end_character":59},"in_reply_to":"7aa08908_d0ac998e","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Create a snapshot from the share"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_10b581cf","line":64,"range":{"start_line":64,"start_character":30,"end_line":64,"end_character":35},"updated":"2016-06-16 11:53:05.000000000","message":"a share","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Note: No new driver API will be introduced in this proposal."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Create a snapshot from the share"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_dcafd992","line":64,"range":{"start_line":64,"start_character":30,"end_line":64,"end_character":35},"in_reply_to":"7aa08908_10b581cf","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Steps to create a backup from share are as follows by default using the"},{"line_number":65,"context_line":"internal tenant:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Create a snapshot from the share"},{"line_number":68,"context_line":"* Allow access to snapshot"},{"line_number":69,"context_line":"* Mount the snapshot"},{"line_number":70,"context_line":"* Do backup from the snapshot"},{"line_number":71,"context_line":"* deny access to snapshot"},{"line_number":72,"context_line":"* Unmount the snapshot"},{"line_number":73,"context_line":"* Cleanup the snapshot"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"If the driver has implemented the backup interface introduced(see the"},{"line_number":76,"context_line":"developer impact section), backing up a share will be done using the"},{"line_number":77,"context_line":"following steps:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Do backup from the share"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_4308e128","line":79,"range":{"start_line":67,"start_character":0,"end_line":79,"end_character":26},"updated":"2016-06-16 11:53:05.000000000","message":"is there a fallback mode? I see that there are not 2 different APIs, so how is it handle if a driver does not implement backup?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Alternatives"},{"line_number":83,"context_line":"------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"None"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Data model impact"},{"line_number":88,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_b01aadc4","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":4},"updated":"2016-06-16 11:53:05.000000000","message":"by saying that we have no alternatives, it implies that we have no other choice than implementing backups. I do not think that is true","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":120,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Add one table for share backup policy"},{"line_number":123,"context_line":"DESC share_backup_policys;"},{"line_number":124,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":125,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"},{"line_number":126,"context_line":"+---------------+--------------+------+-----+---------+----------------+"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_e32d8d46","line":123,"range":{"start_line":123,"start_character":18,"end_line":123,"end_character":25},"updated":"2016-06-16 11:53:05.000000000","message":"policies","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":120,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Add one table for share backup policy"},{"line_number":123,"context_line":"DESC share_backup_policys;"},{"line_number":124,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":125,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"},{"line_number":126,"context_line":"+---------------+--------------+------+-----+---------+----------------+"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_7c9fc55f","line":123,"range":{"start_line":123,"start_character":18,"end_line":123,"end_character":25},"in_reply_to":"7aa08908_e32d8d46","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"| policy_value  | varchar(255) | YES  |     | NULL    |                |"},{"line_number":135,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* Add one table for share backup copys"},{"line_number":138,"context_line":"DESC share_backup_copys;"},{"line_number":139,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":140,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_3046bd7b","line":137,"range":{"start_line":137,"start_character":33,"end_line":137,"end_character":38},"updated":"2016-06-16 11:53:05.000000000","message":"copies","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":134,"context_line":"| policy_value  | varchar(255) | YES  |     | NULL    |                |"},{"line_number":135,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* Add one table for share backup copys"},{"line_number":138,"context_line":"DESC share_backup_copys;"},{"line_number":139,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":140,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_5c9c8969","line":137,"range":{"start_line":137,"start_character":33,"end_line":137,"end_character":38},"in_reply_to":"7aa08908_3046bd7b","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u003cshare\u003e"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_30b87d75","line":165,"range":{"start_line":165,"start_character":2,"end_line":165,"end_character":8},"updated":"2016-06-16 11:53:05.000000000","message":"could you elaborate on what policy means?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u003cshare\u003e"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_10bbc176","line":165,"range":{"start_line":165,"start_character":27,"end_line":165,"end_character":28},"updated":"2016-06-16 11:53:05.000000000","message":"lowercase","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u003cshare\u003e"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_f0643522","line":165,"range":{"start_line":165,"start_character":64,"end_line":165,"end_character":75},"updated":"2016-06-16 11:53:05.000000000","message":"policy is only","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u003cshare\u003e"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_9c8c3137","line":165,"range":{"start_line":165,"start_character":27,"end_line":165,"end_character":28},"in_reply_to":"7aa08908_10bbc176","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                      \u003cshare\u003e"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_fc81f5fc","line":165,"range":{"start_line":165,"start_character":64,"end_line":165,"end_character":75},"in_reply_to":"7aa08908_f0643522","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."},{"line_number":169,"context_line":"* description: Backup description. Default\u003dNone."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_506c2908","line":166,"range":{"start_line":166,"start_character":17,"end_line":166,"end_character":23},"updated":"2016-06-16 11:53:05.000000000","message":"drivers","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."},{"line_number":169,"context_line":"* description: Backup description. Default\u003dNone."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_b07bcdbd","line":166,"range":{"start_line":166,"start_character":47,"end_line":166,"end_character":57},"updated":"2016-06-16 11:53:05.000000000","message":"remove","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."},{"line_number":169,"context_line":"* description: Backup description. Default\u003dNone."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_3c7c1d20","line":166,"range":{"start_line":166,"start_character":17,"end_line":166,"end_character":23},"in_reply_to":"7aa08908_506c2908","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."},{"line_number":169,"context_line":"* description: Backup description. Default\u003dNone."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_1c796130","line":166,"range":{"start_line":166,"start_character":47,"end_line":166,"end_character":57},"in_reply_to":"7aa08908_b07bcdbd","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":165,"context_line":"* policy: A backup policy, It can have user-defined policy. The policy only"},{"line_number":166,"context_line":"  used in backup driver that can support policy in itself."},{"line_number":167,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":168,"context_line":"* max-num: The max number of backup share."},{"line_number":169,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":170,"context_line":"* share: Name or ID of share to backup."},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_f0ef1584","line":168,"range":{"start_line":168,"start_character":2,"end_line":168,"end_character":42},"updated":"2016-06-16 11:53:05.000000000","message":"I don\u0027t understand this, is this a maximum number of times this share can be backed up? when it reaches the number it stops backing up? what is the default value?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":172,"context_line":"Manila backup-restore \u003cbackup\u003e [\u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]]"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* backup: ID of backup to restore."},{"line_number":175,"context_line":"* key-value: If the backup include policy, one backup may have many backup"},{"line_number":176,"context_line":"  copys, so we need use key-value to decide which backup copy will be restored."},{"line_number":177,"context_line":"  Such as: time\u003d\"2016-2-3 21:12:12\", this \"2016-2-3 21:12:12\" data will be restored."},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_509ee907","line":175,"range":{"start_line":175,"start_character":27,"end_line":175,"end_character":34},"updated":"2016-06-16 11:53:05.000000000","message":"includes","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":172,"context_line":"Manila backup-restore \u003cbackup\u003e [\u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]]"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* backup: ID of backup to restore."},{"line_number":175,"context_line":"* key-value: If the backup include policy, one backup may have many backup"},{"line_number":176,"context_line":"  copys, so we need use key-value to decide which backup copy will be restored."},{"line_number":177,"context_line":"  Such as: time\u003d\"2016-2-3 21:12:12\", this \"2016-2-3 21:12:12\" data will be restored."},{"line_number":178,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_7c76a53f","line":175,"range":{"start_line":175,"start_character":27,"end_line":175,"end_character":34},"in_reply_to":"7aa08908_509ee907","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* backup: ID of backup to restore."},{"line_number":175,"context_line":"* key-value: If the backup include policy, one backup may have many backup"},{"line_number":176,"context_line":"  copys, so we need use key-value to decide which backup copy will be restored."},{"line_number":177,"context_line":"  Such as: time\u003d\"2016-2-3 21:12:12\", this \"2016-2-3 21:12:12\" data will be restored."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"**Creating a share backup**::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_d02e59a4","line":176,"range":{"start_line":176,"start_character":2,"end_line":176,"end_character":7},"updated":"2016-06-16 11:53:05.000000000","message":"copies","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"* backup: ID of backup to restore."},{"line_number":175,"context_line":"* key-value: If the backup include policy, one backup may have many backup"},{"line_number":176,"context_line":"  copys, so we need use key-value to decide which backup copy will be restored."},{"line_number":177,"context_line":"  Such as: time\u003d\"2016-2-3 21:12:12\", this \"2016-2-3 21:12:12\" data will be restored."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"**Creating a share backup**::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a9d85d2_5c73e94d","line":176,"range":{"start_line":176,"start_character":2,"end_line":176,"end_character":7},"in_reply_to":"7aa08908_d02e59a4","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":373,"context_line":""},{"line_number":374,"context_line":"Driver impact"},{"line_number":375,"context_line":"-------------"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Security impact"},{"line_number":379,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_900b312b","line":376,"updated":"2016-06-16 11:53:05.000000000","message":"state the driver impact here, such as implementing new methods, if the feature is optional or not","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":378,"context_line":"Security impact"},{"line_number":379,"context_line":"---------------"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"None"},{"line_number":382,"context_line":""},{"line_number":383,"context_line":"Notifications impact"},{"line_number":384,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_a35c251a","line":381,"range":{"start_line":381,"start_character":0,"end_line":381,"end_character":4},"updated":"2016-06-16 11:53:05.000000000","message":"if you are mounting a share to create a backup, it exposes a security risk.","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":388,"context_line":"Other end user impact"},{"line_number":389,"context_line":"---------------------"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"End user will be able to create a backup from a share."},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"Performance Impact"},{"line_number":394,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_63d7dd4f","line":391,"range":{"start_line":391,"start_character":0,"end_line":391,"end_character":54},"updated":"2016-06-16 11:53:05.000000000","message":"will it cause share to be unavailable or restricted to other operations such as extend/shrink while it is backing up?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"b7ca249eb61a13add1ed5ac3d1d57bdd59d6b0e1","unresolved":false,"context_lines":[{"line_number":388,"context_line":"Other end user impact"},{"line_number":389,"context_line":"---------------------"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"End user will be able to create a backup from a share."},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"Performance Impact"},{"line_number":394,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3aaa91ec_123de88e","line":391,"range":{"start_line":391,"start_character":0,"end_line":391,"end_character":54},"in_reply_to":"7aa08908_63d7dd4f","updated":"2016-07-11 12:06:56.000000000","message":"Done","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":398,"context_line":"Other deployer impact"},{"line_number":399,"context_line":"---------------------"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"The deployer will be able to backup a share."},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"Developer impact"},{"line_number":404,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_437bc17b","line":401,"range":{"start_line":401,"start_character":0,"end_line":401,"end_character":44},"updated":"2016-06-16 11:53:05.000000000","message":"what does the deployer will have to configure?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":403,"context_line":"Developer impact"},{"line_number":404,"context_line":"----------------"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":""},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"Implementation"},{"line_number":409,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_e35f4de2","line":406,"updated":"2016-06-16 11:53:05.000000000","message":"how does it impact replication, consistency groups, migration, etc?","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"0865cafdb2a3131acca947f235e76b3f2d20d13a","unresolved":false,"context_lines":[{"line_number":429,"context_line":"Dependencies"},{"line_number":430,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":431,"context_line":""},{"line_number":432,"context_line":"None"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"Testing"},{"line_number":435,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7aa08908_90d051f9","line":432,"range":{"start_line":432,"start_character":0,"end_line":432,"end_character":4},"updated":"2016-06-16 11:53:05.000000000","message":"this is dependent on mountable snapshots, as per lines 67-73","commit_id":"5126fd2b64a4cc4379a68aaddb5ce66beefa38b7"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"There are users who have many shares and would like a way to protect"},{"line_number":28,"context_line":"these shares. This proposal to backup shares provides lower level of"},{"line_number":29,"context_line":"data protection."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"There are other projects in OpenStack focusing on data protection such as"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_7d89f125","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":54},"updated":"2016-06-30 16:24:31.000000000","message":"s/lower/a lower/","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"There are users who have many shares and would like a way to protect"},{"line_number":28,"context_line":"these shares. This proposal to backup shares provides lower level of"},{"line_number":29,"context_line":"data protection."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"There are other projects in OpenStack focusing on data protection such as"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_ad15749c","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":54},"in_reply_to":"3aaa91ec_7d89f125","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":34,"context_line":"those projects which are doing a full blown orchestration of data protection"},{"line_number":35,"context_line":"for all resources in OpenStack. Instead, Manila APIs can be consumed by"},{"line_number":36,"context_line":"those higher level projects for data protection and can also be used directly"},{"line_number":37,"context_line":"by users who do not need those higher level projects."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_81495e35","line":37,"updated":"2016-07-01 22:22:40.000000000","message":"Looks familiar:).","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"those projects which are doing a full blown orchestration of data protection"},{"line_number":35,"context_line":"for all resources in OpenStack. Instead, Manila APIs can be consumed by"},{"line_number":36,"context_line":"those higher level projects for data protection and can also be used directly"},{"line_number":37,"context_line":"by users who do not need those higher level projects."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_2d222402","line":37,"in_reply_to":"3aaa91ec_81495e35","updated":"2017-10-24 02:21:07.000000000","message":":D","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- A full copy of a share stored in an external service named backup driver."},{"line_number":43,"context_line":"  Provide a common interface for backup driver. The backup driver runs"},{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_7d2c5102","line":42,"range":{"start_line":42,"start_character":32,"end_line":42,"end_character":34},"updated":"2016-06-30 16:24:31.000000000","message":"s/in/by/ ?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"- A full copy of a share stored in an external service named backup driver."},{"line_number":43,"context_line":"  Provide a common interface for backup driver. The backup driver runs"},{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_4d6cd036","line":42,"range":{"start_line":42,"start_character":32,"end_line":42,"end_character":34},"in_reply_to":"3aaa91ec_7d2c5102","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"::"},{"line_number":48,"context_line":"  enabled_backup_backends \u003d backup1"},{"line_number":49,"context_line":"  [backup1]"},{"line_number":50,"context_line":"  backup_driver \u003d manila.data.drivers.test.TestBackupDriver"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_1d1b8dcb","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":2},"updated":"2016-06-30 16:24:31.000000000","message":"This is readable, but doesn\u0027t seem to be formatted right.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  backup_driver \u003d manila.data.drivers.test.TestBackupDriver"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or to be implemented"},{"line_number":54,"context_line":"  in the storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as list backups and show"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_dd8745b3","line":53,"range":{"start_line":53,"start_character":41,"end_line":53,"end_character":58},"updated":"2016-06-30 16:24:31.000000000","message":"Does this proposal include the creation of an Object Storage backup driver? Needs more explanation where this is coming from.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or to be implemented"},{"line_number":54,"context_line":"  in the storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as list backups and show"},{"line_number":57,"context_line":"  the details of a specific backup."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_c1740638","line":54,"updated":"2016-07-01 22:22:40.000000000","message":"By default, there should be a backup driver that relies on an open source technology, i.e., Swift for Object Storage or NFS for File Storage.  If backup service is installed and running, the default backup driver should be working.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  in the storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as list backups and show"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_81f67e8e","line":57,"updated":"2016-07-01 22:22:40.000000000","message":"Will this be full backup and restore only or is there a plan to support incremental?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver have its own backup strategies. for example, the driver"},{"line_number":62,"context_line":"  could define the backup startup time, the driver could define the intreval"},{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_3da80920","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":26},"updated":"2016-06-30 16:24:31.000000000","message":"s/have/has/","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver have its own backup strategies. for example, the driver"},{"line_number":62,"context_line":"  could define the backup startup time, the driver could define the intreval"},{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_0d9e4807","line":61,"range":{"start_line":61,"start_character":22,"end_line":61,"end_character":26},"in_reply_to":"3aaa91ec_3da80920","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver have its own backup strategies. for example, the driver"},{"line_number":62,"context_line":"  could define the backup startup time, the driver could define the intreval"},{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a1c3ba56","line":62,"updated":"2016-07-01 22:22:40.000000000","message":"interval?  Do you mean \"interval\"?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver have its own backup strategies. for example, the driver"},{"line_number":62,"context_line":"  could define the backup startup time, the driver could define the intreval"},{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_cdba8071","line":62,"in_reply_to":"3aaa91ec_a1c3ba56","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Data model impact"},{"line_number":90,"context_line":"-----------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Add one table for store share backup information"},{"line_number":93,"context_line":"The ``manila.db.sqlalchemy.models.Backups`` model will add these keys:"},{"line_number":94,"context_line":"``id`` and ``share_id``, ``store``, ``policy_id``, ``status``, etc."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_88ef3d86","line":92,"range":{"start_line":92,"start_character":16,"end_line":92,"end_character":25},"updated":"2016-06-30 16:24:31.000000000","message":"s/store share/share/","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"ac357adaa10450af09a9b501faeb5047878b7701","unresolved":false,"context_lines":[{"line_number":93,"context_line":"The ``manila.db.sqlalchemy.models.Backups`` model will add these keys:"},{"line_number":94,"context_line":"``id`` and ``share_id``, ``store``, ``policy_id``, ``status``, etc."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"DESC backups"},{"line_number":97,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":98,"context_line":"| Field                 | Type         | Null | Key | Default | Extra |"},{"line_number":99,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":100,"context_line":"| created_at            | datetime     | YES  |     | NULL    |       |"},{"line_number":101,"context_line":"| updated_at            | datetime     | YES  |     | NULL    |       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a86f99fa","line":98,"range":{"start_line":96,"start_character":0,"end_line":98,"end_character":10},"updated":"2016-06-30 16:24:31.000000000","message":"These tables need some better formatting to be read in the formatted spec.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":109,"context_line":"| availability_zone     | varchar(255) | YES  |     | NULL    |       |"},{"line_number":110,"context_line":"| display_name          | varchar(255) | YES  |     | NULL    |       |"},{"line_number":111,"context_line":"| display_description   | varchar(255) | YES  |     | NULL    |       |"},{"line_number":112,"context_line":"| store                 | varchar(255) | YES  |     | NULL    |       |"},{"line_number":113,"context_line":"| status                | varchar(255) | YES  |     | NULL    |       |"},{"line_number":114,"context_line":"| fail_reason           | varchar(255) | YES  |     | NULL    |       |"},{"line_number":115,"context_line":"| size                  | int(11)      | YES  |     | NULL    |       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_04729cb0","line":112,"updated":"2016-07-01 22:22:40.000000000","message":"What does this field mean?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":113,"context_line":"| status                | varchar(255) | YES  |     | NULL    |       |"},{"line_number":114,"context_line":"| fail_reason           | varchar(255) | YES  |     | NULL    |       |"},{"line_number":115,"context_line":"| size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":116,"context_line":"| object_count          | int(11)      | YES  |     | NULL    |       |"},{"line_number":117,"context_line":"| policy_id             | varchar(255) | YES  |     | NULL    |       |"},{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a4e2a82d","line":116,"updated":"2016-07-01 22:22:40.000000000","message":"If you want to add a Swift backup driver as default, you also need a \"container\" field.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":115,"context_line":"| size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":116,"context_line":"| object_count          | int(11)      | YES  |     | NULL    |       |"},{"line_number":117,"context_line":"| policy_id             | varchar(255) | YES  |     | NULL    |       |"},{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_24a878db","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":16},"updated":"2016-07-01 22:22:40.000000000","message":"This is not needed.  We cannot create a share from a share in Manila.  This field is not useful.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"| size                  | int(11)      | YES  |     | NULL    |       |"},{"line_number":116,"context_line":"| object_count          | int(11)      | YES  |     | NULL    |       |"},{"line_number":117,"context_line":"| policy_id             | varchar(255) | YES  |     | NULL    |       |"},{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_cd2f20a6","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":16},"in_reply_to":"3aaa91ec_24a878db","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":117,"context_line":"| policy_id             | varchar(255) | YES  |     | NULL    |       |"},{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"},{"line_number":122,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_01160e58","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":13},"updated":"2016-07-01 22:22:40.000000000","message":"Why do you need to store snapshot_id?  What you are proposing is to backup a share.  Snapshot is a temporary thing that will be deleted when backup is complete.\n\nYou need a \"temp_snapshot_id\" instead.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":117,"context_line":"| policy_id             | varchar(255) | YES  |     | NULL    |       |"},{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"},{"line_number":122,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_6d542c21","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":13},"in_reply_to":"3aaa91ec_01160e58","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"},{"line_number":122,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Add one table for share backup policy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_6491e09a","line":121,"range":{"start_line":121,"start_character":2,"end_line":121,"end_character":16},"updated":"2016-07-01 22:22:40.000000000","message":"This is only needed if you support incremental backup and automatically find latest backup and backup snapshot.  I don\u0027t see those in your spec so this field should be removed.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":118,"context_line":"| temp_share_id         | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":119,"context_line":"| num_dependent_backups | int(11)      | YES  |     | NULL    |       |"},{"line_number":120,"context_line":"| snapshot_id           | varchar(36)  | YES  |     | NULL    |       |"},{"line_number":121,"context_line":"| data_timestamp        | datetime     | YES  |     | NULL    |       |"},{"line_number":122,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Add one table for share backup policy"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_4d5df047","line":121,"range":{"start_line":121,"start_character":2,"end_line":121,"end_character":16},"in_reply_to":"3aaa91ec_6491e09a","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":136,"context_line":"| policy_value  | varchar(255) | YES  |     | NULL    |                |"},{"line_number":137,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Add one table for share backup copies"},{"line_number":140,"context_line":"DESC share_backup_copies;"},{"line_number":141,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":142,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a48e28ce","line":139,"updated":"2016-07-01 22:22:40.000000000","message":"Why is this table needed?  When and how do these backup copies get created?  If this is only a capability available on a proprietary backup driver, it should not be  in the first release of the backup feature as we talked about working on the generic solution first.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* policy: A backup policy, it can have user-defined policy. The policy is only"},{"line_number":168,"context_line":"  used in backup drivers that can support policy."},{"line_number":169,"context_line":"* store: Name of the backup storage. The default value is None."},{"line_number":170,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":171,"context_line":"* share: Name or ID of share to backup."},{"line_number":172,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_c45374e1","line":169,"updated":"2016-07-01 22:22:40.000000000","message":"Default should be Swift or NFS, depending on which you are going to write for the generic solution.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":190,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":191,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":192,"context_line":"            },"},{"line_number":193,"context_line":"            \"store\": \"53482b62-2c84-4a53-b6ab-30d9d9800d06\","},{"line_number":194,"context_line":"            \"description\": \"This is my share network\""},{"line_number":195,"context_line":"        }"},{"line_number":196,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_e4bcb0dd","line":193,"updated":"2016-07-01 22:22:40.000000000","message":"Why is \"store\" a UUID?  How does it get generated and where is it saved?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":200,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":201,"context_line":"with ``400 Bad Request``."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"If the tenant\u0027s share backup quota has exceeded, the API will respond with"},{"line_number":204,"context_line":"``403 Forbidden``."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Response::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_6490c04f","line":203,"updated":"2016-07-01 22:22:40.000000000","message":"I don\u0027t see quota management being described in the spec.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":354,"context_line":"        \"share_restore\": {"},{"line_number":355,"context_line":"            \"store\": \"53482b62-2c84-4a53-b6ab-30d9d9800d06\","},{"line_number":356,"context_line":"            \"share\": \"test\","},{"line_number":357,"context_line":"            \"extra_specs\": {"},{"line_number":358,"context_line":"                \"time\": \"2016-02-16\","},{"line_number":359,"context_line":"            },"},{"line_number":360,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a4ed88b9","line":357,"range":{"start_line":357,"start_character":13,"end_line":357,"end_character":24},"updated":"2016-07-01 22:22:40.000000000","message":"Where does \"extra_specs\" come from?  How is this related to extra_specs in share_types?  Is this backup specific extra_specs that need another table to store?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        }"},{"line_number":361,"context_line":"    }"},{"line_number":362,"context_line":""},{"line_number":363,"context_line":"Subnet details ``share`` and ``extra_specs`` are optional."},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"If the ``share`` or ``store`` is not known to manila, the API will respond"},{"line_number":366,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_e4b830ca","line":363,"updated":"2016-07-01 22:22:40.000000000","message":"Subnet?","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":394,"context_line":"---------------------"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"End user will be able to create a backup from a share."},{"line_number":397,"context_line":"End user will be unavailable or restricted to other share operations"},{"line_number":398,"context_line":"while it is backing up. Such as: extend/shrink share, replication share,"},{"line_number":399,"context_line":"cg-group operation, migration share."},{"line_number":400,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_843dec2e","line":397,"range":{"start_line":397,"start_character":9,"end_line":397,"end_character":45},"updated":"2016-07-01 22:22:40.000000000","message":"will not be able to perform","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":395,"context_line":""},{"line_number":396,"context_line":"End user will be able to create a backup from a share."},{"line_number":397,"context_line":"End user will be unavailable or restricted to other share operations"},{"line_number":398,"context_line":"while it is backing up. Such as: extend/shrink share, replication share,"},{"line_number":399,"context_line":"cg-group operation, migration share."},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_643a8036","line":398,"range":{"start_line":398,"start_character":0,"end_line":398,"end_character":22},"updated":"2016-07-01 22:22:40.000000000","message":"during a backup","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":406,"context_line":"Other deployer impact"},{"line_number":407,"context_line":"---------------------"},{"line_number":408,"context_line":""},{"line_number":409,"context_line":"The deployer will be able to backup a share."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"Developer impact"},{"line_number":412,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_a4e0e897","line":409,"updated":"2016-07-01 22:22:40.000000000","message":"This section should talk about what the deployer needs to do to enable and configure backup.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5e0ab6bfea339b84d963f2b81baed6e5f2e2acff","unresolved":false,"context_lines":[{"line_number":411,"context_line":"Developer impact"},{"line_number":412,"context_line":"----------------"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"Implementation"},{"line_number":417,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3aaa91ec_6421e0fc","line":414,"updated":"2016-07-01 22:22:40.000000000","message":"You referenced Developer section earlier.","commit_id":"3ba075c84f8e01b1eb94575c3df644464147abdd"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"3c50eba50e0aa089dcb5cbace748c1c9b85a44e5","unresolved":false,"context_lines":[{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"There are users who have many shares and would like a way to protect"},{"line_number":28,"context_line":"these shares. This proposal to backup shares provides a lower level of"},{"line_number":29,"context_line":"data protection."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"There are other projects in OpenStack focusing on data protection such as"},{"line_number":32,"context_line":"Freezer, Smaug, Raksha, etc. They are all in different stages of design,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1aa78d24_59eeed8b","line":29,"range":{"start_line":28,"start_character":45,"end_line":29,"end_character":16},"updated":"2016-07-12 18:22:23.000000000","message":"Unfortunately \"a lower level of data protection\" means *less* data protection.  I suggest: \"provides low-level data protection.\"\n\nThis is just tricky English stuff.","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":31,"context_line":"There are other projects in OpenStack focusing on data protection such as"},{"line_number":32,"context_line":"Freezer, Smaug, Raksha, etc. They are all in different stages of design,"},{"line_number":33,"context_line":"development, or adoption. The backup API in Manila is not a replacement of"},{"line_number":34,"context_line":"those projects which are doing a full blown orchestration of data protection"},{"line_number":35,"context_line":"for all resources in OpenStack. Instead, Manila APIs can be consumed by"},{"line_number":36,"context_line":"those higher level projects for data protection and can also be used directly"},{"line_number":37,"context_line":"by users who do not need those higher level projects."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_2a2ada7e","line":34,"range":{"start_line":34,"start_character":38,"end_line":34,"end_character":43},"updated":"2016-09-06 07:21:16.000000000","message":"I don\u0027t get what this word means here?","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":42,"context_line":"- A full copy of a share stored by an external service named backup driver."},{"line_number":43,"context_line":"  Provide a common interface for backup driver. The backup driver runs"},{"line_number":44,"context_line":"  in share data service. One data service can include multiple backup drivers."},{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"::"},{"line_number":48,"context_line":"  enabled_backup_backends \u003d backup1"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_6a13020e","line":45,"range":{"start_line":45,"start_character":2,"end_line":45,"end_character":19},"updated":"2016-09-06 07:21:16.000000000","message":"which backup driver to use","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  The backup driver can be configured in \u0027\u0027manila.conf\u0027\u0027."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"::"},{"line_number":48,"context_line":"  enabled_backup_backends \u003d backup1"},{"line_number":49,"context_line":"  [backup1]"},{"line_number":50,"context_line":"  backup_driver \u003d manila.data.drivers.test.TestBackupDriver"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_aac6ea46","line":48,"range":{"start_line":48,"start_character":2,"end_line":48,"end_character":25},"updated":"2016-09-06 07:21:16.000000000","message":"does this mean there could be multiple backends configured at the same time?","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"3c50eba50e0aa089dcb5cbace748c1c9b85a44e5","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- The supported backup driver for now is Object Storage or to be implemented"},{"line_number":54,"context_line":"  in the storage drivers. By default there is no backup driver enabled."},{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as list backups and show"},{"line_number":57,"context_line":"  the details of a specific backup."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1aa78d24_bc1e8d5c","line":54,"range":{"start_line":54,"start_character":26,"end_line":54,"end_character":70},"updated":"2016-07-12 18:22:23.000000000","message":"Why not default to an open source backup driver?","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":55,"context_line":"- Add new share backup command to run backup function. It will allow the user"},{"line_number":56,"context_line":"  to create, restore and delete backups as well as list backups and show"},{"line_number":57,"context_line":"  the details of a specific backup."},{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver has its own backup strategies. for example, the driver"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_2acbba1f","line":58,"range":{"start_line":58,"start_character":6,"end_line":58,"end_character":20},"updated":"2016-09-06 07:21:16.000000000","message":"suggest using backup_policy_support, more explicit.\nand do we really need to allow backend driver to do the backup by its own policy? how will manila manage the backups that backgroundly created by driver?","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":58,"context_line":"- Add policy_support capability, indicates that a backup driver can support"},{"line_number":59,"context_line":"  policy in itself. The default value of the policy_support capability"},{"line_number":60,"context_line":"  (if a driver doesn\u0027t report it) is False. If the driver can support policy,"},{"line_number":61,"context_line":"  it means the driver has its own backup strategies. for example, the driver"},{"line_number":62,"context_line":"  could define the backup startup time, the driver could define the interval"},{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_0a619639","line":61,"range":{"start_line":61,"start_character":53,"end_line":61,"end_character":56},"updated":"2016-09-06 07:21:16.000000000","message":"For","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  time to do a backup copy."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Steps to create a backup from a share are as follows by default using the"},{"line_number":67,"context_line":"internal tenant:"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Create a snapshot from the share"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_aa734ae6","line":66,"range":{"start_line":66,"start_character":24,"end_line":66,"end_character":25},"updated":"2016-09-06 07:21:16.000000000","message":"by common backup driver","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* Allow access to snapshot"},{"line_number":71,"context_line":"* Mount the snapshot"},{"line_number":72,"context_line":"* Do backup from the snapshot"},{"line_number":73,"context_line":"* deny access to snapshot"},{"line_number":74,"context_line":"* Unmount the snapshot"},{"line_number":75,"context_line":"* Cleanup the snapshot"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_2a99fa1f","line":73,"range":{"start_line":73,"start_character":2,"end_line":73,"end_character":6},"updated":"2016-09-06 07:21:16.000000000","message":"Deny","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":71,"context_line":"* Mount the snapshot"},{"line_number":72,"context_line":"* Do backup from the snapshot"},{"line_number":73,"context_line":"* deny access to snapshot"},{"line_number":74,"context_line":"* Unmount the snapshot"},{"line_number":75,"context_line":"* Cleanup the snapshot"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"If the driver has implemented the backup interface introduced(see the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_6a486288","line":74,"updated":"2016-09-06 07:21:16.000000000","message":"this unmount step should be before the deny step.","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":374,"context_line":"The backup driver need to implement the base functions:"},{"line_number":375,"context_line":"- share_backup"},{"line_number":376,"context_line":"- share_restore"},{"line_number":377,"context_line":"- backup_list"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"Security impact"},{"line_number":380,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_85211950","line":377,"updated":"2016-09-06 07:21:16.000000000","message":"delete_backup","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":423,"context_line":"Work Items"},{"line_number":424,"context_line":"----------"},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"* Implement backup-create command in python-manilaclient"},{"line_number":427,"context_line":"* Implement core feature"},{"line_number":428,"context_line":"* Implement backup-create in at least one first-party driver"},{"line_number":429,"context_line":"* Implement tempest support"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_85e839e4","line":426,"range":{"start_line":426,"start_character":12,"end_line":426,"end_character":25},"updated":"2016-09-06 07:21:16.000000000","message":"backup","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"123470c149c84de20f58181ae1bc2b491d53c306","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":"* Implement backup-create command in python-manilaclient"},{"line_number":427,"context_line":"* Implement core feature"},{"line_number":428,"context_line":"* Implement backup-create in at least one first-party driver"},{"line_number":429,"context_line":"* Implement tempest support"},{"line_number":430,"context_line":"* Implement manila-ui support"},{"line_number":431,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a89bdaa_45b551ec","line":428,"range":{"start_line":428,"start_character":12,"end_line":428,"end_character":25},"updated":"2016-09-06 07:21:16.000000000","message":"backup relative interfaces","commit_id":"3e7400e704cc5f6e63ddaa40f19c65e2df49e4c6"}],"specs/pike/backup_share.rst":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e6a53ed33864a5f3e6cf8c124695830830da7e4c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"\r"},{"line_number":68,"context_line":"  When creating a backup with a policy, the driver would create more than\r"},{"line_number":69,"context_line":"  one backups and would delete the older backup if the maximal amount of\r"},{"line_number":70,"context_line":"  backup is specified. To represent this, manila will introduce resource\r"},{"line_number":71,"context_line":"  backup copy. One backup would have at least one backup copy.\r"},{"line_number":72,"context_line":"\r"},{"line_number":73,"context_line":"* New backup driver\r"},{"line_number":74,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dfeb2761_88eb84da","line":71,"range":{"start_line":70,"start_character":24,"end_line":71,"end_character":62},"updated":"2017-04-04 22:54:06.000000000","message":"Maybe it\u0027s just me, but I\u0027m not getting the point here about the need for a \"backup copy\" in addition to the backups themselves.","commit_id":"aeb05688d19d6d0255a6d4ca0f82929576f91a02"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"808ce4fea9e83daa6093e8b5c325d25e3a54b850","unresolved":false,"context_lines":[{"line_number":67,"context_line":"\r"},{"line_number":68,"context_line":"  When creating a backup with a policy, the driver would create more than\r"},{"line_number":69,"context_line":"  one backups and would delete the older backup if the maximal amount of\r"},{"line_number":70,"context_line":"  backup is specified. To represent this, manila will introduce resource\r"},{"line_number":71,"context_line":"  backup copy. One backup would have at least one backup copy.\r"},{"line_number":72,"context_line":"\r"},{"line_number":73,"context_line":"* New backup driver\r"},{"line_number":74,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f287b81_d6a70d0b","line":71,"range":{"start_line":70,"start_character":24,"end_line":71,"end_character":62},"in_reply_to":"dfeb2761_88eb84da","updated":"2017-09-06 07:24:01.000000000","message":"When we createing a backup with a policy, the policy could be set to \"max_copy_num\u003d10, interval\u003d1h\", it means we create a share backup task, the task will automatic create 10 share backup copies and every copies interval time is 1 hours in this share backup. We could easily change our policy, maybe we could extend the max copy number or anything else. It will easy control by policy.","commit_id":"aeb05688d19d6d0255a6d4ca0f82929576f91a02"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e6a53ed33864a5f3e6cf8c124695830830da7e4c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  1. Create a snapshot from the share.\r"},{"line_number":90,"context_line":"  2. Allow access to snapshot and backend share.\r"},{"line_number":91,"context_line":"  3. Mount the snapshot and backend driver\u0027s share to the data service node.\r"},{"line_number":92,"context_line":"  4. Copy data snapshot from share to backend share.\r"},{"line_number":93,"context_line":"  5. Unmount the snapshot and backend share.\r"},{"line_number":94,"context_line":"  6. Deny access to snapshot and backend share.\r"},{"line_number":95,"context_line":"  7. Cleanup the snapshot.\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dfeb2761_8816e4f0","line":92,"range":{"start_line":92,"start_character":2,"end_line":92,"end_character":52},"updated":"2017-04-04 22:54:06.000000000","message":"Can you explain the copy operation here?\n\nIn the case of cinder NFS backup (and any \"chunked\" backup) the source is a block device so the copy operation for a full backup is a literal copy of the \"chunks\" (fixed sequences of blocks of data) for the whole device.  It is basically the equivalent of a \u0027dd\u0027 command.  And incremental backup relies on smaller fixed-size units with SHA signatures, that are then combined into variable length extents that get copied -- eseentially a DD with variable blocks and holes.\n\nI\u0027m having some trouble mapping these block-device type copy operations into file systems with metadata.  I understand that if the source and destination are the same type of backend, and that backend basically just puts a file-system on a block device, then there\u0027s a pretty good fit.  But how are you proposing to do this kind of backup when the source and destination are not on the same kind of backend?","commit_id":"aeb05688d19d6d0255a6d4ca0f82929576f91a02"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"808ce4fea9e83daa6093e8b5c325d25e3a54b850","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  1. Create a snapshot from the share.\r"},{"line_number":90,"context_line":"  2. Allow access to snapshot and backend share.\r"},{"line_number":91,"context_line":"  3. Mount the snapshot and backend driver\u0027s share to the data service node.\r"},{"line_number":92,"context_line":"  4. Copy data snapshot from share to backend share.\r"},{"line_number":93,"context_line":"  5. Unmount the snapshot and backend share.\r"},{"line_number":94,"context_line":"  6. Deny access to snapshot and backend share.\r"},{"line_number":95,"context_line":"  7. Cleanup the snapshot.\r"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f287b81_783607ea","line":92,"range":{"start_line":92,"start_character":2,"end_line":92,"end_character":52},"in_reply_to":"dfeb2761_8816e4f0","updated":"2017-09-06 07:24:01.000000000","message":"We added the preserve_metadata in share backup API to check whether we can preserve metadata. The source and destination are not on the same kind of backend, it means it cannot preserve file systems with metadata.","commit_id":"aeb05688d19d6d0255a6d4ca0f82929576f91a02"}],"specs/pike/share-backup.rst":[{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":155,"context_line":"-----------------"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* Add table for backup"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"DESC backups"},{"line_number":160,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":161,"context_line":"| Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_ea49d98c","line":158,"updated":"2017-02-04 03:42:51.000000000","message":"need to make the tables readable in the rendered version. If not a nice table do something like a code block at least","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":155,"context_line":"-----------------"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* Add table for backup"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"DESC backups"},{"line_number":160,"context_line":"+-----------------------+--------------+------+-----+---------+-------+"},{"line_number":161,"context_line":"| Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_6c6ed230","line":158,"in_reply_to":"1a430d35_ea49d98c","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Add new commands to manila-client:"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Manila backup-create  [--name \u003cname\u003e]"},{"line_number":217,"context_line":"                      [--policy [\u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]\u003e]"},{"line_number":218,"context_line":"                      [--description \u003cdescription\u003e]"},{"line_number":219,"context_line":"                      \u003cshare\u003e"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_8a31350e","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":6},"updated":"2017-02-04 03:42:51.000000000","message":"use lowercase manila for commands here and below","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Add new commands to manila-client:"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Manila backup-create  [--name \u003cname\u003e]"},{"line_number":217,"context_line":"                      [--policy [\u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]\u003e]"},{"line_number":218,"context_line":"                      [--description \u003cdescription\u003e]"},{"line_number":219,"context_line":"                      \u003cshare\u003e"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_18366952","line":216,"range":{"start_line":216,"start_character":0,"end_line":216,"end_character":6},"in_reply_to":"1a430d35_8a31350e","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            \"share\": \"77eb3421-4549-4789-ac39-0d5185d68c28\","},{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_ea40f958","line":273,"range":{"start_line":273,"start_character":28,"end_line":273,"end_character":29},"updated":"2017-02-04 03:42:51.000000000","message":":","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            \"share\": \"77eb3421-4549-4789-ac39-0d5185d68c28\","},{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_783bed38","line":273,"range":{"start_line":273,"start_character":28,"end_line":273,"end_character":29},"in_reply_to":"1a430d35_ea40f958","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""},{"line_number":277,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_0a2625ce","line":274,"range":{"start_line":274,"start_character":26,"end_line":274,"end_character":27},"updated":"2017-02-04 03:42:51.000000000","message":":","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""},{"line_number":277,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_ca125d62","line":274,"range":{"start_line":274,"start_character":36,"end_line":274,"end_character":37},"updated":"2017-02-04 03:42:51.000000000","message":"extra trailing comma may be good in python but not good in json","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""},{"line_number":277,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_984a59c4","line":274,"range":{"start_line":274,"start_character":26,"end_line":274,"end_character":27},"in_reply_to":"1a430d35_0a2625ce","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            \"name\":  \"backup copy 1\","},{"line_number":272,"context_line":"            \"policy\": {"},{"line_number":273,"context_line":"                \"start_time\", \"2016-5-3 21:12:12\","},{"line_number":274,"context_line":"                \"Interval\", \"3 Days\","},{"line_number":275,"context_line":"            },"},{"line_number":276,"context_line":"            \"description\": \"This is my backup\""},{"line_number":277,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_b84555b4","line":274,"range":{"start_line":274,"start_character":36,"end_line":274,"end_character":37},"in_reply_to":"1a430d35_ca125d62","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        }"},{"line_number":278,"context_line":"    }"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"Subnet details ``policy`` ``name`` and ``description``  are optional."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":283,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_ea17194f","line":280,"range":{"start_line":280,"start_character":25,"end_line":280,"end_character":26},"updated":"2017-02-04 03:42:51.000000000","message":"comma","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        }"},{"line_number":278,"context_line":"    }"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"Subnet details ``policy`` ``name`` and ``description``  are optional."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":283,"context_line":"with ``400 Bad Request``."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_d81221b4","line":280,"range":{"start_line":280,"start_character":25,"end_line":280,"end_character":26},"in_reply_to":"1a430d35_ea17194f","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                        {"},{"line_number":342,"context_line":"                            \"name\": \"copy one\","},{"line_number":343,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":344,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":345,"context_line":"                        },"},{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"name\": \"copy two\","}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_2a0a0127","line":344,"range":{"start_line":344,"start_character":70,"end_line":344,"end_character":71},"updated":"2017-02-04 03:42:51.000000000","message":"no trailing comma in json","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":341,"context_line":"                        {"},{"line_number":342,"context_line":"                            \"name\": \"copy one\","},{"line_number":343,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":344,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":345,"context_line":"                        },"},{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"name\": \"copy two\","}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_78220d03","line":344,"range":{"start_line":344,"start_character":70,"end_line":344,"end_character":71},"in_reply_to":"1a430d35_2a0a0127","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"name\": \"copy two\","},{"line_number":348,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":349,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":350,"context_line":"                        }"},{"line_number":351,"context_line":"                    ]"},{"line_number":352,"context_line":"            },"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_4a074d1c","line":349,"range":{"start_line":349,"start_character":70,"end_line":349,"end_character":71},"updated":"2017-02-04 03:42:51.000000000","message":"same","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":346,"context_line":"                        {"},{"line_number":347,"context_line":"                            \"name\": \"copy two\","},{"line_number":348,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":349,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":350,"context_line":"                        }"},{"line_number":351,"context_line":"                    ]"},{"line_number":352,"context_line":"            },"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_982179fe","line":349,"range":{"start_line":349,"start_character":70,"end_line":349,"end_character":71},"in_reply_to":"1a430d35_4a074d1c","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                        {"},{"line_number":371,"context_line":"                            \"name\": \"copy one\","},{"line_number":372,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":373,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":"                        {"},{"line_number":376,"context_line":"                            \"name\": \"copy two\","}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_9504f615","line":373,"range":{"start_line":373,"start_character":70,"end_line":373,"end_character":71},"updated":"2017-02-04 03:42:51.000000000","message":"same","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":370,"context_line":"                        {"},{"line_number":371,"context_line":"                            \"name\": \"copy one\","},{"line_number":372,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":373,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":374,"context_line":"                        },"},{"line_number":375,"context_line":"                        {"},{"line_number":376,"context_line":"                            \"name\": \"copy two\","}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_b81c75c2","line":373,"range":{"start_line":373,"start_character":70,"end_line":373,"end_character":71},"in_reply_to":"1a430d35_9504f615","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                        {"},{"line_number":376,"context_line":"                            \"name\": \"copy two\","},{"line_number":377,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":378,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":379,"context_line":"                        }"},{"line_number":380,"context_line":"                    ]"},{"line_number":381,"context_line":"            }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_d50e7e33","line":378,"range":{"start_line":378,"start_character":70,"end_line":378,"end_character":71},"updated":"2017-02-04 03:42:51.000000000","message":"same","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                        {"},{"line_number":376,"context_line":"                            \"name\": \"copy two\","},{"line_number":377,"context_line":"                            \"id\": \"2ef47aee-8844-490c-804d-2a8efe561c65\","},{"line_number":378,"context_line":"                            \"created_at\": \"2016-04-02T10:35:27.000000\","},{"line_number":379,"context_line":"                        }"},{"line_number":380,"context_line":"                    ]"},{"line_number":381,"context_line":"            }"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_d87941fe","line":378,"range":{"start_line":378,"start_character":70,"end_line":378,"end_character":71},"in_reply_to":"1a430d35_d50e7e33","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":539,"context_line":"Work Items"},{"line_number":540,"context_line":"----------"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"* Implement core feature"},{"line_number":543,"context_line":"* Implement backup-create in NFSBackupDriver"},{"line_number":544,"context_line":"* Implement backup-create command in python-manilaclient"},{"line_number":545,"context_line":"* Implement tempest support"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_f53a9acc","line":542,"updated":"2017-02-04 03:42:51.000000000","message":"here you could end these sentences in periods. I think docs folks say if one ore more of the listed items are sentences then use periods on all of them (but I think it looks fine either way when you are consistent).","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":539,"context_line":"Work Items"},{"line_number":540,"context_line":"----------"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"* Implement core feature"},{"line_number":543,"context_line":"* Implement backup-create in NFSBackupDriver"},{"line_number":544,"context_line":"* Implement backup-create command in python-manilaclient"},{"line_number":545,"context_line":"* Implement tempest support"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_987899f4","line":542,"in_reply_to":"1a430d35_f53a9acc","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":555,"context_line":"Testing"},{"line_number":556,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"* Unit tests."},{"line_number":559,"context_line":"* Tempest tests."},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_b520129d","line":558,"range":{"start_line":558,"start_character":12,"end_line":558,"end_character":13},"updated":"2017-02-04 03:42:51.000000000","message":"here since none of the items in the list are sentences you probably shouldn\u0027t use periods.","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":555,"context_line":"Testing"},{"line_number":556,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":557,"context_line":""},{"line_number":558,"context_line":"* Unit tests."},{"line_number":559,"context_line":"* Tempest tests."},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_f8635d3f","line":558,"range":{"start_line":558,"start_character":12,"end_line":558,"end_character":13},"in_reply_to":"1a430d35_b520129d","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":11047,"name":"Mark Sturdevant","email":"mark.sturdevant@ibm.com","username":"markstur"},"change_message_id":"2570a78a93c9ca93a7d45c9b79f5b1a8596c645c","unresolved":false,"context_lines":[{"line_number":561,"context_line":"Documentation Impact"},{"line_number":562,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"- Docstrings."},{"line_number":565,"context_line":"- Devref."},{"line_number":566,"context_line":"- User guide."},{"line_number":567,"context_line":"- Release notes."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_5549ae5e","line":564,"range":{"start_line":564,"start_character":12,"end_line":564,"end_character":13},"updated":"2017-02-04 03:42:51.000000000","message":"again here. No sentences, no periods.","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"88a4ea02a03877c0781475f100efd77c3f59a4c3","unresolved":false,"context_lines":[{"line_number":561,"context_line":"Documentation Impact"},{"line_number":562,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"- Docstrings."},{"line_number":565,"context_line":"- Devref."},{"line_number":566,"context_line":"- User guide."},{"line_number":567,"context_line":"- Release notes."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a430d35_d8606138","line":564,"range":{"start_line":564,"start_character":12,"end_line":564,"end_character":13},"in_reply_to":"1a430d35_5549ae5e","updated":"2017-02-06 02:43:12.000000000","message":"Done","commit_id":"81843dc91f582f2b0ee7d26706dfeffd3c062246"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9690439d361c1d4ca997cabae99618deb8e161c2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Today we can\u0027t backup a share in manila. These shares reside on the"},{"line_number":23,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":24,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":25,"context_line":"from the same storage backend."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_de8dd72b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":41},"updated":"2017-02-16 14:58:58.000000000","message":"Better to re-phrase as \"we can\u0027t use manila commands to backup shares.\"  We can certainly back up manila shares, just can\u0027t use manila to do it.","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Problem description"},{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Today we can\u0027t backup a share in manila. These shares reside on the"},{"line_number":23,"context_line":"storage backend itself. Providing a way to backup shares directly will"},{"line_number":24,"context_line":"allow the user to protect the shares on a backup device, separately"},{"line_number":25,"context_line":"from the same storage backend."}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_1c5dbfe8","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":41},"in_reply_to":"fa31d9ce_de8dd72b","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"9690439d361c1d4ca997cabae99618deb8e161c2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"There are users who have many shares and would like to protect these"},{"line_number":31,"context_line":"shares. This proposal to backup shares provides a lower level of"},{"line_number":32,"context_line":"data protection."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"There are other projects in OpenStack focusing on data protection such as"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_fee0dbce","line":31,"range":{"start_line":31,"start_character":48,"end_line":31,"end_character":62},"updated":"2017-02-16 14:58:58.000000000","message":"\"low level\" ?  With \"lower\" I want to ask: lower than what?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":39,"context_line":"not need those higher level projects."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Also when talking about share backup. Most of the users would like to"},{"line_number":42,"context_line":"enforce backup policies on them. such as incremental backup every two days,"},{"line_number":43,"context_line":"create backup local or remote, only keep latest 5 copies, etc."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_33674fea","line":42,"range":{"start_line":42,"start_character":33,"end_line":42,"end_character":34},"updated":"2017-02-15 09:33:09.000000000","message":"s/S","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"not need those higher level projects."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Also when talking about share backup. Most of the users would like to"},{"line_number":42,"context_line":"enforce backup policies on them. such as incremental backup every two days,"},{"line_number":43,"context_line":"create backup local or remote, only keep latest 5 copies, etc."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_1c125f0a","line":42,"range":{"start_line":42,"start_character":33,"end_line":42,"end_character":34},"in_reply_to":"fa31d9ce_33674fea","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* New backup driver"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  A new type of driver called backup driver will be introduced to take"},{"line_number":73,"context_line":"  responsibility for share related operations. the backup driver will"},{"line_number":74,"context_line":"  configured at the manila data service node. and provide the basic abilities"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  1. Create a backup."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_b3a17ffa","line":73,"range":{"start_line":73,"start_character":45,"end_line":73,"end_character":48},"updated":"2017-02-15 09:33:09.000000000","message":"The","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":70,"context_line":"* New backup driver"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  A new type of driver called backup driver will be introduced to take"},{"line_number":73,"context_line":"  responsibility for share related operations. the backup driver will"},{"line_number":74,"context_line":"  configured at the manila data service node. and provide the basic abilities"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  1. Create a backup."}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_fcf8dbc4","line":73,"range":{"start_line":73,"start_character":45,"end_line":73,"end_character":48},"in_reply_to":"fa31d9ce_b3a17ffa","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  A new type of driver called backup driver will be introduced to take"},{"line_number":73,"context_line":"  responsibility for share related operations. the backup driver will"},{"line_number":74,"context_line":"  configured at the manila data service node. and provide the basic abilities"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  1. Create a backup."},{"line_number":77,"context_line":"  2. Delete a backup or backup copy."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_73b46734","line":74,"range":{"start_line":74,"start_character":45,"end_line":74,"end_character":49},"updated":"2017-02-15 09:33:09.000000000","message":"And","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"6f44fdebc3bca5cbf2abd5a4e07f3e833d276ff8","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"  A new type of driver called backup driver will be introduced to take"},{"line_number":73,"context_line":"  responsibility for share related operations. the backup driver will"},{"line_number":74,"context_line":"  configured at the manila data service node. and provide the basic abilities"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  1. Create a backup."},{"line_number":77,"context_line":"  2. Delete a backup or backup copy."}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_dcf3d7e6","line":74,"range":{"start_line":74,"start_character":45,"end_line":74,"end_character":49},"in_reply_to":"fa31d9ce_73b46734","updated":"2017-10-24 02:21:07.000000000","message":"Done","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  1. Create a snapshot from the share."},{"line_number":87,"context_line":"  2. Allow access to snapshot and backend share."},{"line_number":88,"context_line":"  3. Mount the snapshot and backend driver\u0027s share to the data service node."},{"line_number":89,"context_line":"  4. Copy data from share to backend share."},{"line_number":90,"context_line":"  5. Unmount the snapshot and backend share."},{"line_number":91,"context_line":"  6. Deny access to snapshot and backend share."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_18fd0ab4","line":88,"range":{"start_line":88,"start_character":2,"end_line":88,"end_character":76},"updated":"2017-02-15 09:33:09.000000000","message":"Where can we config the snapshot or backend driver\u0027s share access ?  Because you want to mount these share to data service node.","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":86,"context_line":"  1. Create a snapshot from the share."},{"line_number":87,"context_line":"  2. Allow access to snapshot and backend share."},{"line_number":88,"context_line":"  3. Mount the snapshot and backend driver\u0027s share to the data service node."},{"line_number":89,"context_line":"  4. Copy data from share to backend share."},{"line_number":90,"context_line":"  5. Unmount the snapshot and backend share."},{"line_number":91,"context_line":"  6. Deny access to snapshot and backend share."},{"line_number":92,"context_line":"  7. Cleanup the snapshot."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_581a2218","line":89,"range":{"start_line":89,"start_character":19,"end_line":89,"end_character":26},"updated":"2017-02-15 09:33:09.000000000","message":"share or snapshot?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":117,"context_line":"* New clean up actions"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"  The backup and restore actions could break when service is down, so new"},{"line_number":120,"context_line":"  clean up action will be added to reset the status and clean temporary"},{"line_number":121,"context_line":"  files(if involved)."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"* New quotas for backup"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_58adc286","line":120,"range":{"start_line":120,"start_character":34,"end_line":120,"end_character":51},"updated":"2017-02-15 09:33:09.000000000","message":"Is there a new command?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Data model impact"},{"line_number":155,"context_line":"-----------------"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"* Add table for backup"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"  +-----------------------+--------------+------+-----+---------+-------+"},{"line_number":160,"context_line":"  | Field                 | Type         | Null | Key | Default | Extra |"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_b81ebe6d","line":157,"range":{"start_line":157,"start_character":16,"end_line":157,"end_character":22},"updated":"2017-02-15 09:33:09.000000000","message":"How to find witch backup copy is restoring from database table?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":205,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"},{"line_number":206,"context_line":"  | deleted       | int(11)      | YES  |     | NULL    |                |"},{"line_number":207,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"},{"line_number":208,"context_line":"  | id            | int(11)      | NO   | PRI | NULL    | auto_increment |"},{"line_number":209,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"},{"line_number":210,"context_line":"  | policy_key    | varchar(255) | YES  |     | NULL    |                |"},{"line_number":211,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_38af2e2b","line":208,"range":{"start_line":208,"start_character":2,"end_line":208,"end_character":74},"updated":"2017-02-15 09:33:09.000000000","message":"How to create realationship between backup and backup policy?  Add backup_id?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":212,"context_line":"  | policy_value  | varchar(255) | YES  |     | NULL    |                |"},{"line_number":213,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"* Add table for backup copy"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"  +---------------+--------------+------+-----+---------+----------------+"},{"line_number":218,"context_line":"  | Field         | Type         | Null | Key | Default | Extra          |"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_581dc264","line":215,"range":{"start_line":215,"start_character":16,"end_line":215,"end_character":27},"updated":"2017-02-15 09:33:09.000000000","message":"Does backup copy have its own status?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"c2bf9b32e7c4863ca86b2423061b3d4e6ff267c5","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Add new commands to manila-client:"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"manila backup-create  [--name \u003cname\u003e]"},{"line_number":241,"context_line":"                      [--policy [\u003ckey\u003dvalue\u003e [\u003ckey\u003dvalue\u003e ...]\u003e]"},{"line_number":242,"context_line":"                      [--description \u003cdescription\u003e]"},{"line_number":243,"context_line":"                      \u003cshare\u003e"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_d0f7c6d0","line":240,"range":{"start_line":240,"start_character":7,"end_line":240,"end_character":20},"updated":"2017-02-15 10:21:37.000000000","message":"Add \"preserve_metadata\" parameter","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":246,"context_line":"* policy: A backup policy, backup can have user-defined policy. The policy"},{"line_number":247,"context_line":"  is only used in backup drivers that can support policy."},{"line_number":248,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":249,"context_line":"* share: Name or ID of share to backup."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":252,"context_line":"                      [--backup-copy \u003cbackup-copy\u003e]"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_42030fb8","line":249,"range":{"start_line":249,"start_character":0,"end_line":249,"end_character":2},"updated":"2017-02-15 09:33:09.000000000","message":"* name: ....","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"c2bf9b32e7c4863ca86b2423061b3d4e6ff267c5","unresolved":false,"context_lines":[{"line_number":248,"context_line":"* description: Backup description. Default\u003dNone."},{"line_number":249,"context_line":"* share: Name or ID of share to backup."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"manila backup-restore \u003cbackup\u003e"},{"line_number":252,"context_line":"                      [--backup-copy \u003cbackup-copy\u003e]"},{"line_number":253,"context_line":"                      [--share \u003cshare\u003e]"},{"line_number":254,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_9028ee34","line":251,"range":{"start_line":251,"start_character":6,"end_line":251,"end_character":21},"updated":"2017-02-15 10:21:37.000000000","message":"Add \"preserve_metadata\" parameter","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":255,"context_line":"* backup: ID of backup to restore."},{"line_number":256,"context_line":"* backup-copy: ID of backup copy, default\u003dNone, manila will use the latest"},{"line_number":257,"context_line":"  copy if is not specified with command."},{"line_number":258,"context_line":"* share: ID or name of a existing share to restore. Default\u003dNone"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"manila backup-list [--name \u003cname\u003e]"},{"line_number":261,"context_line":"                   [--share \u003cshare\u003e]"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_fd8588ce","line":258,"range":{"start_line":258,"start_character":2,"end_line":258,"end_character":8},"updated":"2017-02-15 09:33:09.000000000","message":"If the share is None, we will create a new share or just restore to the original share?\nIf the share is the original share, we will still run backup restore directly? How to protect the share, if the backup and restore actions break when service is down.","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":264,"context_line":""},{"line_number":265,"context_line":"* name: Filter backups by a backup name."},{"line_number":266,"context_line":"* share: Filter backups by a share name or ID."},{"line_number":267,"context_line":"* status: Filter backups by a status."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"manila backup-show \u003cbackup\u003e"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_0224b75b","line":267,"range":{"start_line":267,"start_character":0,"end_line":267,"end_character":2},"updated":"2017-02-15 09:33:09.000000000","message":"Please add: * --all-tenants: ...","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"eb022c503dac0a83bd510429220054cab325e0e2","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* backup: ID or name of a share."},{"line_number":278,"context_line":"* backup-copy: ID of a backup copy. Default\u003dNone, manila will delete"},{"line_number":279,"context_line":"  the share with whole copies if not specified."},{"line_number":280,"context_line":"* force: Allows deleting backup of a share when its status is other than"},{"line_number":281,"context_line":"  \"available\" or \"error\". Default\u003dFalse."},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_93b9dbce","line":279,"range":{"start_line":279,"start_character":5,"end_line":279,"end_character":12},"updated":"2017-02-15 09:40:33.000000000","message":"share? or backup?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                \"start_time\": \"2016-5-3 21:12:12\","},{"line_number":298,"context_line":"                \"Interval\": \"3 Days\""},{"line_number":299,"context_line":"            },"},{"line_number":300,"context_line":"            \"description\": \"This is my backup\""},{"line_number":301,"context_line":"        }"},{"line_number":302,"context_line":"    }"},{"line_number":303,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_3d6720ea","line":300,"range":{"start_line":300,"start_character":45,"end_line":300,"end_character":46},"updated":"2017-02-15 09:33:09.000000000","message":"Add \u0027,\u0027 in the end.","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"Subnet details ``policy``, ``name`` and ``description``  are optional."},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"If the ``share`` is not known to manila, the API will respond"},{"line_number":307,"context_line":"with ``400 Bad Request``."},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"If the tenant\u0027s share backup quota has exceeded, the API will respond with"}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_fddf4837","line":306,"range":{"start_line":306,"start_character":0,"end_line":306,"end_character":39},"updated":"2017-02-15 09:33:09.000000000","message":"Can we support the replication share,\nshare in cg-group operation, migration share create backup?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":329,"context_line":""},{"line_number":330,"context_line":"If the share backup is invalid, the API will respond with ``404``,"},{"line_number":331,"context_line":"and if the share backup copy id is invalid, the API will return with ``500``."},{"line_number":332,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"**Detailed listing of share backups**::"},{"line_number":335,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_133ecbc0","line":332,"range":{"start_line":332,"start_character":47,"end_line":332,"end_character":48},"updated":"2017-02-15 09:33:09.000000000","message":"\"if the share backup copy id is not consistent with share backup, ...\"","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":331,"context_line":"and if the share backup copy id is invalid, the API will return with ``500``."},{"line_number":332,"context_line":"API will respond ``202`` if request is accepted."},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"**Detailed listing of share backups**::"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"    GET /v2/{tenant_id}/backups/detail"},{"line_number":337,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_223e1b28","line":334,"range":{"start_line":334,"start_character":2,"end_line":334,"end_character":35},"updated":"2017-02-15 09:33:09.000000000","message":"How about backup progress? Where can we get the backup progress?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"f83954ec6aa237d109e2dfbb0d933ff722310545","unresolved":false,"context_lines":[{"line_number":554,"context_line":"----------"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":"* Implement core feature."},{"line_number":557,"context_line":"* Implement backup-create in NFSBackupDriver."},{"line_number":558,"context_line":"* Implement backup-create command in python-manilaclient."},{"line_number":559,"context_line":"* Implement tempest support."},{"line_number":560,"context_line":"* Implement manila-ui support."},{"line_number":561,"context_line":"* Support manila backup in devstack plugin."}],"source_content_type":"text/x-rst","patch_set":11,"id":"fa31d9ce_22537b6c","line":558,"range":{"start_line":557,"start_character":0,"end_line":558,"end_character":57},"updated":"2017-02-15 09:33:09.000000000","message":"Only backup-create command?","commit_id":"9141016b297780868d3476c16781efec0dc7bac1"}]}
