)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cbbb2d29_69022b27","updated":"2024-07-19 07:27:33.000000000","message":"hi, Kiran Pawar. some comments inline.","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"c866324cd3b73916a352593e93c1371f540647c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b28d48dc_2a7224c7","updated":"2024-07-23 03:06:19.000000000","message":"Overall code logic, so far there is no problem, just one comment.","commit_id":"822155637945bcfa689b3c81cc155dbf446fb4d4"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6bded47a_b2855d6a","updated":"2024-07-29 14:30:34.000000000","message":"Hey, Kiran! Thank you for working on this change. Added some minor comments inline.\n\nCould you please break this down into two changes? The Manila core feature changes should not be alongside any driver changes. If we find a bug in the driver and the implementation and is correct in the core, we will need to revert everything, so we should keep our changes granular.","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"01978079_cf9dbd89","updated":"2024-07-29 16:04:59.000000000","message":"I was preparing the different commits but recent reviews suggest to implement them in one. So I made it that way. nevertheless I have created two commits.","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"856a9a541a8c1a6d5f6cc282992b6b1b3f9c5573","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4f6205f3_f40bd7c0","in_reply_to":"6bded47a_b2855d6a","updated":"2024-07-29 14:31:42.000000000","message":"Sorry, the suggestion is: keep the core implementation on this change, and create a different change for the netapp driver and rebase it on top of this one.","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e9343107_ce5a6f8b","updated":"2024-07-30 16:07:27.000000000","message":"Thanks for working on the implementation. See my remarks.","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"9fe493d6ad0ab81cb1272fe6b67b86aa6ce59c93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c4ce6628_898ee44b","updated":"2024-07-30 07:56:31.000000000","message":"the code looks good to me now. thanks.","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9876affd_057ec803","updated":"2024-08-01 12:34:18.000000000","message":"Thanks Kiran to implementing this feature, I have few comment here","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"10e44b1874e7d4efc2119ec874bb892f8f96faab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8f966bbb_2cbb46c2","updated":"2024-08-13 15:23:49.000000000","message":"LGTM, thank you for working on this change, Kiran!","commit_id":"8c418e930dad215f6a3a40bbc51a57ec14a0f999"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"368ba044b800513e642845ac084daed19550c22f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2df988c0_40091772","updated":"2024-08-05 03:42:00.000000000","message":"LGTM.thanks","commit_id":"8c418e930dad215f6a3a40bbc51a57ec14a0f999"}],"manila/api/v2/shares.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":677,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":678,"context_line":"                                                  metadata)"},{"line_number":679,"context_line":"        return metadata"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"78c7f3ed_c97fc6ca","line":678,"range":{"start_line":678,"start_character":50,"end_line":678,"end_character":58},"updated":"2024-07-19 07:27:33.000000000","message":"shoule be:\n\n    metadata.get(\u0027metadata\u0027)\n    \nbecause self._create_metadata(req, resource_id, body) return \n{\u0027metadata\u0027: {\u0027key1\u0027: \u0027val1\u0027, \u0027key2\u0027:\u0027val2\u0027}}","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":677,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":678,"context_line":"                                                  metadata)"},{"line_number":679,"context_line":"        return metadata"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"27b195a2_19137615","line":678,"range":{"start_line":678,"start_character":50,"end_line":678,"end_character":58},"in_reply_to":"78c7f3ed_c97fc6ca","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":693,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":694,"context_line":"                                                  metadata)"},{"line_number":695,"context_line":"        return metadata"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ac4a621_657080a8","line":694,"range":{"start_line":694,"start_character":50,"end_line":694,"end_character":58},"updated":"2024-07-19 07:27:33.000000000","message":"metadata.get(\u0027metadata\u0027)","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":693,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":694,"context_line":"                                                  metadata)"},{"line_number":695,"context_line":"        return metadata"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"643e8c95_08b0e539","line":694,"range":{"start_line":694,"start_character":50,"end_line":694,"end_character":58},"in_reply_to":"7ac4a621_657080a8","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":710,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":711,"context_line":"                                                  metadata)"},{"line_number":712,"context_line":"        return metadata"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"07aac645_5d83e11e","line":711,"range":{"start_line":711,"start_character":50,"end_line":711,"end_character":58},"updated":"2024-07-19 07:27:33.000000000","message":"metadata.get(\u0027metadata\u0027)","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":710,"context_line":"        self.share_api.update_share_from_metadata(context, resource_id,"},{"line_number":711,"context_line":"                                                  metadata)"},{"line_number":712,"context_line":"        return metadata"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"fe6b4009_fd2b727e","line":711,"range":{"start_line":711,"start_character":50,"end_line":711,"end_character":58},"in_reply_to":"07aac645_5d83e11e","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":674,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":677,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":678,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":679,"context_line":"        return metadata"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"b2ffc859_8e05fbea","line":678,"range":{"start_line":677,"start_character":7,"end_line":678,"end_character":59},"updated":"2024-08-01 12:34:18.000000000","message":"When formatting long lines into multiple lines, Use one of the below formatting.\n\nself.share_api.update_share_from_metadata(\n            context,\n             resource_id,\n              metadata.get(\u0027metadata\u0027),\n              )\n or\n\nself.share_api.update_share_from_metadata(context,resource_id, \n                                          metadata.get(\u0027metadata\u0027))","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":674,"context_line":"        metadata \u003d self._create_metadata(req, resource_id, body)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":677,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":678,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":679,"context_line":"        return metadata"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"df07fc9a_d96d458d","line":678,"range":{"start_line":677,"start_character":7,"end_line":678,"end_character":59},"in_reply_to":"b2ffc859_8e05fbea","updated":"2024-08-01 15:39:31.000000000","message":"I think we are good as long as pep8 is green. I see lot of other references in the same file the way I written.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":690,"context_line":"        metadata \u003d self._update_all_metadata(req, resource_id, body)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":693,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":694,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":695,"context_line":"        return metadata"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"59db90f0_fccce476","line":694,"range":{"start_line":693,"start_character":7,"end_line":694,"end_character":59},"updated":"2024-08-01 12:34:18.000000000","message":"Same as above","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":690,"context_line":"        metadata \u003d self._update_all_metadata(req, resource_id, body)"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":693,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":694,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":695,"context_line":"        return metadata"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"b6fda174_b1676bf4","line":694,"range":{"start_line":693,"start_character":7,"end_line":694,"end_character":59},"in_reply_to":"59db90f0_fccce476","updated":"2024-08-01 15:39:31.000000000","message":"Acknowledged","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":707,"context_line":"        metadata \u003d self._update_metadata_item(req, resource_id, body, key)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":710,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":711,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":712,"context_line":"        return metadata"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"eed1d802_8768a210","line":711,"range":{"start_line":710,"start_character":8,"end_line":711,"end_character":59},"updated":"2024-08-01 12:34:18.000000000","message":"Same as above","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        metadata \u003d self._update_metadata_item(req, resource_id, body, key)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"        context \u003d req.environ[\u0027manila.context\u0027]"},{"line_number":710,"context_line":"        self.share_api.update_share_from_metadata("},{"line_number":711,"context_line":"            context, resource_id, metadata.get(\u0027metadata\u0027))"},{"line_number":712,"context_line":"        return metadata"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"    @wsgi.Controller.api_version(\"2.0\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"962826ad_d543753b","line":711,"range":{"start_line":710,"start_character":8,"end_line":711,"end_character":59},"in_reply_to":"eed1d802_8768a210","updated":"2024-08-01 15:39:31.000000000","message":"Acknowledged","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"}],"manila/common/config.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(i.e. key-value pair) can be passed to share drivers \u0027"},{"line_number":147,"context_line":"                     \u0027as part of metadata create/update operations.\u0027),"},{"line_number":148,"context_line":"]"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3152bbc0_545a895b","line":146,"range":{"start_line":146,"start_character":23,"end_line":146,"end_character":42},"updated":"2024-07-19 07:27:33.000000000","message":"element of the list is \u003cdriver_updatateble_key\u003e, i.e max_files","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(i.e. key-value pair) can be passed to share drivers \u0027"},{"line_number":147,"context_line":"                     \u0027as part of metadata create/update operations.\u0027),"},{"line_number":148,"context_line":"]"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c5f674db_0b0a7bae","line":146,"range":{"start_line":146,"start_character":23,"end_line":146,"end_character":42},"in_reply_to":"3152bbc0_545a895b","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":true,"context_lines":[{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatateble_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":148,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":149,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":4,"id":"931a7215_c24ec936","line":146,"range":{"start_line":146,"start_character":54,"end_line":146,"end_character":65},"updated":"2024-07-30 16:07:27.000000000","message":"updatable","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62a49e07104908c756646f4e792e9c0d4bb6caa0","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatateble_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":148,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":149,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":4,"id":"aa892e8f_9f2eec27","line":146,"range":{"start_line":146,"start_character":54,"end_line":146,"end_character":65},"in_reply_to":"931a7215_c24ec936","updated":"2024-07-31 07:37:12.000000000","message":"Done","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":141,"context_line":"                default\u003dconstants.AdminOnlyMetadata.SCHEDULER_FILTERS,"},{"line_number":142,"context_line":"                help\u003d\u0027Metadata keys that should only be manipulated by \u0027"},{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"973c6832_0bfe2c7b","line":144,"range":{"start_line":144,"start_character":4,"end_line":144,"end_character":43},"updated":"2024-08-01 12:34:18.000000000","message":"Add the default value as default\u003d[] for this option","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                default\u003dconstants.AdminOnlyMetadata.SCHEDULER_FILTERS,"},{"line_number":142,"context_line":"                help\u003d\u0027Metadata keys that should only be manipulated by \u0027"},{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"2a843619_3864d95c","line":144,"range":{"start_line":144,"start_character":4,"end_line":144,"end_character":43},"in_reply_to":"973c6832_0bfe2c7b","updated":"2024-08-01 15:39:31.000000000","message":"Done","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":142,"context_line":"                help\u003d\u0027Metadata keys that should only be manipulated by \u0027"},{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":148,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":149,"context_line":"]"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CONF.register_opts(global_opts)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"8d2586ec_eb995489","line":149,"range":{"start_line":145,"start_character":16,"end_line":149,"end_character":1},"updated":"2024-08-01 12:34:18.000000000","message":"So, this option is require to validate whether we are passing right parameter for share creation and update. I have few point here.\n1. From the code, I can say that the keys are not specific to the driver, they are generic. So, is it a good idea to update those keys in the manila.conf file? We can update that information in some common file and use it. If there is a long list of keys, then is it good practice to maintain those keys in a config file.\n\n2. There might be chance the user remove and update the key so each time admin has to restart the service. res-starting service one and 2 time is fine but if we restart each time when we add the new key then this is not good. \n\n2.There might be a chance that the user removes or add the new key, so each time \nif we are modifying \"driver_updatable_metadata\" value we need to restart the service. Restarting service one and two time is fine but here I am seeing there might be chance when user can restart the service multiple time. exp. Initially he added few keys and miss to update some other keys etc .","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":142,"context_line":"                help\u003d\u0027Metadata keys that should only be manipulated by \u0027"},{"line_number":143,"context_line":"                     \u0027administrators.\u0027),"},{"line_number":144,"context_line":"    cfg.ListOpt(\u0027driver_updatable_metadata\u0027,"},{"line_number":145,"context_line":"                help\u003d\u0027Metadata keys that will decide which share metadata \u0027"},{"line_number":146,"context_line":"                     \u0027(element of the list is \u003cdriver_updatable_key\u003e, \u0027"},{"line_number":147,"context_line":"                     \u0027i.e max_files) can be passed to share drivers as part \u0027"},{"line_number":148,"context_line":"                     \u0027of metadata create/update operations.\u0027),"},{"line_number":149,"context_line":"]"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"CONF.register_opts(global_opts)"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"d178bc2f_5b6893d3","line":149,"range":{"start_line":145,"start_character":16,"end_line":149,"end_character":1},"in_reply_to":"8d2586ec_eb995489","updated":"2024-08-01 15:39:31.000000000","message":"this list is similar to other option e.g. admin_only_metadata. I agree restarting service multiple times is not good option, but even in production this mostly affect manila-api pod which are having multiple replicas/instances and should be ok with redeployment.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"}],"manila/message/message_field.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        UPDATE_ACCESS_RULES,"},{"line_number":52,"context_line":"        ADD_UPDATE_SECURITY_SERVICE,"},{"line_number":53,"context_line":"        TRANSFER_ACCEPT,"},{"line_number":54,"context_line":"        UPDATE_METADATA"},{"line_number":55,"context_line":"    )"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"2337d8c4_5d64a8d1","line":54,"updated":"2024-07-30 16:07:27.000000000","message":"please add a comma at the end to keep consistent","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62a49e07104908c756646f4e792e9c0d4bb6caa0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        UPDATE_ACCESS_RULES,"},{"line_number":52,"context_line":"        ADD_UPDATE_SECURITY_SERVICE,"},{"line_number":53,"context_line":"        TRANSFER_ACCEPT,"},{"line_number":54,"context_line":"        UPDATE_METADATA"},{"line_number":55,"context_line":"    )"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9feb5fb4_ea2b56d9","line":54,"in_reply_to":"2337d8c4_5d64a8d1","updated":"2024-07-31 07:37:12.000000000","message":"Done","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":true,"context_lines":[{"line_number":158,"context_line":"          \"retrying does not help.\"))"},{"line_number":159,"context_line":"    UPDATE_METADATA_SUCCESS \u003d ("},{"line_number":160,"context_line":"        \u0027029\u0027,"},{"line_number":161,"context_line":"        _(\"Metadata passed to share driver succeed to perform required \""},{"line_number":162,"context_line":"          \"operation.\"))"},{"line_number":163,"context_line":"    UPDATE_METADATA_FAILURE \u003d ("},{"line_number":164,"context_line":"        \u0027030\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"dccfe807_04604efd","line":161,"range":{"start_line":161,"start_character":43,"end_line":161,"end_character":50},"updated":"2024-07-30 16:07:27.000000000","message":"succeeded","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62a49e07104908c756646f4e792e9c0d4bb6caa0","unresolved":false,"context_lines":[{"line_number":158,"context_line":"          \"retrying does not help.\"))"},{"line_number":159,"context_line":"    UPDATE_METADATA_SUCCESS \u003d ("},{"line_number":160,"context_line":"        \u0027029\u0027,"},{"line_number":161,"context_line":"        _(\"Metadata passed to share driver succeed to perform required \""},{"line_number":162,"context_line":"          \"operation.\"))"},{"line_number":163,"context_line":"    UPDATE_METADATA_FAILURE \u003d ("},{"line_number":164,"context_line":"        \u0027030\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"8ad4ebf7_0195c33a","line":161,"range":{"start_line":161,"start_character":43,"end_line":161,"end_character":50},"in_reply_to":"02720825_62c01832","updated":"2024-07-31 07:37:12.000000000","message":"Done","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"e4ee3364bd7dec2d2d5a9fdfddb470f6ed14e2a0","unresolved":true,"context_lines":[{"line_number":158,"context_line":"          \"retrying does not help.\"))"},{"line_number":159,"context_line":"    UPDATE_METADATA_SUCCESS \u003d ("},{"line_number":160,"context_line":"        \u0027029\u0027,"},{"line_number":161,"context_line":"        _(\"Metadata passed to share driver succeed to perform required \""},{"line_number":162,"context_line":"          \"operation.\"))"},{"line_number":163,"context_line":"    UPDATE_METADATA_FAILURE \u003d ("},{"line_number":164,"context_line":"        \u0027030\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"02720825_62c01832","line":161,"range":{"start_line":161,"start_character":43,"end_line":161,"end_character":50},"in_reply_to":"dccfe807_04604efd","updated":"2024-07-30 20:17:58.000000000","message":"\"successfully performed required operations\" is better","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"}],"manila/share/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":532,"context_line":"        metadata_from_share_type \u003d {}"},{"line_number":533,"context_line":"        for k, v in extra_specs.items():"},{"line_number":534,"context_line":"            try:"},{"line_number":535,"context_line":"                pref, m_k \u003d k.split(\u0027:\u0027)"},{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"f72d6aa5_82ad5f1c","line":535,"range":{"start_line":535,"start_character":16,"end_line":535,"end_character":20},"updated":"2024-07-29 14:30:34.000000000","message":"please use more descriptive names","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":532,"context_line":"        metadata_from_share_type \u003d {}"},{"line_number":533,"context_line":"        for k, v in extra_specs.items():"},{"line_number":534,"context_line":"            try:"},{"line_number":535,"context_line":"                pref, m_k \u003d k.split(\u0027:\u0027)"},{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"528ba00c_bf5bca76","line":535,"range":{"start_line":535,"start_character":22,"end_line":535,"end_character":25},"updated":"2024-07-29 14:30:34.000000000","message":"same","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        metadata_from_share_type \u003d {}"},{"line_number":533,"context_line":"        for k, v in extra_specs.items():"},{"line_number":534,"context_line":"            try:"},{"line_number":535,"context_line":"                pref, m_k \u003d k.split(\u0027:\u0027)"},{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"22d72523_76f856d5","line":535,"range":{"start_line":535,"start_character":22,"end_line":535,"end_character":25},"in_reply_to":"528ba00c_bf5bca76","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        metadata_from_share_type \u003d {}"},{"line_number":533,"context_line":"        for k, v in extra_specs.items():"},{"line_number":534,"context_line":"            try:"},{"line_number":535,"context_line":"                pref, m_k \u003d k.split(\u0027:\u0027)"},{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"0311bf17_95d04167","line":535,"range":{"start_line":535,"start_character":16,"end_line":535,"end_character":20},"in_reply_to":"f72d6aa5_82ad5f1c","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":true,"context_lines":[{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"            if prefix.lower() \u003d\u003d \u0027provisioning\u0027:"},{"line_number":540,"context_line":"                continue"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"            if metadata_key in driver_keys:"}],"source_content_type":"text/x-python","patch_set":4,"id":"d5483482_61161969","line":539,"range":{"start_line":539,"start_character":12,"end_line":539,"end_character":48},"updated":"2024-07-30 16:07:27.000000000","message":"Can you please leave some comment in code, why this prefix is skipped?","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62a49e07104908c756646f4e792e9c0d4bb6caa0","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"            if prefix.lower() \u003d\u003d \u0027provisioning\u0027:"},{"line_number":540,"context_line":"                continue"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"            if metadata_key in driver_keys:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6cec0f2c_5355d854","line":539,"range":{"start_line":539,"start_character":12,"end_line":539,"end_character":48},"in_reply_to":"d219cfe8_5c10d6e5","updated":"2024-07-31 07:37:12.000000000","message":"Done","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"a3d38e58aa82baba128d7f1484a1999d8725b962","unresolved":true,"context_lines":[{"line_number":536,"context_line":"            except Exception:"},{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"            if prefix.lower() \u003d\u003d \u0027provisioning\u0027:"},{"line_number":540,"context_line":"                continue"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"            if metadata_key in driver_keys:"}],"source_content_type":"text/x-python","patch_set":4,"id":"d219cfe8_5c10d6e5","line":539,"range":{"start_line":539,"start_character":12,"end_line":539,"end_character":48},"in_reply_to":"d5483482_61161969","updated":"2024-07-31 01:23:09.000000000","message":"provisioning is often used as a specific prefix to an extra spec to describe the share type as having special limitations. For example, in manila/common/constants.py:\nPROVISIONING_MAX_SHARE_SIZE \u003d \"provisioning:max_share_size\"\nPROVISIONING_MIN_SHARE_SIZE \u003d \"provisioning:min_share_size\"\nPROVISIONING_MAX_SHARE_EXTEND_SIZE \u003d \"provisioning:max_share_extend_size\"\nPROVISIONING_MOUNT_POINT_PREFIX \u003d \"provisioning:mount_point_prefix\"\n\nThese extra specs do not go through the capabilities filter in scheduler layer.\nThe prefix here should be the name of the storage vendor, and provisioning must not be a vendor name, so it is skipped.\n\ni agree leave some comment here.","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"            # consider prefix only with valid storage driver"},{"line_number":540,"context_line":"            if prefix.lower() \u003d\u003d \u0027provisioning\u0027:"},{"line_number":541,"context_line":"                continue"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"            if metadata_key in driver_keys:"},{"line_number":544,"context_line":"                metadata_from_share_type.update({metadata_key: v})"}],"source_content_type":"text/x-python","patch_set":5,"id":"61578bea_d8076c37","line":541,"range":{"start_line":540,"start_character":12,"end_line":541,"end_character":24},"updated":"2024-08-01 12:34:18.000000000","message":"Why this condition require, which extra specs has \"provisioning:\u003cspes-key\u003e\" value.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":537,"context_line":"                continue"},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"            # consider prefix only with valid storage driver"},{"line_number":540,"context_line":"            if prefix.lower() \u003d\u003d \u0027provisioning\u0027:"},{"line_number":541,"context_line":"                continue"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"            if metadata_key in driver_keys:"},{"line_number":544,"context_line":"                metadata_from_share_type.update({metadata_key: v})"}],"source_content_type":"text/x-python","patch_set":5,"id":"b614e21a_d57157d3","line":541,"range":{"start_line":540,"start_character":12,"end_line":541,"end_character":24},"in_reply_to":"61578bea_d8076c37","updated":"2024-08-01 15:39:31.000000000","message":"please check manila/share/share_types.py, this is special case that needs to be handled.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"c866324cd3b73916a352593e93c1371f540647c1","unresolved":true,"context_lines":[{"line_number":5017,"context_line":""},{"line_number":5018,"context_line":"    @na_utils.trace"},{"line_number":5019,"context_line":"    def update_share_from_metadata(self, context, share, metadata):"},{"line_number":5020,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"ce4b7f97_c23f84f4","line":5020,"range":{"start_line":5020,"start_character":8,"end_line":5020,"end_character":12},"updated":"2024-07-23 03:06:19.000000000","message":"why not complete it? We can use netapp\u0027s modifications to set an example for other vendor drivers","commit_id":"822155637945bcfa689b3c81cc155dbf446fb4d4"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8ac6f1cf6842bf78e410164206c5d5cc38b99c6f","unresolved":false,"context_lines":[{"line_number":5017,"context_line":""},{"line_number":5018,"context_line":"    @na_utils.trace"},{"line_number":5019,"context_line":"    def update_share_from_metadata(self, context, share, metadata):"},{"line_number":5020,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"3b5d4131_d65d03c1","line":5020,"range":{"start_line":5020,"start_character":8,"end_line":5020,"end_character":12},"in_reply_to":"ce4b7f97_c23f84f4","updated":"2024-07-24 11:44:26.000000000","message":"Chuan also asked the same, so I updated PR.","commit_id":"822155637945bcfa689b3c81cc155dbf446fb4d4"}],"manila/share/manager.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"},{"line_number":6767,"context_line":"                message_field.Action.UPADTE_METADATA,"},{"line_number":6768,"context_line":"                share[\u0027project_id\u0027],"},{"line_number":6769,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6770,"context_line":"                resource_id\u003dshare_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ed022278_c2322e67","line":6767,"range":{"start_line":6767,"start_character":37,"end_line":6767,"end_character":52},"updated":"2024-07-19 07:27:33.000000000","message":"UPDATE_METADATA","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"},{"line_number":6767,"context_line":"                message_field.Action.UPADTE_METADATA,"},{"line_number":6768,"context_line":"                share[\u0027project_id\u0027],"},{"line_number":6769,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6770,"context_line":"                resource_id\u003dshare_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4dd5dbf3_5155a851","line":6767,"range":{"start_line":6767,"start_character":37,"end_line":6767,"end_character":52},"in_reply_to":"ed022278_c2322e67","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"0b0ce92bbbf3a288dc8c1144854f9a58a65808a6","unresolved":true,"context_lines":[{"line_number":6772,"context_line":"        except Exception:"},{"line_number":6773,"context_line":"            self.message_api.create("},{"line_number":6774,"context_line":"                context,"},{"line_number":6775,"context_line":"                message_field.Action.UPADTE_METADATA,"},{"line_number":6776,"context_line":"                share[\u0027project_id\u0027],"},{"line_number":6777,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6778,"context_line":"                resource_id\u003dshare_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"873467d7_4ef8ebf6","line":6775,"range":{"start_line":6775,"start_character":37,"end_line":6775,"end_character":52},"updated":"2024-07-19 07:27:33.000000000","message":"UPDATE_METADATA","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"c7ffab1719a0455b2ef0087cdaa27608f98ebabf","unresolved":false,"context_lines":[{"line_number":6772,"context_line":"        except Exception:"},{"line_number":6773,"context_line":"            self.message_api.create("},{"line_number":6774,"context_line":"                context,"},{"line_number":6775,"context_line":"                message_field.Action.UPADTE_METADATA,"},{"line_number":6776,"context_line":"                share[\u0027project_id\u0027],"},{"line_number":6777,"context_line":"                resource_type\u003dmessage_field.Resource.SHARE,"},{"line_number":6778,"context_line":"                resource_id\u003dshare_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"c34af477_fcf585fc","line":6775,"range":{"start_line":6775,"start_character":37,"end_line":6775,"end_character":52},"in_reply_to":"873467d7_4ef8ebf6","updated":"2024-07-19 10:35:08.000000000","message":"Done","commit_id":"10666155d0a41eccf406c9ef221eaa34cdf1d70b"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":6756,"context_line":"        self._check_share_network_update_finished("},{"line_number":6757,"context_line":"            context, share_network_id\u003dshare_network[\u0027id\u0027])"},{"line_number":6758,"context_line":""},{"line_number":6759,"context_line":"    def update_share_from_metadata(self, context, share_id, metadata):"},{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"e0873fc5_c0dc8792","line":6759,"range":{"start_line":6759,"start_character":4,"end_line":6759,"end_character":70},"updated":"2024-08-01 12:34:18.000000000","message":"So what we are achieving here is to modify the share based on valid metadata (only those meta data will be updated whose keys are in manila.conf file), please correct me if I am wrong here.\n\nSo, we are not only updating the share with meta data, but we are using extra-specs and metadata to create the share, in this case we should update the create_share_instance method in this file, right ..?","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":6756,"context_line":"        self._check_share_network_update_finished("},{"line_number":6757,"context_line":"            context, share_network_id\u003dshare_network[\u0027id\u0027])"},{"line_number":6758,"context_line":""},{"line_number":6759,"context_line":"    def update_share_from_metadata(self, context, share_id, metadata):"},{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"552c0348_215d2210","line":6759,"range":{"start_line":6759,"start_character":4,"end_line":6759,"end_character":70},"in_reply_to":"e0873fc5_c0dc8792","updated":"2024-08-01 15:39:31.000000000","message":"create_share_instance passes share instance with share data, so backend should just invoke internal method to take action based on metadata.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"},{"line_number":6763,"context_line":"            self.driver.update_share_from_metadata("},{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"c6c46cd0_226c02aa","line":6763,"range":{"start_line":6763,"start_character":16,"end_line":6763,"end_character":50},"updated":"2024-08-01 12:34:18.000000000","message":"driver might be different implementation for DHHS\u003dtrue and DHHS\u003dfalse, so we need to pass the share_server to driver ..?","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"368ba044b800513e642845ac084daed19550c22f","unresolved":true,"context_lines":[{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"},{"line_number":6763,"context_line":"            self.driver.update_share_from_metadata("},{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"041ab538_2dbb3d50","line":6763,"range":{"start_line":6763,"start_character":16,"end_line":6763,"end_character":50},"in_reply_to":"30ef1835_18b204f0","updated":"2024-08-05 03:42:00.000000000","message":"share_instance has share_server_id. so i think no need pass share server to driver.\nwe can also get share_server_id in DHSS\u003dtrue driver.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":true,"context_lines":[{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"},{"line_number":6763,"context_line":"            self.driver.update_share_from_metadata("},{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"}],"source_content_type":"text/x-python","patch_set":5,"id":"30ef1835_18b204f0","line":6763,"range":{"start_line":6763,"start_character":16,"end_line":6763,"end_character":50},"in_reply_to":"c6c46cd0_226c02aa","updated":"2024-08-01 15:39:31.000000000","message":"depends, what metadata suppose to do.","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"68022076a77498f2d2fb37843a6b0b39510baf8d","unresolved":true,"context_lines":[{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"},{"line_number":6763,"context_line":"            self.driver.update_share_from_metadata("},{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"},{"line_number":6767,"context_line":"                message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":5,"id":"493d9500_5b56f591","line":6764,"range":{"start_line":6763,"start_character":12,"end_line":6764,"end_character":50},"updated":"2024-08-01 12:34:18.000000000","message":"Stick to one of the 2 formatting style \n self.driver.update_share_from_metadata(\n                context, \n                share_instance,\n                 metadata\n                 )\n               or\n  self.driver.update_share_from_metadata( context, share_instance,\n                                          metadata)","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9379e38b83893bead2ebeddc237f692c57271567","unresolved":false,"context_lines":[{"line_number":6760,"context_line":"        share \u003d self.db.share_get(context, share_id)"},{"line_number":6761,"context_line":"        share_instance \u003d self._get_share_instance(context, share)"},{"line_number":6762,"context_line":"        try:"},{"line_number":6763,"context_line":"            self.driver.update_share_from_metadata("},{"line_number":6764,"context_line":"                context, share_instance, metadata)"},{"line_number":6765,"context_line":"            self.message_api.create("},{"line_number":6766,"context_line":"                context,"},{"line_number":6767,"context_line":"                message_field.Action.UPDATE_METADATA,"}],"source_content_type":"text/x-python","patch_set":5,"id":"dc7d7ce2_862bf004","line":6764,"range":{"start_line":6763,"start_character":12,"end_line":6764,"end_character":50},"in_reply_to":"493d9500_5b56f591","updated":"2024-08-01 15:39:31.000000000","message":"Acknowledged","commit_id":"e01d9a7fb65d6b2e796ca0d083f59c3b58278d0d"}],"manila/tests/share/test_api.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ba7dd905a73431d98c3dff7921ce632c40f3ec25","unresolved":true,"context_lines":[{"line_number":650,"context_line":"        self._get_all_filter_metadata_or_extra_specs_invalid(key\u003d\u0027extra_specs\u0027)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    @ddt.data(True, False)"},{"line_number":653,"context_line":"    def test_update_metadata_from_share_type_extra_specs(self, with_metadata):"},{"line_number":654,"context_line":"        share_type \u003d fakes.fake_share_type("},{"line_number":655,"context_line":"            extra_specs\u003d{"},{"line_number":656,"context_line":"                \u0027driver_handles_share_servers\u0027: \u0027False\u0027,"},{"line_number":657,"context_line":"                \u0027fake_driver:dedupe\u0027: \u0027True\u0027,"},{"line_number":658,"context_line":"                \u0027fake_driver:snapshot_policy\u0027: \u0027daily\u0027,"},{"line_number":659,"context_line":"                \u0027provisioning:max_share_size\u0027: 10"},{"line_number":660,"context_line":"            }"},{"line_number":661,"context_line":"        )"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        user_metadata \u003d {}"},{"line_number":664,"context_line":"        if with_metadata:"},{"line_number":665,"context_line":"            user_metadata \u003d {\u0027snapshot_policy\u0027: \u0027monthly\u0027, \u0027tag\u0027: \u0027t1\u0027}"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        CONF.set_default("},{"line_number":668,"context_line":"            \"driver_updatable_metadata\","},{"line_number":669,"context_line":"            [\u0027dedupe\u0027, \u0027snapshot_policy\u0027, \u0027thin_provisioning\u0027],"},{"line_number":670,"context_line":"        )"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        result \u003d self.api.update_metadata_from_share_type_extra_specs("},{"line_number":673,"context_line":"            self.context,"},{"line_number":674,"context_line":"            share_type,"},{"line_number":675,"context_line":"            user_metadata"},{"line_number":676,"context_line":"        )"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if with_metadata:"},{"line_number":679,"context_line":"            self.assertEqual("},{"line_number":680,"context_line":"                result,"},{"line_number":681,"context_line":"                {\u0027dedupe\u0027: \u0027True\u0027, \u0027snapshot_policy\u0027: \u0027monthly\u0027, \u0027tag\u0027: \u0027t1\u0027})"},{"line_number":682,"context_line":"        else:"},{"line_number":683,"context_line":"            self.assertEqual("},{"line_number":684,"context_line":"                result,"},{"line_number":685,"context_line":"                {\u0027dedupe\u0027: \u0027True\u0027, \u0027snapshot_policy\u0027: \u0027daily\u0027})"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def test_update_share_from_metadata(self):"},{"line_number":688,"context_line":"        CONF.set_default("},{"line_number":689,"context_line":"            \"driver_updatable_metadata\","}],"source_content_type":"text/x-python","patch_set":4,"id":"39791288_488b6cae","line":686,"range":{"start_line":653,"start_character":4,"end_line":686,"end_character":0},"updated":"2024-07-30 16:07:27.000000000","message":"Can you add more test scenarios for different edge cases, please?\n\nE.g. user adds `max_share_size`, this should not be updated.\n\nE.g. \u0027fake_driver:encrypt\u0027: \u0027True\u0027 is an extra spec, but \u0027encrypt\u0027 is no driver_updatable_metadata and is not updated by user metadata \u0027encrypt\u0027: \u0027False\u0027.","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"62a49e07104908c756646f4e792e9c0d4bb6caa0","unresolved":false,"context_lines":[{"line_number":650,"context_line":"        self._get_all_filter_metadata_or_extra_specs_invalid(key\u003d\u0027extra_specs\u0027)"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    @ddt.data(True, False)"},{"line_number":653,"context_line":"    def test_update_metadata_from_share_type_extra_specs(self, with_metadata):"},{"line_number":654,"context_line":"        share_type \u003d fakes.fake_share_type("},{"line_number":655,"context_line":"            extra_specs\u003d{"},{"line_number":656,"context_line":"                \u0027driver_handles_share_servers\u0027: \u0027False\u0027,"},{"line_number":657,"context_line":"                \u0027fake_driver:dedupe\u0027: \u0027True\u0027,"},{"line_number":658,"context_line":"                \u0027fake_driver:snapshot_policy\u0027: \u0027daily\u0027,"},{"line_number":659,"context_line":"                \u0027provisioning:max_share_size\u0027: 10"},{"line_number":660,"context_line":"            }"},{"line_number":661,"context_line":"        )"},{"line_number":662,"context_line":""},{"line_number":663,"context_line":"        user_metadata \u003d {}"},{"line_number":664,"context_line":"        if with_metadata:"},{"line_number":665,"context_line":"            user_metadata \u003d {\u0027snapshot_policy\u0027: \u0027monthly\u0027, \u0027tag\u0027: \u0027t1\u0027}"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        CONF.set_default("},{"line_number":668,"context_line":"            \"driver_updatable_metadata\","},{"line_number":669,"context_line":"            [\u0027dedupe\u0027, \u0027snapshot_policy\u0027, \u0027thin_provisioning\u0027],"},{"line_number":670,"context_line":"        )"},{"line_number":671,"context_line":""},{"line_number":672,"context_line":"        result \u003d self.api.update_metadata_from_share_type_extra_specs("},{"line_number":673,"context_line":"            self.context,"},{"line_number":674,"context_line":"            share_type,"},{"line_number":675,"context_line":"            user_metadata"},{"line_number":676,"context_line":"        )"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        if with_metadata:"},{"line_number":679,"context_line":"            self.assertEqual("},{"line_number":680,"context_line":"                result,"},{"line_number":681,"context_line":"                {\u0027dedupe\u0027: \u0027True\u0027, \u0027snapshot_policy\u0027: \u0027monthly\u0027, \u0027tag\u0027: \u0027t1\u0027})"},{"line_number":682,"context_line":"        else:"},{"line_number":683,"context_line":"            self.assertEqual("},{"line_number":684,"context_line":"                result,"},{"line_number":685,"context_line":"                {\u0027dedupe\u0027: \u0027True\u0027, \u0027snapshot_policy\u0027: \u0027daily\u0027})"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"    def test_update_share_from_metadata(self):"},{"line_number":688,"context_line":"        CONF.set_default("},{"line_number":689,"context_line":"            \"driver_updatable_metadata\","}],"source_content_type":"text/x-python","patch_set":4,"id":"334cab83_fa7e187c","line":686,"range":{"start_line":653,"start_character":4,"end_line":686,"end_character":0},"in_reply_to":"39791288_488b6cae","updated":"2024-07-31 07:37:12.000000000","message":"Done, this function update metadata which goes in db. so if user adds \u0027max_share_size\u0027 it will be updated to go in db, but it wont go to share driver backend. that is taken care in below function \"update_share_from_metadata\"()","commit_id":"e4653082867fe9546fac8b5c3264f2494bc148b5"}],"releasenotes/notes/bp-pass-resource-metadata-updates-to-backend-drivers-7fff302f64fda2d7.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"abb680f7_6e123079","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"updated":"2024-07-29 14:30:34.000000000","message":"OpenStack operators","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9227021c_2ec1f01f","line":4,"range":{"start_line":4,"start_character":71,"end_line":4,"end_character":77},"updated":"2024-07-29 14:30:34.000000000","message":"determine","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bf36dc66_4abd1954","line":4,"range":{"start_line":4,"start_character":18,"end_line":4,"end_character":21},"updated":"2024-07-29 14:30:34.000000000","message":"make use of a ...","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"0b78089a_3c2d09c6","line":4,"range":{"start_line":4,"start_character":39,"end_line":4,"end_character":41},"updated":"2024-07-29 14:30:34.000000000","message":"named","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"c7f43116_dee373fc","line":4,"range":{"start_line":4,"start_character":39,"end_line":4,"end_character":41},"in_reply_to":"0b78089a_3c2d09c6","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"49f7a43d_7ceb9ad4","line":4,"range":{"start_line":4,"start_character":71,"end_line":4,"end_character":77},"in_reply_to":"9227021c_2ec1f01f","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"e2e7be06_e0ca2895","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":9},"in_reply_to":"abb680f7_6e123079","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ed27a71c_95b4140c","line":4,"range":{"start_line":4,"start_character":18,"end_line":4,"end_character":21},"in_reply_to":"bf36dc66_4abd1954","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"},{"line_number":8,"context_line":"    driver. Backend driver then can perform necessary action from provided"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"40446a67_b063cf0d","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":67},"updated":"2024-07-29 14:30:34.000000000","message":"the back end driver needs to be notified about.","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"},{"line_number":8,"context_line":"    driver. Backend driver then can perform necessary action from provided"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"be54831a_a32e8980","line":5,"range":{"start_line":5,"start_character":33,"end_line":5,"end_character":67},"in_reply_to":"40446a67_b063cf0d","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7c454b760c0b4c0fae63801e07112a3326e28fc5","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"},{"line_number":8,"context_line":"    driver. Backend driver then can perform necessary action from provided"},{"line_number":9,"context_line":"    metadata (i.e. key-value pair) and result will be communicated to end-user"},{"line_number":10,"context_line":"    using message."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"cfbdaba2_5adaf23b","line":10,"range":{"start_line":6,"start_character":56,"end_line":10,"end_character":18},"updated":"2024-07-29 14:30:34.000000000","message":"```suggestion\n    When the share\u0027s metadata gets updated and Manila identifies that the new\n    metadata keys match the metadata keys from the provided list, the share\n    back end will be notified and it will apply the necessary changes. The\n    result will be communicated through user messages.\n```","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8581b0d46670c1da639aabadda2bccaa24d6c467","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Admin can now use new config option `driver_updatable_metadata` to decide"},{"line_number":5,"context_line":"    which share metadata updates needs to provide to backend driver. The"},{"line_number":6,"context_line":"    config option contains list of share metadata keys. Any update to share"},{"line_number":7,"context_line":"    metadata where if key is present in this list, will be passed to backend"},{"line_number":8,"context_line":"    driver. Backend driver then can perform necessary action from provided"},{"line_number":9,"context_line":"    metadata (i.e. key-value pair) and result will be communicated to end-user"},{"line_number":10,"context_line":"    using message."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"8593ba94_8d5f74a8","line":10,"range":{"start_line":6,"start_character":56,"end_line":10,"end_character":18},"in_reply_to":"cfbdaba2_5adaf23b","updated":"2024-07-29 16:04:59.000000000","message":"Done","commit_id":"76552980b61ecdfb38ae94fed400f88d4f203b0c"}]}
