)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"daa6e768_6cb35ae7","updated":"2021-12-23 17:52:45.000000000","message":"Thank you Haixin, did a first pass review of this specification. Please take a look at the comments inline","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8e207922_12376e59","updated":"2021-12-30 04:17:33.000000000","message":"Hi Haixin, thanks for proposing this transfer spec! I added some points, please, review them.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3d7520b7_cfdb5204","updated":"2021-12-27 06:44:06.000000000","message":"thanks for your review, Goutham Pacha Ravi.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"b1b3063cec0000409b7a95fa82e34c6ab5bfe52a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d9189f03_8c909266","updated":"2022-01-06 14:32:54.000000000","message":"LGTM","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8d975a7c_13339d32","updated":"2022-01-08 01:25:31.000000000","message":"Thank you for creating this spec, haixin! I pointed out some items that I believe could improve your change. Please check them when you have the time.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5a106893_5a114276","updated":"2022-01-07 13:09:12.000000000","message":"Thank you for your work on this spec, haixin!\nAddressed some comments, please check them inline :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c91500c9_ece45bd6","updated":"2022-01-04 06:45:39.000000000","message":"thanks for your review,\nFelipe Rodrigues","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"1ee6b5eaad1b7506854a2e1db900ffc40a349e65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b77c961a_15b6ea76","updated":"2022-01-10 14:21:49.000000000","message":"Thanks for taking a look at the comments, haixin! I answered your questions and gave some examples, but I would say that the only necessary change is regarding the JSON code blocks, the other ones are more optional. Other than that, the change already looks pretty good to me. :)","commit_id":"51dcea644fe584f2527c3beb563a896d995f615f"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"40a8dbb6_99c0d8f5","updated":"2022-01-10 09:52:55.000000000","message":"thanks for your review.","commit_id":"51dcea644fe584f2527c3beb563a896d995f615f"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"1e1e214ea2d1e3ce08e5bfed8f2a539d8bd79037","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ac32f863_3e987f7b","updated":"2022-01-11 13:38:47.000000000","message":"LGTM","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"18d9ad9e_6229d212","updated":"2022-01-11 19:18:26.000000000","message":"LGTM thanks Haixin - a few improvements suggested inline - they\u0027re minor and can be considered if you decide to make another patch.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7a98983caedc342612f252483f7c3c9dd748142a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"412076f8_fcff52d7","updated":"2022-01-11 23:43:43.000000000","message":"LGTM, Haixin! Thanks for working on the comments","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"090f392644d3220770d4f198f1bd9704e3014244","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d248a1d3_e78e9ad8","updated":"2022-01-11 14:46:35.000000000","message":"Thanks for working on the comments, haixin. The change is looking good to me!","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"14e80cbce1a086cf874b3b10f86446d03e11ada0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"31225eaf_8d12c77a","updated":"2022-01-11 06:20:19.000000000","message":"thanks for your review. Eduardo Santos.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"be4a890f648ff4a0a0e838255e22e81cb63f3373","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d97ee034_e3e1969d","updated":"2022-01-13 18:54:02.000000000","message":"I have some concerns about the use cases and the scope of this spec. Thanks!","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8e0331f56e373051b2ceb48e0c00a1e699b6b801","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e308acdd_3afa8916","updated":"2022-01-12 15:55:21.000000000","message":"LGTM, thanks for the changes haixin!","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f8f4d5c9_01d14a3b","updated":"2022-01-12 09:24:01.000000000","message":"thanks for your review.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"319c7caa779d1c8c6b990512ce4ae7c000016a8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"60fd4f04_2b05229e","updated":"2022-01-14 19:21:06.000000000","message":"Hi Haixin, thanks for the very detailed spec. 😊 \nSpec Looks good to me. It\u0027s based on Cinder transfer feature available since Rocky release [1], which seems very convenient and the best approach IMHO, as we can reference Cinder\u0027s code for the implementation, and anticipate issues. Also, customers used to Cinder volume-transfers APIs will find easy to work with Manila transfer APIs.\n\n\n[1] https://docs.openstack.org/releasenotes/cinder/rocky.html","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4e674d07b7a262b65b081fe9c21d0c939feefd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7b25abc3_1ee37d2c","updated":"2022-01-18 23:48:49.000000000","message":"LGTM. Thanks for the improvements; @Victoria, can you take a look and merge this?","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"1bc9233c8318b327c952bf1fad361044342d99e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"8d637be9_ce7e9016","updated":"2022-01-19 10:18:43.000000000","message":"Since other comments are mostly nits, seems this one is ready to get merged, let\u0027s get this one in. Thanks again!","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"3af7a6f5f9b801054c79e889a737fddfcf7e29d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4e09718c_923e0039","updated":"2022-01-19 10:17:48.000000000","message":"Thanks for addressing my comments Haixin, looks very good!","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"1e4e89dd_d2497895","updated":"2022-01-14 02:04:19.000000000","message":"thanks for your review.Victoria Martinez de la Cruz and Goutham Pacha Ravi.\n","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"}],"doc/source/index.rst":[{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"   specs/release_independent/*"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Yoga approved specs"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d893ce25_e33723c0","line":18,"updated":"2022-01-08 01:25:31.000000000","message":"More of a question really, so I\u0027ll already mark this as resolved.\n\nFor the Xena release cycle, a separate change [1] was created to add the new cycle to the table of contents. Is it okay to add it in a spec proposal change?\n\n[1] https://review.opendev.org/c/openstack/manila-specs/+/778616","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"}],"specs/yoga/share-transfer-between-project.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":52,"context_line":"  * ``name`` the display name of transfer."},{"line_number":53,"context_line":"  * ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":54,"context_line":"    transfer will return auth_key(also a short random string), salt and"},{"line_number":55,"context_line":"    auth_key calculate crypt_hash by sha1."},{"line_number":56,"context_line":"  * ``crypt_hash`` the hash value for transfer."},{"line_number":57,"context_line":"  * ``expires_at`` the expire time of transfer, one hour later after created."},{"line_number":58,"context_line":"  * ``source_project_id`` the source project id of share."}],"source_content_type":"text/x-rst","patch_set":7,"id":"da6306dd_7f73a4ac","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":41},"updated":"2022-01-11 19:18:26.000000000","message":"we may want to pick a stronger hashing algorithm than this; it can be discussed during implementation","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  * ``name`` the display name of transfer."},{"line_number":53,"context_line":"  * ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":54,"context_line":"    transfer will return auth_key(also a short random string), salt and"},{"line_number":55,"context_line":"    auth_key calculate crypt_hash by sha1."},{"line_number":56,"context_line":"  * ``crypt_hash`` the hash value for transfer."},{"line_number":57,"context_line":"  * ``expires_at`` the expire time of transfer, one hour later after created."},{"line_number":58,"context_line":"  * ``source_project_id`` the source project id of share."}],"source_content_type":"text/x-rst","patch_set":7,"id":"d47f979b_eba9b1ba","line":55,"range":{"start_line":55,"start_character":37,"end_line":55,"end_character":41},"in_reply_to":"da6306dd_7f73a4ac","updated":"2022-01-12 09:24:01.000000000","message":"ok.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  * check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"    create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"    share_replica must be ``active``."},{"line_number":70,"context_line":"  * check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"  * check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"    scenario (DHSS\u003dFalse), share without share network create share transfer."}],"source_content_type":"text/x-rst","patch_set":7,"id":"c2dcbe4e_a741bf72","line":69,"range":{"start_line":69,"start_character":28,"end_line":69,"end_character":34},"updated":"2022-01-11 19:18:26.000000000","message":"\"available\"?\n\nreplica_state can be \"active\", \"in_sync\" or \"out_of_sync\" -- but the replica state shouldn\u0027t matter at all.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"  * check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"    create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"    share_replica must be ``active``."},{"line_number":70,"context_line":"  * check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"  * check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"    scenario (DHSS\u003dFalse), share without share network create share transfer."}],"source_content_type":"text/x-rst","patch_set":7,"id":"47c591c1_1970f97e","line":69,"range":{"start_line":69,"start_character":28,"end_line":69,"end_character":34},"in_reply_to":"c2dcbe4e_a741bf72","updated":"2022-01-12 09:24:01.000000000","message":"i will remove replica state check.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":69,"context_line":"    share_replica must be ``active``."},{"line_number":70,"context_line":"  * check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"  * check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"    scenario (DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"0f979ce1_5c68e2ad","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":76},"updated":"2022-01-11 19:18:26.000000000","message":"nit: will allowed to be transferred","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    share_replica must be ``active``."},{"line_number":70,"context_line":"  * check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"  * check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"    scenario (DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7346ab45_85849758","line":72,"range":{"start_line":72,"start_character":55,"end_line":72,"end_character":76},"in_reply_to":"0f979ce1_5c68e2ad","updated":"2022-01-12 09:24:01.000000000","message":"Done","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"},{"line_number":85,"context_line":"  checks for expire transfers every 5 minutes."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* \"transfer-accept\" need to call driver complete project_id change, such as"},{"line_number":88,"context_line":"  CephFS driver stores the project_id as metadata. The parent class driver only"},{"line_number":89,"context_line":"  defines the function, but does not implement it."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"6aec106d_f5f05789","line":87,"range":{"start_line":87,"start_character":39,"end_line":87,"end_character":40},"updated":"2022-01-11 19:18:26.000000000","message":"to","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"},{"line_number":85,"context_line":"  checks for expire transfers every 5 minutes."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* \"transfer-accept\" need to call driver complete project_id change, such as"},{"line_number":88,"context_line":"  CephFS driver stores the project_id as metadata. The parent class driver only"},{"line_number":89,"context_line":"  defines the function, but does not implement it."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"f14653e6_d06a85c3","line":87,"range":{"start_line":87,"start_character":39,"end_line":87,"end_character":40},"in_reply_to":"6aec106d_f5f05789","updated":"2022-01-12 09:24:01.000000000","message":"Done","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":154,"context_line":"       \"accept\":"},{"line_number":155,"context_line":"       {"},{"line_number":156,"context_line":"           \"auth_key\": \"6461646164641397\""},{"line_number":157,"context_line":"       }"},{"line_number":158,"context_line":"   }"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* List share transfers for a project"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7e6a9f5a_2bf4d3ca","line":157,"range":{"start_line":157,"start_character":7,"end_line":157,"end_character":8},"updated":"2022-01-11 19:18:26.000000000","message":"you mention above that this API allows clearing access rules..","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":154,"context_line":"       \"accept\":"},{"line_number":155,"context_line":"       {"},{"line_number":156,"context_line":"           \"auth_key\": \"6461646164641397\""},{"line_number":157,"context_line":"       }"},{"line_number":158,"context_line":"   }"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* List share transfers for a project"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9e238f15_8421b52f","line":157,"range":{"start_line":157,"start_character":7,"end_line":157,"end_character":8},"in_reply_to":"7e6a9f5a_2bf4d3ca","updated":"2022-01-12 09:24:01.000000000","message":"yes, i will add it.","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"665784f0e5f7906d2d69ccedee48f8c0337263cc","unresolved":true,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* The command of accept share transfer will be like::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    openstack share transfer accept \u003ctransfer\u003e \u003cauth_key\u003e"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"* The command of list share transfer will be like::"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"eab5bd0e_ee9e5ef6","line":208,"range":{"start_line":208,"start_character":0,"end_line":208,"end_character":57},"updated":"2022-01-11 19:18:26.000000000","message":"optional arg to clear access rules?","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* The command of accept share transfer will be like::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    openstack share transfer accept \u003ctransfer\u003e \u003cauth_key\u003e"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"* The command of list share transfer will be like::"},{"line_number":211,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"eecbfc25_72fa749c","line":208,"range":{"start_line":208,"start_character":0,"end_line":208,"end_character":57},"in_reply_to":"eab5bd0e_ee9e5ef6","updated":"2022-01-12 09:24:01.000000000","message":"it can be \nopenstack share transfer accept [--clear-rules] \u003ctransfer\u003e \u003cauth_key\u003e","commit_id":"1ac020ba7d573c6ec427ace5614287fb75d61ebe"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"be4a890f648ff4a0a0e838255e22e81cb63f3373","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allows a user to transfer a share to"},{"line_number":14,"context_line":"another user under other project, just like cinder transfer-create,"},{"line_number":15,"context_line":"transfer-accept, transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFalse, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, will only support transferring shares that are not tied"},{"line_number":18,"context_line":"to a share network. The object of the transfer is Share."}],"source_content_type":"text/x-rst","patch_set":8,"id":"98e8a168_539d5a77","line":15,"updated":"2022-01-13 18:54:02.000000000","message":"Cinder allows for volume transfer for users within the same projects and the same cloud. For what I understand here, it is intended to transfer shares between users which are not necessary in the same project. That behavior seems a bit risky to me.\n\nNIT Maybe add a reference to https://docs.openstack.org/api-ref/block-storage/v3/index.html#volume-transfer","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allows a user to transfer a share to"},{"line_number":14,"context_line":"another user under other project, just like cinder transfer-create,"},{"line_number":15,"context_line":"transfer-accept, transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFalse, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, will only support transferring shares that are not tied"},{"line_number":18,"context_line":"to a share network. The object of the transfer is Share."}],"source_content_type":"text/x-rst","patch_set":8,"id":"ceee8e01_914456f2","line":15,"in_reply_to":"98e8a168_539d5a77","updated":"2022-01-14 02:04:19.000000000","message":"Cinder allows for volume transfer for users within the same project or not in same project.\nwe will do like this.  transfer shares between different project only need:(1) check if driver need update some thing (2) update the database. i think this is ok, there is no risk.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"be4a890f648ff4a0a0e838255e22e81cb63f3373","unresolved":true,"context_lines":[{"line_number":30,"context_line":"can receive them safely."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A creates a share transfer."},{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."}],"source_content_type":"text/x-rst","patch_set":8,"id":"af4a5f98_594b29cd","line":33,"updated":"2022-01-13 18:54:02.000000000","message":"Instead of use cases, shouldn\u0027t this be included in the proposed change section as the step by step for the share transfer?\n\nWhat use cases do you have in mind for this feature? Just one example would be nice.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"can receive them safely."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A creates a share transfer."},{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."}],"source_content_type":"text/x-rst","patch_set":8,"id":"a68183df_98ad973a","line":33,"in_reply_to":"7dfaa8a5_c7a6d26c","updated":"2022-01-14 02:04:19.000000000","message":"Okay, let me change the use case description here.\nThanks for Goutham\u0027s advice for use cases.\n\npublic shares can be accessed with all users, but transfer share only specific user can get it.\nIt looks more safer.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"6b432bef3b113e223598a89e359b4842e5956a92","unresolved":false,"context_lines":[{"line_number":30,"context_line":"can receive them safely."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A creates a share transfer."},{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."}],"source_content_type":"text/x-rst","patch_set":8,"id":"cab2d5ab_b23bde44","line":33,"in_reply_to":"a68183df_98ad973a","updated":"2022-01-14 07:29:09.000000000","message":"Very cool proposal! I have another use case: split of a huge (and therefore hard to maintain) project into smaller projects","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4796a91aeb1883575236172eac6219595ba7f869","unresolved":true,"context_lines":[{"line_number":30,"context_line":"can receive them safely."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A creates a share transfer."},{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."}],"source_content_type":"text/x-rst","patch_set":8,"id":"7dfaa8a5_c7a6d26c","line":33,"in_reply_to":"af4a5f98_594b29cd","updated":"2022-01-13 19:46:58.000000000","message":"+1\n\nI agree this looks like the proposed workflow more than use cases. \n\nOne use case would be for someone to pre-populate data for someone else in a different project to consume; or when a project is \"ending\"/being decommissioned, share data can be transferred to a project that\u0027s still needed. There\u0027s perhaps a little bit of an overlap with having \"public\" shares as well - i.e., data sharing across projects.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"be4a890f648ff4a0a0e838255e22e81cb63f3373","unresolved":true,"context_lines":[{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A will be able to list brief or detailed information"},{"line_number":40,"context_line":"  about share transfers for project A."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"0d7e1365_507fcffb","line":38,"updated":"2022-01-13 18:54:02.000000000","message":"One hour? Shall we allow users to specify a TTL?","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* The user in project B accepts the share transfer."},{"line_number":36,"context_line":"* The user in project A deletes the share transfer before it has been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A will be able to list brief or detailed information"},{"line_number":40,"context_line":"  about share transfers for project A."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"10d66f38_90afa8a2","line":38,"in_reply_to":"0d7e1365_507fcffb","updated":"2022-01-14 02:04:19.000000000","message":"there will be a new configure item ``wait_transfer_timeout_seconds``, default is 3600 seconds.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"be4a890f648ff4a0a0e838255e22e81cb63f3373","unresolved":true,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  * check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"    quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"    project has enough remaining quota."},{"line_number":79,"context_line":"  * if the share type of source share is not public, and the share type access"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3217a368_57e80fc3","line":76,"updated":"2022-01-13 18:54:02.000000000","message":"Also the existence of the share type in the destination should be checked","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"  * check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"    quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"    project has enough remaining quota."},{"line_number":79,"context_line":"  * if the share type of source share is not public, and the share type access"}],"source_content_type":"text/x-rst","patch_set":8,"id":"496a57f7_3acab291","line":76,"in_reply_to":"3217a368_57e80fc3","updated":"2022-01-14 02:04:19.000000000","message":"transfer share will not change it\u0027s share type, and share type check is describe in line 79-\u003e81","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4796a91aeb1883575236172eac6219595ba7f869","unresolved":true,"context_lines":[{"line_number":99,"context_line":"Alternatives"},{"line_number":100,"context_line":"------------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"None"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Data model impact"},{"line_number":105,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"07ee0f57_343db817","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":4},"updated":"2022-01-13 19:46:58.000000000","message":"An alternative here is manage/unamanage - i.e., a share in Project A can be \"unmanaged\" by a privileged user and \"managed\" into another project. However two issues with that approach:\n\n1) manage/unmanage is meant to be disruptive - pre-existing access rules will be flushed and the share would be re-exported\n2) you\u0027d need to be a privileged user by virtue of the default RBAC because this approach gives away some of teh abstraction of the cloud.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"67f8fc1d389e2e5d31c2dcd71f1a36da9fe5a1d2","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Alternatives"},{"line_number":100,"context_line":"------------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"None"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Data model impact"},{"line_number":105,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"ef1a2f58_905c6da7","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":4},"in_reply_to":"07ee0f57_343db817","updated":"2022-01-14 02:04:19.000000000","message":"thanks, i will add this Alternatives.","commit_id":"fc260debf15c03732c62ff71519d6daadb39b350"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4e674d07b7a262b65b081fe9c21d0c939feefd8","unresolved":true,"context_lines":[{"line_number":34,"context_line":"* The user in project A pre-populate data for another user in project B."},{"line_number":35,"context_line":"* When a project is \"ending\"/being decommissioned, share data can be"},{"line_number":36,"context_line":"  transferred to a project that\u0027s still needed."},{"line_number":37,"context_line":"* Transfer share to specific user to collaborate on the rest of the work."},{"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":9,"id":"98940678_ad7a88ee","line":37,"range":{"start_line":37,"start_character":72,"end_line":37,"end_character":73},"updated":"2022-01-18 23:48:49.000000000","message":"From carthaca\u0027s comment on a prior patchset:\n\nsplitting a huge (and therefore hard to maintain) project into smaller projects","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e4e674d07b7a262b65b081fe9c21d0c939feefd8","unresolved":true,"context_lines":[{"line_number":107,"context_line":"  * manage/unmanage is meant to be disruptive - pre-existing access rules will"},{"line_number":108,"context_line":"    be flushed and the share would be re-exported."},{"line_number":109,"context_line":"  * you\u0027d need to be a privileged user by virtue of the default RBAC because"},{"line_number":110,"context_line":"    this approach gives away some of teh abstraction of the cloud."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Data model impact"},{"line_number":113,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"2bf50b8b_ec0faaef","line":110,"range":{"start_line":110,"start_character":37,"end_line":110,"end_character":40},"updated":"2022-01-18 23:48:49.000000000","message":"s/teh/the","commit_id":"7600af4dfdef799af38f1df42b83f751de85b2a0"}],"specs/yoga/share_transfer_between_project.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"}],"source_content_type":"text/x-rst","patch_set":3,"id":"247e33eb_ddaf7138","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":12},"updated":"2021-12-23 17:52:45.000000000","message":"if we wanted to keep this open in the future for other kinds of resources (share networks, security services, groups, etc), you could call this resource_id and introduce a \"resource_type\" to distinguish what the resource is..","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"}],"source_content_type":"text/x-rst","patch_set":3,"id":"124e4cf4_db426c3d","line":49,"range":{"start_line":49,"start_character":39,"end_line":49,"end_character":64},"updated":"2021-12-23 17:52:45.000000000","message":"nit: is being transferred","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"}],"source_content_type":"text/x-rst","patch_set":3,"id":"aa5a38b3_f46570df","line":49,"range":{"start_line":49,"start_character":39,"end_line":49,"end_character":64},"in_reply_to":"124e4cf4_db426c3d","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"}],"source_content_type":"text/x-rst","patch_set":3,"id":"eefbb625_18af6546","line":49,"range":{"start_line":49,"start_character":4,"end_line":49,"end_character":12},"in_reply_to":"247e33eb_ddaf7138","updated":"2021-12-27 06:44:06.000000000","message":"yes, this is a good idea.:)","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"819e8911_81abc05c","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":14},"updated":"2021-12-23 17:52:45.000000000","message":"\"network_id\" is a bit vague - if we make the field above \"resource_id\", we could eliminate the need for a network_id","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5306dd60_6fc51bec","line":50,"range":{"start_line":50,"start_character":49,"end_line":50,"end_character":74},"updated":"2021-12-23 17:52:45.000000000","message":"nit: is being transferred","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4e86ab7f_61651aa2","line":50,"range":{"start_line":50,"start_character":49,"end_line":50,"end_character":74},"in_reply_to":"5306dd60_6fc51bec","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cb2c0617_c666a063","line":50,"range":{"start_line":50,"start_character":4,"end_line":50,"end_character":14},"in_reply_to":"819e8911_81abc05c","updated":"2021-12-27 06:44:06.000000000","message":"will remove network_id.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"},{"line_number":54,"context_line":"  auth_key calculate crypt_hash by sha1."}],"source_content_type":"text/x-rst","patch_set":3,"id":"28cddc9c_5934688d","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":16},"updated":"2021-12-23 17:52:45.000000000","message":"lets call this \"name\", display_name applied to shares and snapshots to distinguish between the user defined names and names on the backends..","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``share_id`` the uuid of share which has been created transfer."},{"line_number":50,"context_line":"- ``network_id`` the uuid of share network which has been created transfer."},{"line_number":51,"context_line":"- ``display_name`` the display name of transfer."},{"line_number":52,"context_line":"- ``salt`` a short random string used to calculate crypt_hash, after create"},{"line_number":53,"context_line":"  transfer will return auth_key(also a short random string), salt and"},{"line_number":54,"context_line":"  auth_key calculate crypt_hash by sha1."}],"source_content_type":"text/x-rst","patch_set":3,"id":"8d884ff7_4fc5f9d7","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":16},"in_reply_to":"28cddc9c_5934688d","updated":"2021-12-27 06:44:06.000000000","message":"done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":66,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":67,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":68,"context_line":"  share_replica must be ``active``."},{"line_number":69,"context_line":"- check whether the share in share group, share can not in share group."},{"line_number":70,"context_line":"- check whether share has share network, this spec we just support the first"},{"line_number":71,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"e21e0ffc_181cc4dd","line":69,"range":{"start_line":69,"start_character":42,"end_line":69,"end_character":71},"updated":"2021-12-23 17:52:45.000000000","message":"nit: share cannot be in a share group.\n\n\nWhy though? From what i could tell, cinder allows this\n\n(but fails on subsequent actions: https://bugs.launchpad.net/cinder/+bug/1955670)\n\nDo you have any thoughts on how to allow this to happen, maybe in the future? This could be like transferring DHSS\u003dTrue shares --- just like your future proposal of transferring a share network instead, we could perhaps allow group transfers?","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":66,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":67,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":68,"context_line":"  share_replica must be ``active``."},{"line_number":69,"context_line":"- check whether the share in share group, share can not in share group."},{"line_number":70,"context_line":"- check whether share has share network, this spec we just support the first"},{"line_number":71,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"e3a52a8b_88700168","line":69,"range":{"start_line":69,"start_character":42,"end_line":69,"end_character":71},"in_reply_to":"e21e0ffc_181cc4dd","updated":"2021-12-27 06:44:06.000000000","message":"the bug is why i cannot allow transfer a share in group. we know that all shares in a group must be in same project. and the group also belong to the project. if group belong to project\nA, a share in the group belong to project B, This is a very strange phenomenon.\nthere are two possible solutions to resolve transfer share in group.\n(1) give an warning to user and raise,  remove the share from group before transfer.\n(2) Developing new features to transfer group and all shares in this group, just like transfer share network. but in this spec we temporarily unsupport create transfer in group.\n\nin this spec, we will just not allow user to transfer share in group.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"855b3711_c52b81ae","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":4},"updated":"2021-12-23 17:52:45.000000000","message":"One alternative is to make \"project_id\" changes possible via manila-manage. However, there are a couple of disadvantages here. \n\nsince \"manila-manage\" directly interfaces with the database, there is no possibility of performing contextual validations such as: \"does the user belong to the right project\", \"are the source/destination projects valid\", etc. We can\u0027t perform RBAC checks or tally quotas, and can\u0027t get the destination project\u0027s buy-in for transfers. Also, manila-manage tooling is available only to privileged users. The proposed approach allows transfers to be a tenant user driven activity.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"e0a26b01_04e5c25c","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":4},"in_reply_to":"855b3711_c52b81ae","updated":"2021-12-27 06:44:06.000000000","message":"thanks for remind me there\u0027s another way,but this doesn\u0027t sound very different from directly tampering with a database, As you mentioned, there are many disadvantages to this direct modification, so don\u0027t use it as alternatives.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4796a91aeb1883575236172eac6219595ba7f869","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"2bfbb4fe_d93aa88f","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":4},"in_reply_to":"e0a26b01_04e5c25c","updated":"2022-01-13 19:46:58.000000000","message":"it just occurred to me that we had discussed manila\u0027s \"manage\" feature as an alternative (not the \"manila-manage\" tool). \n\nThe intent of this alternatives section is to call out everything that\u0027s possible and to highlight the disadvantages. So i\u0027d encourage adding both of these and call out the specific disadvantages so that reviewers/users will understand why this feature is required...","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Request Example::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  `{"},{"line_number":118,"context_line":"      \"transfer\": {"},{"line_number":119,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":120,"context_line":"          \"name\": \"share transfer\""},{"line_number":121,"context_line":"      }"},{"line_number":122,"context_line":"  }`"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Accept a share transfer"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"de767be9_93fc3e56","line":122,"range":{"start_line":117,"start_character":0,"end_line":122,"end_character":3},"updated":"2021-12-23 17:52:45.000000000","message":"please add that this API will return a transfer ID and auth key - the auth key cannot be retrieved later on.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Request Example::"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  `{"},{"line_number":118,"context_line":"      \"transfer\": {"},{"line_number":119,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":120,"context_line":"          \"name\": \"share transfer\""},{"line_number":121,"context_line":"      }"},{"line_number":122,"context_line":"  }`"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Accept a share transfer"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"877a32b6_b31120a5","line":122,"range":{"start_line":117,"start_character":0,"end_line":122,"end_character":3},"in_reply_to":"de767be9_93fc3e56","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"POST /v2/share-transfers/{transfer_id}/accept"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Request Example::"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"  `{"},{"line_number":131,"context_line":"      \"accept\": {"},{"line_number":132,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":133,"context_line":"      }"},{"line_number":134,"context_line":"  }`"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* List share transfers for a project"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"GET /v2/share-transfers"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a215e96c_39e740d7","line":135,"range":{"start_line":128,"start_character":0,"end_line":135,"end_character":0},"updated":"2021-12-23 17:52:45.000000000","message":"What actions will this API perform?\n\nWill it update the \"user_id\" field in the resource?","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"POST /v2/share-transfers/{transfer_id}/accept"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Request Example::"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"  `{"},{"line_number":131,"context_line":"      \"accept\": {"},{"line_number":132,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":133,"context_line":"      }"},{"line_number":134,"context_line":"  }`"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"* List share transfers for a project"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"GET /v2/share-transfers"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3aba359d_c31c8742","line":135,"range":{"start_line":128,"start_character":0,"end_line":135,"end_character":0},"in_reply_to":"a215e96c_39e740d7","updated":"2021-12-27 06:44:06.000000000","message":"The API will perform the following actions:\n1: check RBAC policy.\n2: get salt from db by transfer id.\n3: to calculate crypt_hash with salt and auth_key by sha1.\n4: Compare the calculated crypt_hash with the database crypt_hash.\n5: check quota of destination project.\n6: if share has snapshot or replica, then check corresponding quota\n7: manila api----\u003e manila share ----\u003e driver: self.driver.accept_transfer()\n8: db api perform transfer_accept: update status(awaiting-transfer--\u003eavailable), user_id(source_user_id----\u003e dest_user_id), project_id(source_project_id---\u003e dest_project_id)\nthen update corresponding share snapshot and replica infomation.\n\nso the \"user_id\" field will be update.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":152,"context_line":"Security impact"},{"line_number":153,"context_line":"---------------"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"None"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Notifications impact"},{"line_number":158,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"23c88118_58d2ffa2","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":4},"updated":"2021-12-23 17:52:45.000000000","message":"This has a huge security impact. You must note that:\n\n1) each of these transfer APIs will be protected by RBAC\n2) Users can only transfer shares belonging to their project\n3) The transfer ID and transfer auth key  are expected to be conveyed out of band. The transfer auth key is only returned by the API during creation of a transfer. There will be no way to retrieve the transfer auth key after a transfer has been created. \n4) the choice of cryptographic algorithms to generate an auth_key and the fact that transfer IDs are non-guessable UUIDs will provide additional security to the process.\n5) Since transfers expire in an hour, there\u0027s a time bound protection to this critical change of namespaces.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":152,"context_line":"Security impact"},{"line_number":153,"context_line":"---------------"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"None"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Notifications impact"},{"line_number":158,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fd3dcad8_cdb6c168","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":4},"in_reply_to":"23c88118_58d2ffa2","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":157,"context_line":"Notifications impact"},{"line_number":158,"context_line":"--------------------"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"None."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Other end user impact"},{"line_number":163,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"707a5ec4_6f748527","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":4},"updated":"2021-12-23 17:52:45.000000000","message":"We must notify to external listeners when a volume transfer has been initiated and when it has been accepted","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":157,"context_line":"Notifications impact"},{"line_number":158,"context_line":"--------------------"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"None."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Other end user impact"},{"line_number":163,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"28e81b23_c2469b0b","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":4},"in_reply_to":"707a5ec4_6f748527","updated":"2021-12-27 06:44:06.000000000","message":"ok, done. will add notify_about_share_usage in code.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* The command of create share transfer will be like::"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    manila transfer-create \u003cshare\u003e"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* The command of accept share transfer will be like::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    manila transfer-accept \u003ctransfer\u003e \u003cauth_key\u003e"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* The command of list share transfer will be like::"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    manila transfer-list"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* The command of show share transfer detail will be like::"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    manila transfer-show \u003ctransfer\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"* The command of delete share transfer will be like::"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    manila transfer-delete \u003ctransfer\u003e"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Performance Impact"},{"line_number":188,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bcec749d_f4f2b7e9","line":185,"range":{"start_line":169,"start_character":4,"end_line":185,"end_character":37},"updated":"2021-12-23 17:52:45.000000000","message":"please implement these in OSC - there\u0027s no need to add new commands to the \"manila\" shell - we\u0027re looking to publish a deprecation warning during this cycle for that shell","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* The command of create share transfer will be like::"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    manila transfer-create \u003cshare\u003e"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* The command of accept share transfer will be like::"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    manila transfer-accept \u003ctransfer\u003e \u003cauth_key\u003e"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"* The command of list share transfer will be like::"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    manila transfer-list"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* The command of show share transfer detail will be like::"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    manila transfer-show \u003ctransfer\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"* The command of delete share transfer will be like::"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    manila transfer-delete \u003ctransfer\u003e"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Performance Impact"},{"line_number":188,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a4fb1807_6bb0be38","line":185,"range":{"start_line":169,"start_character":4,"end_line":185,"end_character":37},"in_reply_to":"bcec749d_f4f2b7e9","updated":"2021-12-27 06:44:06.000000000","message":"ok, this will support OSC.","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":197,"context_line":"Developer impact"},{"line_number":198,"context_line":"----------------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"None"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ce821443_b287baf2","line":200,"range":{"start_line":200,"start_character":0,"end_line":200,"end_character":4},"updated":"2021-12-23 17:52:45.000000000","message":"Drivers that use project and user based metadata must implement the new driver interface to complete \"transfer_accept\".","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Developer impact"},{"line_number":198,"context_line":"----------------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"None"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4ac7b086_fc50b476","line":200,"range":{"start_line":200,"start_character":0,"end_line":200,"end_character":4},"in_reply_to":"ce821443_b287baf2","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ed76392b44663ca137475836888f4fca8157b93","unresolved":true,"context_lines":[{"line_number":207,"context_line":"-----------"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Primary assignee:"},{"line_number":210,"context_line":"  haixin\u003chaix09@chinatelecom.cn\u003e"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7984e369_40ab2c63","line":210,"range":{"start_line":210,"start_character":8,"end_line":210,"end_character":9},"updated":"2021-12-23 17:52:45.000000000","message":"space","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"ab2c0e6b577dc691d92d8ea85226ded387292938","unresolved":false,"context_lines":[{"line_number":207,"context_line":"-----------"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"Primary assignee:"},{"line_number":210,"context_line":"  haixin\u003chaix09@chinatelecom.cn\u003e"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf4078c1_0d80982f","line":210,"range":{"start_line":210,"start_character":8,"end_line":210,"end_character":9},"in_reply_to":"7984e369_40ab2c63","updated":"2021-12-27 06:44:06.000000000","message":"Done","commit_id":"c2c5e6e02544a36765f48c760e9efe3b738918cc"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. this will be completed in"},{"line_number":21,"context_line":"another spec."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"57c82c93_840ff13a","line":20,"range":{"start_line":20,"start_character":49,"end_line":20,"end_character":54},"updated":"2021-12-30 04:17:33.000000000","message":"This","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. this will be completed in"},{"line_number":21,"context_line":"another spec."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"8d127b6d_eeb6a992","line":20,"range":{"start_line":20,"start_character":49,"end_line":20,"end_character":54},"in_reply_to":"57c82c93_840ff13a","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"},{"line_number":40,"context_line":"  transfers for project A."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"296b6dc3_03f08cdb","line":38,"range":{"start_line":38,"start_character":23,"end_line":38,"end_character":33},"updated":"2021-12-30 04:17:33.000000000","message":"would the admin be able to configure this timeout ? \n\nHaving the configuration option can be useful for tempest test.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"},{"line_number":40,"context_line":"  transfers for project A."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"a1c3304f_ca720b59","line":38,"range":{"start_line":38,"start_character":23,"end_line":38,"end_character":33},"in_reply_to":"296b6dc3_03f08cdb","updated":"2022-01-04 06:45:39.000000000","message":"yes, this would be an configure item, we can calle it \"wait_transfer_timeout_seconds\".\nand it can be modified by admin.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":58,"context_line":"- ``source_project_id`` the source project id of share."},{"line_number":59,"context_line":"- ``destination_project_id`` the destination project id of share."},{"line_number":60,"context_line":"- ``accepted`` whether the share has been accepted."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new status ``awaiting_transfer`` for shares, which is being"},{"line_number":63,"context_line":"  transferred."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3ee302_b9bd46c7","line":61,"updated":"2021-12-30 04:17:33.000000000","message":"for audits purpose or even debugging, the fields: \"created_at\", \"updated_at\" and \"deleted_at\" should be also added, right ?","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":58,"context_line":"- ``source_project_id`` the source project id of share."},{"line_number":59,"context_line":"- ``destination_project_id`` the destination project id of share."},{"line_number":60,"context_line":"- ``accepted`` whether the share has been accepted."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new status ``awaiting_transfer`` for shares, which is being"},{"line_number":63,"context_line":"  transferred."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff39f1d9_6124bc0c","line":61,"in_reply_to":"ba3ee302_b9bd46c7","updated":"2022-01-04 06:45:39.000000000","message":"yes, All three fields and \"deleted\" will be in Manila\u0027s database tables by default, i will add it in code. I\u0027m not going to mention it here.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec we just support the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5acbe147_e07f1f85","line":71,"range":{"start_line":71,"start_character":41,"end_line":71,"end_character":59},"updated":"2021-12-30 04:17:33.000000000","message":"this spec just supports","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec we just support the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1110e86f_43e2a5ea","line":71,"range":{"start_line":71,"start_character":41,"end_line":71,"end_character":59},"in_reply_to":"5acbe147_e07f1f85","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d67fff9b_4cd7d53b","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":54},"updated":"2021-12-30 04:17:33.000000000","message":"only \"per_share_gigabytes\" ?!\n\nAll quotas resources must be validated, right ? With share transfer the snapshots and replicas also come, so those quotas must be checked.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"}],"source_content_type":"text/x-rst","patch_set":4,"id":"0245b262_b1d65110","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":54},"in_reply_to":"d67fff9b_4cd7d53b","updated":"2022-01-04 06:45:39.000000000","message":"yes, snapshot quota and replicas quota check will be included in project quota check and project user quota check. we ignore share type quota check, since share type will not change \nafter transfer.  the last, per_share_gigabytes is added in The recent Wallaby version. so let me point it out here.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"6a18262f_d50ea192","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":55},"updated":"2021-12-30 04:17:33.000000000","message":",","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"56f608dc_56a41bea","line":80,"range":{"start_line":80,"start_character":16,"end_line":80,"end_character":18},"updated":"2021-12-30 04:17:33.000000000","message":"does","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"4922b91b_ebf97321","line":80,"range":{"start_line":80,"start_character":56,"end_line":80,"end_character":67},"updated":"2021-12-30 04:17:33.000000000","message":"it will fail","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5138c6e4_b1ba17c9","line":80,"range":{"start_line":80,"start_character":56,"end_line":80,"end_character":67},"in_reply_to":"4922b91b_ebf97321","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"4ac96b11_942a6073","line":80,"range":{"start_line":80,"start_character":16,"end_line":80,"end_character":18},"in_reply_to":"56f608dc_56a41bea","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type do not include the destination project. will failed to accept"},{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"}],"source_content_type":"text/x-rst","patch_set":4,"id":"2eff314a_1d35bd02","line":80,"range":{"start_line":80,"start_character":54,"end_line":80,"end_character":55},"in_reply_to":"6a18262f_d50ea192","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"},{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"},{"line_number":85,"context_line":"  checks for expire transfers every 5 minutes."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* \"transfer-accept\" need to call driver complete project_id change, such as"}],"source_content_type":"text/x-rst","patch_set":4,"id":"811fd41c_b0298827","line":84,"range":{"start_line":84,"start_character":22,"end_line":84,"end_character":32},"updated":"2021-12-30 04:17:33.000000000","message":"would the admin be able to configure this timeout ? \n\nHaving the configuration option can be useful for tempest test.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"},{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"},{"line_number":85,"context_line":"  checks for expire transfers every 5 minutes."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* \"transfer-accept\" need to call driver complete project_id change, such as"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba58f087_93f4ac7d","line":84,"range":{"start_line":84,"start_character":22,"end_line":84,"end_character":32},"in_reply_to":"811fd41c_b0298827","updated":"2022-01-04 06:45:39.000000000","message":"yes. this will have configure item.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":92,"context_line":"  access rule. By default, the share access rule will not be cleared."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Add new API for transfer-create, transfer-accept, transfer-delete, transfer-"},{"line_number":95,"context_line":"  list."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"* The above API changes will bump a new microversion."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ee801e6e_058b5ddf","line":95,"range":{"start_line":95,"start_character":6,"end_line":95,"end_character":7},"updated":"2021-12-30 04:17:33.000000000","message":", transfer-show ?","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":92,"context_line":"  access rule. By default, the share access rule will not be cleared."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Add new API for transfer-create, transfer-accept, transfer-delete, transfer-"},{"line_number":95,"context_line":"  list."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"* The above API changes will bump a new microversion."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"18dec05c_c88ec49f","line":95,"range":{"start_line":95,"start_character":6,"end_line":95,"end_character":7},"in_reply_to":"ee801e6e_058b5ddf","updated":"2022-01-04 06:45:39.000000000","message":"yes, i missed it.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":168,"context_line":"---------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Each of these transfer APIs will be protected by RBAC."},{"line_number":171,"context_line":"* Users can only transfer shares belonging to their project."},{"line_number":172,"context_line":"* The transfer ID and transfer auth key  are expected to be conveyed out of"},{"line_number":173,"context_line":"  band. The transfer auth key is only returned by the API during creation of a"},{"line_number":174,"context_line":"  transfer. There will be no way to retrieve the transfer auth key after a"}],"source_content_type":"text/x-rst","patch_set":4,"id":"50fc4980_6443012f","line":171,"updated":"2021-12-30 04:17:33.000000000","message":"would the admin be able to transfer users share ?","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":168,"context_line":"---------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Each of these transfer APIs will be protected by RBAC."},{"line_number":171,"context_line":"* Users can only transfer shares belonging to their project."},{"line_number":172,"context_line":"* The transfer ID and transfer auth key  are expected to be conveyed out of"},{"line_number":173,"context_line":"  band. The transfer auth key is only returned by the API during creation of a"},{"line_number":174,"context_line":"  transfer. There will be no way to retrieve the transfer auth key after a"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ef016e73_bee7bb7f","line":171,"in_reply_to":"50fc4980_6443012f","updated":"2022-01-04 06:45:39.000000000","message":"admin or share owner be able to transfer share.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"854d0cfac587d5f3e62880a4b71be0addc56a95e","unresolved":true,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"44733024_6844cb79","line":273,"range":{"start_line":273,"start_character":0,"end_line":273,"end_character":4},"updated":"2021-12-30 04:17:33.000000000","message":"you could reference cinder transfer strategy, since this spec is based on what cinder has implemented to this feature.","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9501fbfde1c66242dad53180a483427833d18545","unresolved":false,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e4f76fe3_0364f4d4","line":273,"range":{"start_line":273,"start_character":0,"end_line":273,"end_character":4},"in_reply_to":"44733024_6844cb79","updated":"2022-01-04 06:45:39.000000000","message":"Done","commit_id":"114953f034531c4d85988719a89d487c8ab46471"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"72edbf33_9f65f7c7","updated":"2022-01-08 01:25:31.000000000","message":"Nit: I noticed that the source files for all previous specs but this one [1] use hyphens as word separators. I\u0027m not sure if there\u0027s a guideline for this, but I know search engines prefer hyphens.\n\n[1] https://opendev.org/openstack/manila-specs/src/branch/master/specs/pike/gather_share_usage_size.rst","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"1ee6b5eaad1b7506854a2e1db900ffc40a349e65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cf2a090a_ff185c40","in_reply_to":"3f996227_5c714a21","updated":"2022-01-10 14:21:49.000000000","message":"I believe you could use git mv [1] on the file, but it\u0027s just a nitpick really. :)\n\n[1] https://git-scm.com/docs/git-mv","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3f996227_5c714a21","in_reply_to":"72edbf33_9f65f7c7","updated":"2022-01-10 09:52:55.000000000","message":"what can i do for this?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"14e80cbce1a086cf874b3b10f86446d03e11ada0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"42571793_c62031ed","in_reply_to":"cf2a090a_ff185c40","updated":"2022-01-11 06:20:19.000000000","message":"thanks, i know what you mean :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9393682d_95e9ea85","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":46},"updated":"2022-01-08 01:25:31.000000000","message":"Nit: a user","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9fc6c963_ab7c549e","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":41},"updated":"2022-01-08 01:25:31.000000000","message":"allows","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."}],"source_content_type":"text/x-rst","patch_set":5,"id":"e61df456_48a12938","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":46},"in_reply_to":"9393682d_95e9ea85","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."}],"source_content_type":"text/x-rst","patch_set":5,"id":"42b691a3_77b8d68d","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":41},"in_reply_to":"9fc6c963_ab7c549e","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"913ef463_64e9cea3","line":14,"range":{"start_line":14,"start_character":26,"end_line":14,"end_character":30},"updated":"2022-01-07 13:09:12.000000000","message":"nit: Just","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c9819c79_0200b7a9","line":14,"range":{"start_line":14,"start_character":26,"end_line":14,"end_character":30},"in_reply_to":"913ef463_64e9cea3","updated":"2022-01-08 01:25:31.000000000","message":"Maybe he meant to type a comma instead? :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/manila/+spec/transfer-share-between-project"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b34b53c7_90531e81","line":14,"range":{"start_line":14,"start_character":26,"end_line":14,"end_character":30},"in_reply_to":"c9819c79_0200b7a9","updated":"2022-01-10 09:52:55.000000000","message":"Done, i change . to ,  :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"}],"source_content_type":"text/x-rst","patch_set":5,"id":"de68b3f2_d6b92b36","line":16,"range":{"start_line":16,"start_character":43,"end_line":16,"end_character":47},"updated":"2022-01-07 13:09:12.000000000","message":"False","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Add support for share transfer that allow user to transfer a share to another"},{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c061d13b_1cb75ec7","line":16,"range":{"start_line":16,"start_character":43,"end_line":16,"end_character":47},"in_reply_to":"de68b3f2_d6b92b36","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f5eb2c61_20947948","line":17,"range":{"start_line":17,"start_character":75,"end_line":17,"end_character":76},"updated":"2022-01-08 01:25:31.000000000","message":".","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9d406261_6b738f1f","line":17,"range":{"start_line":17,"start_character":23,"end_line":17,"end_character":75},"updated":"2022-01-07 13:09:12.000000000","message":"will only support transferring shares that are not tied to a share network","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"}],"source_content_type":"text/x-rst","patch_set":5,"id":"88ae4dee_11b9be65","line":17,"range":{"start_line":17,"start_character":23,"end_line":17,"end_character":75},"in_reply_to":"9d406261_6b738f1f","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":14,"context_line":"user under other project. just like cinder transfer-create, transfer-accept,"},{"line_number":15,"context_line":"transfer-delete."},{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"}],"source_content_type":"text/x-rst","patch_set":5,"id":"72d5228b_d850f49c","line":17,"range":{"start_line":17,"start_character":75,"end_line":17,"end_character":76},"in_reply_to":"f5eb2c61_20947948","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"},{"line_number":21,"context_line":"another spec."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"4e184a0c_78322f8d","line":20,"range":{"start_line":19,"start_character":24,"end_line":20,"end_character":47},"updated":"2022-01-07 13:09:12.000000000","message":"we would support transferring share networks, which would cause all of its shares to be migrated within.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":16,"context_line":"There are two scenarios, the first is DHSS\u003dFase, the second is DHSS\u003dTrue."},{"line_number":17,"context_line":"In the first scenario, we just support transfer share without share network,"},{"line_number":18,"context_line":"The object of the transfer is Share."},{"line_number":19,"context_line":"In the second scenario, we support transfer share network with all shares with"},{"line_number":20,"context_line":"it, The object of the transfer is Share Network. This will be completed in"},{"line_number":21,"context_line":"another spec."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"64dc7603_77471bd5","line":20,"range":{"start_line":19,"start_character":24,"end_line":20,"end_character":47},"in_reply_to":"4e184a0c_78322f8d","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":24,"context_line":"Problem Description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"In the actual OpenStack production environment, It is common for a user to"},{"line_number":28,"context_line":"transfer a storage resource to another user for collaborative pipeline work."},{"line_number":29,"context_line":"Manila Share also needs a secure way to transfer shares so that other users"},{"line_number":30,"context_line":"can receive them safely."}],"source_content_type":"text/x-rst","patch_set":5,"id":"414b4b98_74b4def4","line":27,"range":{"start_line":27,"start_character":3,"end_line":27,"end_character":6},"updated":"2022-01-08 01:25:31.000000000","message":"Nit: an","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":24,"context_line":"Problem Description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"In the actual OpenStack production environment, It is common for a user to"},{"line_number":28,"context_line":"transfer a storage resource to another user for collaborative pipeline work."},{"line_number":29,"context_line":"Manila Share also needs a secure way to transfer shares so that other users"},{"line_number":30,"context_line":"can receive them safely."}],"source_content_type":"text/x-rst","patch_set":5,"id":"8d4fe66d_4f2a23c9","line":27,"range":{"start_line":27,"start_character":48,"end_line":27,"end_character":50},"updated":"2022-01-08 01:25:31.000000000","message":"it","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem Description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"In the actual OpenStack production environment, It is common for a user to"},{"line_number":28,"context_line":"transfer a storage resource to another user for collaborative pipeline work."},{"line_number":29,"context_line":"Manila Share also needs a secure way to transfer shares so that other users"},{"line_number":30,"context_line":"can receive them safely."}],"source_content_type":"text/x-rst","patch_set":5,"id":"97784bdf_2684ca82","line":27,"range":{"start_line":27,"start_character":3,"end_line":27,"end_character":6},"in_reply_to":"414b4b98_74b4def4","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Problem Description"},{"line_number":25,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"In the actual OpenStack production environment, It is common for a user to"},{"line_number":28,"context_line":"transfer a storage resource to another user for collaborative pipeline work."},{"line_number":29,"context_line":"Manila Share also needs a secure way to transfer shares so that other users"},{"line_number":30,"context_line":"can receive them safely."}],"source_content_type":"text/x-rst","patch_set":5,"id":"c97f8fa2_9abe7554","line":27,"range":{"start_line":27,"start_character":48,"end_line":27,"end_character":50},"in_reply_to":"8d4fe66d_4f2a23c9","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b1b3a234_5d2b47e6","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":30},"updated":"2022-01-08 01:25:31.000000000","message":"creates","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"}],"source_content_type":"text/x-rst","patch_set":5,"id":"541acf2f_176fa3d8","line":34,"range":{"start_line":34,"start_character":24,"end_line":34,"end_character":30},"in_reply_to":"b1b3a234_5d2b47e6","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1481077a_15ba5f2b","line":35,"range":{"start_line":35,"start_character":24,"end_line":35,"end_character":30},"updated":"2022-01-08 01:25:31.000000000","message":"accepts","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3eadf315_61c9189e","line":35,"range":{"start_line":35,"start_character":24,"end_line":35,"end_character":30},"in_reply_to":"1481077a_15ba5f2b","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"}],"source_content_type":"text/x-rst","patch_set":5,"id":"780f1453_11cab788","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":30},"updated":"2022-01-08 01:25:31.000000000","message":"deletes","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"}],"source_content_type":"text/x-rst","patch_set":5,"id":"188c3461_0dd37e13","line":36,"range":{"start_line":36,"start_character":56,"end_line":36,"end_character":61},"updated":"2022-01-07 13:09:12.000000000","message":"it has been","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1b59281e_0bc527b6","line":36,"range":{"start_line":36,"start_character":56,"end_line":36,"end_character":61},"in_reply_to":"188c3461_0dd37e13","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":"* The user in project A create a share transfer."},{"line_number":35,"context_line":"* The user in project B accept the share transfer."},{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c1bc0cfe_82c2081a","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":30},"in_reply_to":"780f1453_11cab788","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"},{"line_number":40,"context_line":"  transfers for project A."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c5a518be_18c9aedc","line":39,"range":{"start_line":39,"start_character":23,"end_line":39,"end_character":28},"updated":"2022-01-07 13:09:12.000000000","message":"will be able to","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":36,"context_line":"* The user in project A delete the share transfer before been accepted."},{"line_number":37,"context_line":"* For security reasons, the share transfer will be deleted automatically if it"},{"line_number":38,"context_line":"  has not been accepted one hour after it was created."},{"line_number":39,"context_line":"* The user in project A list brief or detailed information about share"},{"line_number":40,"context_line":"  transfers for project A."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":5,"id":"6c34675e_f76b1e18","line":39,"range":{"start_line":39,"start_character":23,"end_line":39,"end_character":28},"in_reply_to":"c5a518be_18c9aedc","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed Change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"183afd7c_26fe1731","line":44,"range":{"start_line":44,"start_character":21,"end_line":44,"end_character":24},"updated":"2022-01-08 01:25:31.000000000","message":"Nit: remove \"do\", since you already started the list items sentences with verbs.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed Change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"8dc83b29_201fcf43","line":44,"range":{"start_line":44,"start_character":21,"end_line":44,"end_character":24},"in_reply_to":"183afd7c_26fe1731","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"}],"source_content_type":"text/x-rst","patch_set":5,"id":"eb0486b6_5d67dc34","line":46,"range":{"start_line":46,"start_character":44,"end_line":46,"end_character":45},"updated":"2022-01-08 01:25:31.000000000","message":".","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"}],"source_content_type":"text/x-rst","patch_set":5,"id":"cbfadf37_fc7bdb9a","line":46,"range":{"start_line":46,"start_character":46,"end_line":46,"end_character":53},"updated":"2022-01-08 01:25:31.000000000","message":"Includes","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1d777c20_8ab99511","line":46,"range":{"start_line":46,"start_character":46,"end_line":46,"end_character":53},"in_reply_to":"cbfadf37_fc7bdb9a","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":"This spec proposes to do:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"}],"source_content_type":"text/x-rst","patch_set":5,"id":"8223c089_c83124b3","line":46,"range":{"start_line":46,"start_character":44,"end_line":46,"end_character":45},"in_reply_to":"eb0486b6_5d67dc34","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"},{"line_number":50,"context_line":"  be share, share network and so on."},{"line_number":51,"context_line":"- ``resource_id`` the uuid of resource which is being transferred."}],"source_content_type":"text/x-rst","patch_set":5,"id":"db76a05e_49f8ec26","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":1},"updated":"2022-01-08 01:25:31.000000000","message":"If you inspect the HTML document produced by Zuul [1], you\u0027ll notice these items are being rendered at the same level as the item above them (\"* Add a new table...\"). If you want to create a nested list, you should indent these lines. [2]\n\n[1] https://ae655092bbb5b4f5ee61-b3e81020c9d0d64d224068ffd33ef104.ssl.cf2.rackcdn.com/818854/5/check/openstack-tox-docs/3016106/docs-html.tar.gz\n[2] https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#lists-and-quote-like-blocks","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a new table, which named ``transfers``, Include the following fields:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- ``id`` the primary key of table."},{"line_number":49,"context_line":"- ``resource_type`` the type of resource which is being transferred, this can"},{"line_number":50,"context_line":"  be share, share network and so on."},{"line_number":51,"context_line":"- ``resource_id`` the uuid of resource which is being transferred."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a4aee12_b307d8e4","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":1},"in_reply_to":"db76a05e_49f8ec26","updated":"2022-01-10 09:52:55.000000000","message":"thanks, i will update it.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":58,"context_line":"- ``source_project_id`` the source project id of share."},{"line_number":59,"context_line":"- ``destination_project_id`` the destination project id of share."},{"line_number":60,"context_line":"- ``accepted`` whether the share has been accepted."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new status ``awaiting_transfer`` for shares, which is being"},{"line_number":63,"context_line":"  transferred."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"6ac80b40_e7a6a72c","line":61,"updated":"2022-01-07 13:09:12.000000000","message":"I think it would also be nice to add a status to this table, and have some predefined statues we could set the status to, for example:\ntransfer_accepted, transfer_declined, transfer_pending.\nA field called accepted with True or False values wouldn\u0027t give the users/admins a real idea if there\u0027s an action to be taken on such action.\nFor example:\nLet\u0027s suppose that 50 transfers already happened and they are going to be displayed every time someone performs share transfer list.\nThe requester would see a list that has the accepted field set to False, but he doesn\u0027t know if it was cancelled or if it\u0027s pending to accept... So I think would be nice to have this status and it could give more info on what is happening wrt share transfers. WDYT?\nIf you want to, we can keep only the status and remove the accepted as well, so there wouldn\u0027t have some sort of \"redundancy\"","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":true,"context_lines":[{"line_number":58,"context_line":"- ``source_project_id`` the source project id of share."},{"line_number":59,"context_line":"- ``destination_project_id`` the destination project id of share."},{"line_number":60,"context_line":"- ``accepted`` whether the share has been accepted."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new status ``awaiting_transfer`` for shares, which is being"},{"line_number":63,"context_line":"  transferred."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"be90ea55_bd64aed0","line":61,"in_reply_to":"6ac80b40_e7a6a72c","updated":"2022-01-10 09:52:55.000000000","message":"in this table we have \"deleted\" and \"accepted\",\nstatus \"transfer_accepted\" means deleted\u003dfalse  and  accepted\u003dtrue\nstatus \"transfer_declined\" means deleted\u003dtrue and  accepted\u003dfalse\nstatus \"transfer_pending\" means deleted\u003dfalse and  accepted\u003dfalse\n\ntransfer list will only get deleted\u003dfalse.\n\nso I think that\u0027s enough to represent all of these states. how do you think? did i miss something?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7a98983caedc342612f252483f7c3c9dd748142a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"- ``source_project_id`` the source project id of share."},{"line_number":59,"context_line":"- ``destination_project_id`` the destination project id of share."},{"line_number":60,"context_line":"- ``accepted`` whether the share has been accepted."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"* Add a new status ``awaiting_transfer`` for shares, which is being"},{"line_number":63,"context_line":"  transferred."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"0519d303_69b02a67","line":61,"in_reply_to":"be90ea55_bd64aed0","updated":"2022-01-11 23:43:43.000000000","message":"yes, this should cover... and in my humble opinion we could display this status to the user too :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Check the following before create share transfer:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."}],"source_content_type":"text/x-rst","patch_set":5,"id":"becdc657_6d8ba0b9","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":1},"updated":"2022-01-08 01:25:31.000000000","message":"See the comment in line 48.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Check the following before create share transfer:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ce9778aa_a83a08fb","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":1},"in_reply_to":"becdc657_6d8ba0b9","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Check the following before create share transfer:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"22a6d68d_d2430d3f","line":69,"range":{"start_line":67,"start_character":0,"end_line":69,"end_character":35},"updated":"2022-01-07 13:09:12.000000000","message":"is there need to check status of share instances and export locations too?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Check the following before create share transfer:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"74895d2a_80a04c10","line":69,"range":{"start_line":67,"start_character":0,"end_line":69,"end_character":35},"in_reply_to":"22a6d68d_d2430d3f","updated":"2022-01-10 09:52:55.000000000","message":"status of share can represent the first share instance of the share, other share instances will check in share_replica,\ni am not sure if we need or how to check export locations. 😞","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7a98983caedc342612f252483f7c3c9dd748142a","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Check the following before create share transfer:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- check the status of share and share_snapshot and share_replica before"},{"line_number":68,"context_line":"  create transfer, share and all share_snapshot must be ``available``, all"},{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."}],"source_content_type":"text/x-rst","patch_set":5,"id":"564cf6fb_d39cfecf","line":69,"range":{"start_line":67,"start_character":0,"end_line":69,"end_character":35},"in_reply_to":"74895d2a_80a04c10","updated":"2022-01-11 23:43:43.000000000","message":"The check for export locations would be something like seeing if there are export locations queued to apply or something like that. But we can talk about that during the implementation.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"b28c2a7d_1d541a90","line":72,"range":{"start_line":72,"start_character":10,"end_line":72,"end_character":11},"updated":"2022-01-08 01:25:31.000000000","message":"Missing a space.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"c2356063_f5d0199c","line":72,"updated":"2022-01-07 13:09:12.000000000","message":"should we also check if the share type is also visible to the other project?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"c592e8cd_c0bfbd7e","line":72,"range":{"start_line":72,"start_character":10,"end_line":72,"end_character":11},"in_reply_to":"b28c2a7d_1d541a90","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  share_replica must be ``active``."},{"line_number":70,"context_line":"- check whether the share in share group, share cannot be in a share group."},{"line_number":71,"context_line":"- check whether share has share network, this spec just supports the first"},{"line_number":72,"context_line":"  scenario(DHSS\u003dFalse), share without share network create share transfer."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* check the following before accept transfer:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1ce06caa_372fea69","line":72,"in_reply_to":"c2356063_f5d0199c","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":76,"context_line":"- check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type does not include the destination project, it will fail to"},{"line_number":81,"context_line":"  accept transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"},{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"}],"source_content_type":"text/x-rst","patch_set":5,"id":"480fd7f6_d13bfd90","line":81,"range":{"start_line":79,"start_character":2,"end_line":81,"end_character":18},"updated":"2022-01-07 13:09:12.000000000","message":"this could be checked on the request to transferring the share instead of the accepting one, right?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":76,"context_line":"- check quota of destination project, include project quota, project user"},{"line_number":77,"context_line":"  quota, project share type quota, per_share_gigabytes, make sure destination"},{"line_number":78,"context_line":"  project has enough remaining quota."},{"line_number":79,"context_line":"- if the share type of source share is not public, and the share type access"},{"line_number":80,"context_line":"  of share type does not include the destination project, it will fail to"},{"line_number":81,"context_line":"  accept transfer."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* For security reasons, a share transfer will be cancelled automatically if it"},{"line_number":84,"context_line":"  is not accepted one hour after creation. There will be a periodic task that"}],"source_content_type":"text/x-rst","patch_set":5,"id":"594c1e1c_9dfea275","line":81,"range":{"start_line":79,"start_character":2,"end_line":81,"end_character":18},"in_reply_to":"480fd7f6_d13bfd90","updated":"2022-01-10 09:52:55.000000000","message":"we don\u0027t know which project will accept the share when create transfer.\nso we can not check this in transfer create.\nfor example:\nshare type A is not public, but project AA and project BB can access share type A.\nwe also allow project BB to accept share from project AA.\nit can not be forbidden to create transfer in project AA.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":88,"context_line":"  CephFS driver stores the project_id as metadata. The parent class driver only"},{"line_number":89,"context_line":"  defines the function, but does not implement it."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* When accept a transfer, users can choose whether need to clear the share"},{"line_number":92,"context_line":"  access rule. By default, the share access rule will not be cleared."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Add new API for transfer-create, transfer-accept, transfer-delete, transfer-"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c04bf065_ce3ee3fb","line":91,"range":{"start_line":91,"start_character":7,"end_line":91,"end_character":13},"updated":"2022-01-08 01:25:31.000000000","message":"accepting","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  CephFS driver stores the project_id as metadata. The parent class driver only"},{"line_number":89,"context_line":"  defines the function, but does not implement it."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* When accept a transfer, users can choose whether need to clear the share"},{"line_number":92,"context_line":"  access rule. By default, the share access rule will not be cleared."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Add new API for transfer-create, transfer-accept, transfer-delete, transfer-"}],"source_content_type":"text/x-rst","patch_set":5,"id":"88e4de09_b2822c0b","line":91,"range":{"start_line":91,"start_character":7,"end_line":91,"end_character":13},"in_reply_to":"c04bf065_ce3ee3fb","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"14b6a2dc_eee95a42","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":3},"updated":"2022-01-08 01:25:31.000000000","message":"Looking at the HTML document [1], the JSON requests and responses are being rendered with grave accents before the first curly bracket and after the last. I suggest using the code-block directive [2] with the JSON lexer [3] to fix that. The only example I could find in the Manila-related repositories was this one. [4]\n\n[1] https://ae655092bbb5b4f5ee61-b3e81020c9d0d64d224068ffd33ef104.ssl.cf2.rackcdn.com/818854/5/check/openstack-tox-docs/3016106/docs-html.tar.gz\n[2] https://www.sphinx-doc.org/en/master/usage/restructuredtext/directives.html#directive-code-block\n[3] https://pygments.org/docs/lexers/?highlight\u003djson#pygments.lexers.data.JsonLexer\n[4] https://opendev.org/openstack/manila/src/branch/master/manila/api/v2/share_snapshots.py#L90","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"14e80cbce1a086cf874b3b10f86446d03e11ada0","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ee60b921_87fa682c","line":118,"updated":"2022-01-11 06:20:19.000000000","message":"thanks, Eduardo Santos.\nbut i found i can not see the json code in the rst preview of pycharm after i change this with the example.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e35e7508_460491c7","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":3},"in_reply_to":"14b6a2dc_eee95a42","updated":"2022-01-10 09:52:55.000000000","message":"I\u0027m not sure if I revised it correctly.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"8122c4374584ee4b39680c4b311a898dc947ec09","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"a0702e06_b4192ddf","line":118,"in_reply_to":"669082fb_18737488","updated":"2022-01-12 09:24:01.000000000","message":"thanks, i see it.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"1ee6b5eaad1b7506854a2e1db900ffc40a349e65","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ef6ee7f6_d0a57ef1","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":3},"in_reply_to":"e35e7508_460491c7","updated":"2022-01-10 14:21:49.000000000","message":"Almost! The .. code-block:: string is being put inside the code block along with the JSON object. I believe you should remove one colon from the Request Example:: and Response Example:: lines. When you put two colons in fron of a string, Docutils thinks it\u0027s a directive.\n\nI think this shouldn\u0027t be a problem, but I\u0027d align the start of the JSON object with the letter \u0027c\u0027 of code-blocks, just to be sure it renders properly.\n\nThe following example works for me when I build it: https://paste.opendev.org/show/811998/","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"090f392644d3220770d4f198f1bd9704e3014244","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"be233563_0107878e","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":3},"in_reply_to":"e635de62_e38c8daa","updated":"2022-01-11 14:46:35.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"090f392644d3220770d4f198f1bd9704e3014244","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"669082fb_18737488","line":118,"in_reply_to":"ee60b921_87fa682c","updated":"2022-01-11 14:46:35.000000000","message":"There\u0027s a chance PyCharm uses a different tool to render RST previews, but if you take a look at the HTML produced by Zuul [1], the JSON code blocks are nicely formatted with the correct syntax highlighting! :)\n\n[1] https://1fd93ff32a555bc48a73-5fe9d093373d887f2b09d5c4b981e1db.ssl.cf2.rackcdn.com/818854/7/check/openstack-tox-docs/489ad1c/docs-html.tar.gz","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"14e80cbce1a086cf874b3b10f86446d03e11ada0","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e635de62_e38c8daa","line":118,"range":{"start_line":118,"start_character":2,"end_line":118,"end_character":3},"in_reply_to":"ef6ee7f6_d0a57ef1","updated":"2022-01-11 06:20:19.000000000","message":"i fix it with your example, how about this time?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""},{"line_number":122,"context_line":"      }"},{"line_number":123,"context_line":"  }`"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Response Example::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c516abf9_5b5a06f4","line":122,"range":{"start_line":119,"start_character":6,"end_line":122,"end_character":7},"updated":"2022-01-07 13:09:12.000000000","message":"shouldn\u0027t this contain the destination project id as well?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Request Example::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  `{"},{"line_number":119,"context_line":"      \"transfer\": {"},{"line_number":120,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":121,"context_line":"          \"name\": \"share transfer\""},{"line_number":122,"context_line":"      }"},{"line_number":123,"context_line":"  }`"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Response Example::"}],"source_content_type":"text/x-rst","patch_set":5,"id":"24a050c7_823daf92","line":122,"range":{"start_line":119,"start_character":6,"end_line":122,"end_character":7},"in_reply_to":"c516abf9_5b5a06f4","updated":"2022-01-10 09:52:55.000000000","message":"this should not contain destination project id.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Response Example::"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  `{"},{"line_number":128,"context_line":"      \"transfer\": {"},{"line_number":129,"context_line":"          \"auth_key\": \"qbgcabtdbad29r08\","},{"line_number":130,"context_line":"          \"created_at\": \"2021-12-27T11:29:46.743632\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"b541d276_0b06bf84","line":127,"range":{"start_line":127,"start_character":2,"end_line":127,"end_character":3},"updated":"2022-01-08 01:25:31.000000000","message":"See the comment in line 118.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Response Example::"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  `{"},{"line_number":128,"context_line":"      \"transfer\": {"},{"line_number":129,"context_line":"          \"auth_key\": \"qbgcabtdbad29r08\","},{"line_number":130,"context_line":"          \"created_at\": \"2021-12-27T11:29:46.743632\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"d614da7e_47147249","line":127,"range":{"start_line":127,"start_character":2,"end_line":127,"end_character":3},"in_reply_to":"b541d276_0b06bf84","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":129,"context_line":"          \"auth_key\": \"qbgcabtdbad29r08\","},{"line_number":130,"context_line":"          \"created_at\": \"2021-12-27T11:29:46.743632\","},{"line_number":131,"context_line":"          \"name\": \"share transfer\","},{"line_number":132,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":133,"context_line":"      }"},{"line_number":134,"context_line":"  }`"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"694d229c_31b71c87","line":132,"updated":"2022-01-07 13:09:12.000000000","message":"same as above","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":129,"context_line":"          \"auth_key\": \"qbgcabtdbad29r08\","},{"line_number":130,"context_line":"          \"created_at\": \"2021-12-27T11:29:46.743632\","},{"line_number":131,"context_line":"          \"name\": \"share transfer\","},{"line_number":132,"context_line":"          \"share_id\": \"da8eb12e-123c-49ea-ae2b-5d42f02fa00e\","},{"line_number":133,"context_line":"      }"},{"line_number":134,"context_line":"  }`"},{"line_number":135,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"d4da3a82_e7ea8d47","line":132,"in_reply_to":"694d229c_31b71c87","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Request Example::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  `{"},{"line_number":146,"context_line":"      \"accept\": {"},{"line_number":147,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":148,"context_line":"      }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"96bef91a_6295849d","line":145,"range":{"start_line":145,"start_character":2,"end_line":145,"end_character":3},"updated":"2022-01-08 01:25:31.000000000","message":"See the comment in line 118.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Request Example::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  `{"},{"line_number":146,"context_line":"      \"accept\": {"},{"line_number":147,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":148,"context_line":"      }"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5def2945_caefa554","line":145,"range":{"start_line":145,"start_character":2,"end_line":145,"end_character":3},"in_reply_to":"96bef91a_6295849d","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  `{"},{"line_number":146,"context_line":"      \"accept\": {"},{"line_number":147,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":148,"context_line":"      }"},{"line_number":149,"context_line":"  }`"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3d55cf37_65c3c7e1","line":147,"range":{"start_line":147,"start_character":10,"end_line":147,"end_character":40},"updated":"2022-01-07 13:09:12.000000000","message":"should this request also have the transfer id?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  `{"},{"line_number":146,"context_line":"      \"accept\": {"},{"line_number":147,"context_line":"          \"auth_key\": \"6461646164641397\""},{"line_number":148,"context_line":"      }"},{"line_number":149,"context_line":"  }`"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffb143ad_f838a24e","line":147,"range":{"start_line":147,"start_character":10,"end_line":147,"end_character":40},"in_reply_to":"3d55cf37_65c3c7e1","updated":"2022-01-10 09:52:55.000000000","message":"transfer id is in request url.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* The command of create share transfer will be like::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    openstack share transfer create \u003cshare\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* The command of accept share transfer will be like::"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"b32f8784_214088cd","line":195,"updated":"2022-01-08 01:25:31.000000000","message":"Nit: You could also use the code-block directive for these OpenStackClient commands, as described in the comment in line 118, and use the Bash lexer [1]. I don\u0027t think this is necessary though, since the code blocks were rendered correctly as they are.\n\n[1] https://pygments.org/docs/lexers/#pygments.lexers.shell.BashLexer","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"1ee6b5eaad1b7506854a2e1db900ffc40a349e65","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* The command of create share transfer will be like::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    openstack share transfer create \u003cshare\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* The command of accept share transfer will be like::"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e6b3a205_e2952a9a","line":195,"in_reply_to":"4f99697a_2e00e1d9","updated":"2022-01-10 14:21:49.000000000","message":"Sure! An exmaple would be: https://paste.opendev.org/show/812000/\n\nBut since this is already working fine without the Bash lexer, I\u0027ll mark it as resolved.","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":true,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* The command of create share transfer will be like::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    openstack share transfer create \u003cshare\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* The command of accept share transfer will be like::"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"4f99697a_2e00e1d9","line":195,"in_reply_to":"b32f8784_214088cd","updated":"2022-01-10 09:52:55.000000000","message":"..sorry, i don\u0027t know how to rewrite it. :(\ncould you please fix one as an example?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"14e80cbce1a086cf874b3b10f86446d03e11ada0","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* The command of create share transfer will be like::"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    openstack share transfer create \u003cshare\u003e"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"* The command of accept share transfer will be like::"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"d8e9a1f4_85a3d04b","line":195,"in_reply_to":"e6b3a205_e2952a9a","updated":"2022-01-11 06:20:19.000000000","message":"ok， i will not chage this. :)","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":240,"context_line":"Work Items"},{"line_number":241,"context_line":"----------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"* Update API."},{"line_number":244,"context_line":"* Update Manager."},{"line_number":245,"context_line":"* Update Manila CLI commands."},{"line_number":246,"context_line":"* Update unit and tempest test."}],"source_content_type":"text/x-rst","patch_set":5,"id":"cb1cbbeb_79c248c5","line":243,"updated":"2022-01-07 13:09:12.000000000","message":"Database","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":240,"context_line":"Work Items"},{"line_number":241,"context_line":"----------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"* Update API."},{"line_number":244,"context_line":"* Update Manager."},{"line_number":245,"context_line":"* Update Manila CLI commands."},{"line_number":246,"context_line":"* Update unit and tempest test."}],"source_content_type":"text/x-rst","patch_set":5,"id":"2f0e3f5d_3805fe80","line":243,"in_reply_to":"cb1cbbeb_79c248c5","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd87dbcdda02dfe62b6dc15a0a43a37d0c703d66","unresolved":true,"context_lines":[{"line_number":265,"context_line":"The following OpenStack documentations will be updated to reflect this change:"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"* OpenStack User Guide"},{"line_number":268,"context_line":"* OpenStack API Reference"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"6e590733_918ef5fc","line":268,"updated":"2022-01-07 13:09:12.000000000","message":"Contributor guide?","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":265,"context_line":"The following OpenStack documentations will be updated to reflect this change:"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"* OpenStack User Guide"},{"line_number":268,"context_line":"* OpenStack API Reference"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"24a4a956_03dae9b0","line":268,"in_reply_to":"6e590733_918ef5fc","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Based on cinder transfer strategy，Include the following:"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/improve-volume-transfer-records"},{"line_number":276,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/transfer-snps-with-vols"}],"source_content_type":"text/x-rst","patch_set":5,"id":"946a8235_77e224b8","line":273,"range":{"start_line":273,"start_character":33,"end_line":273,"end_character":34},"updated":"2022-01-08 01:25:31.000000000","message":"Here you used a fullwidth comma. [1] I\u0027m not sure if it\u0027s okay to have Unicode characters in source files.\nAlso, didn\u0027t you mean to type a dot? Looks like it, since you capitalized \"Include\".\n\n[1] https://www.compart.com/en/unicode/U+FF0C","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":32411,"name":"Eduardo Santos","email":"eduardo.experimental@gmail.com","username":"ecsantos"},"change_message_id":"b4ae0bf65885da719dddc808a403df02eedaec25","unresolved":true,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Based on cinder transfer strategy，Include the following:"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/improve-volume-transfer-records"},{"line_number":276,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/transfer-snps-with-vols"}],"source_content_type":"text/x-rst","patch_set":5,"id":"afbc99d3_b90706cb","line":273,"range":{"start_line":273,"start_character":34,"end_line":273,"end_character":41},"updated":"2022-01-08 01:25:31.000000000","message":"Includes","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Based on cinder transfer strategy，Include the following:"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/improve-volume-transfer-records"},{"line_number":276,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/transfer-snps-with-vols"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ceae3a58_ecd6a0d6","line":273,"range":{"start_line":273,"start_character":33,"end_line":273,"end_character":34},"in_reply_to":"946a8235_77e224b8","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"680f4eb65e7f3f1e2f68437c4e96566a90678f67","unresolved":false,"context_lines":[{"line_number":270,"context_line":"References"},{"line_number":271,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Based on cinder transfer strategy，Include the following:"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/improve-volume-transfer-records"},{"line_number":276,"context_line":"* https://blueprints.launchpad.net/cinder/+spec/transfer-snps-with-vols"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c8d66aba_a46600fc","line":273,"range":{"start_line":273,"start_character":34,"end_line":273,"end_character":41},"in_reply_to":"afbc99d3_b90706cb","updated":"2022-01-10 09:52:55.000000000","message":"Done","commit_id":"a1b071973d4a75b9c1bc0bd20dd2d3cf54b819c5"}]}
