)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e0e9a2c80c8da3bc007a613c5749c42358a37c1e","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a new config option to specify admin metadata"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- A new config option named ``admin_metadata_keys`` was introduced"},{"line_number":10,"context_line":"and we expect it to be set in the DEFAULT section of the manila"},{"line_number":11,"context_line":"configuration file. It is expected that administrators will provide"},{"line_number":12,"context_line":"a list of metadata keys that can only be updated by administrators"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"a397ea7e_7084b0d0","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":49},"updated":"2024-02-24 00:20:07.000000000","message":"we\u0027ve named the policy \"update_admin_only_metadata\"; so probably consider \"admin_only_metadata\"?","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e0e9a2c80c8da3bc007a613c5749c42358a37c1e","unresolved":true,"context_lines":[{"line_number":15,"context_line":"- Drivers will be able to set metadata while creating shares"},{"line_number":16,"context_line":"through the `get_optional_share_creation_data` driver interface."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #2050010"},{"line_number":19,"context_line":"Change-Id: I6412710c7db89747d23033e1a5a6be9de5886b0b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"6d15a2dc_450a8200","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":10},"updated":"2024-02-24 00:20:07.000000000","message":"Partial-Bug?","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9028731a86141dd12b4d4992c75dd7d116958406","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"15780453_97d1f29c","updated":"2024-02-17 02:40:42.000000000","message":"Thanks for working on this Carlos; I have a few comments inline","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6fe243081333a1d3ee25ad72a6703e4144bc45e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fc79158b_b8658039","updated":"2024-02-21 17:28:35.000000000","message":"Thank you for the review. Please take a look at the changes inline :)","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"69a4c5c3_1fbc59c9","updated":"2024-02-21 21:45:17.000000000","message":"Ty for the review, applied the changes... Some metadata tests are failing in the cephfs driver, and I will address the failures :)","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ca6f23a48536665d798d52a3f46bff62807dae48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"393a6f8b_9178c6ae","updated":"2024-02-21 19:48:49.000000000","message":"thanks; some suggestions inline","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"3f522720df1979c213956322a81be964553545af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"97d432ee_45666847","updated":"2024-02-22 13:03:54.000000000","message":"I am considering splitting this change into two changes... One with all the core stuff, and another one for the cephfs driver implementation. Thoughts?","commit_id":"04404f1bd2637f7df8ed7f497a990f28fc9536d7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4d0a2607cbe62ef0db789b7688ef08b0b78b7dc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"29f545c3_1c5b0401","in_reply_to":"97d432ee_45666847","updated":"2024-02-22 15:22:40.000000000","message":"Yes; always encouraged..","commit_id":"04404f1bd2637f7df8ed7f497a990f28fc9536d7"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"302fe6c89dc78d071e923c347f9c7ea8e5e1894c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"73e19e42_70a81dfe","updated":"2024-02-29 16:03:22.000000000","message":"LGTM","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e0e9a2c80c8da3bc007a613c5749c42358a37c1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"957481e3_33e41613","updated":"2024-02-24 00:20:07.000000000","message":"LGTM; thanks Carlos. Ive some suggestions inline. I\u0027ll +2 if you post another patch.","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"e59eb52b94e264ca140eb94c174a14c7e063a314","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9406fd54_c206bc6e","updated":"2024-02-29 15:51:02.000000000","message":"LGTM，thanks for your change, Carlos Eduardo. let us merge this.","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"},{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"ef7cc9682d63b5a953340f033d90aed8cf646fbd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bc81e8d0_5ddffd4e","updated":"2024-02-26 16:38:55.000000000","message":"This is a great enahancement to driver capabilites. +1 to goutham\u0027s comments","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"}],"manila/common/constants.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ca6f23a48536665d798d52a3f46bff62807dae48","unresolved":true,"context_lines":[{"line_number":360,"context_line":"    DRIVER_METADATA \u003d ("},{"line_number":361,"context_line":"        MOUNT_OPTIONS"},{"line_number":362,"context_line":"    )"},{"line_number":363,"context_line":"    ADMIN_METADATA_KEYS \u003d ("},{"line_number":364,"context_line":"        AFFINITY_KEY,"},{"line_number":365,"context_line":"        ANTI_AFFINITY_KEY,"},{"line_number":366,"context_line":"        MOUNT_OPTIONS"},{"line_number":367,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"8dad3d99_d0addc18","line":367,"range":{"start_line":363,"start_character":26,"end_line":367,"end_character":5},"updated":"2024-02-21 19:48:49.000000000","message":"SCHEDULER_FILTERS + DRIVER_METADATA","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[{"line_number":360,"context_line":"    DRIVER_METADATA \u003d ("},{"line_number":361,"context_line":"        MOUNT_OPTIONS"},{"line_number":362,"context_line":"    )"},{"line_number":363,"context_line":"    ADMIN_METADATA_KEYS \u003d ("},{"line_number":364,"context_line":"        AFFINITY_KEY,"},{"line_number":365,"context_line":"        ANTI_AFFINITY_KEY,"},{"line_number":366,"context_line":"        MOUNT_OPTIONS"},{"line_number":367,"context_line":"    )"}],"source_content_type":"text/x-python","patch_set":3,"id":"dafcd56b_8dec1ff9","line":367,"range":{"start_line":363,"start_character":26,"end_line":367,"end_character":5},"in_reply_to":"8dad3d99_d0addc18","updated":"2024-02-21 21:45:17.000000000","message":"Done","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"}],"manila/share/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ca6f23a48536665d798d52a3f46bff62807dae48","unresolved":true,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"d7f79f51_bf9ab468","line":2837,"range":{"start_line":2837,"start_character":31,"end_line":2837,"end_character":35},"updated":"2024-02-21 19:48:49.000000000","message":"it\u0027s likely that we\u0027ll need to send down the share and share_server in question; drivers may need this.","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ca6f23a48536665d798d52a3f46bff62807dae48","unresolved":true,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"e3dd0b93_8c9d9407","line":2837,"range":{"start_line":2837,"start_character":8,"end_line":2837,"end_character":30},"updated":"2024-02-21 19:48:49.000000000","message":"the method name sounds awefully close to `get_backend_info`, perhaps:\n\n`get_optional_share_creation_data` perhaps and there can be a default return statment (`return {}`) instead of raising NotImplementedError","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"35200d11_8f6a7201","line":2837,"range":{"start_line":2837,"start_character":31,"end_line":2837,"end_character":35},"in_reply_to":"d7f79f51_bf9ab468","updated":"2024-02-21 21:45:17.000000000","message":"Done","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"9191bf31_a4eadf1f","line":2837,"range":{"start_line":2837,"start_character":31,"end_line":2837,"end_character":35},"in_reply_to":"d7f79f51_bf9ab468","updated":"2024-02-21 21:45:17.000000000","message":"Done","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"8bad1d66_d26a4f61","line":2837,"range":{"start_line":2837,"start_character":8,"end_line":2837,"end_character":30},"in_reply_to":"e3dd0b93_8c9d9407","updated":"2024-02-21 21:45:17.000000000","message":"Done","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6cff0ffa7b650e076b1287cc9bdc70042e376e77","unresolved":false,"context_lines":[{"line_number":2834,"context_line":"        \"\"\""},{"line_number":2835,"context_line":"        raise NotImplementedError()"},{"line_number":2836,"context_line":""},{"line_number":2837,"context_line":"    def get_share_backend_info(self):"},{"line_number":2838,"context_line":"        \"\"\"Get info to set in shares after their creation."},{"line_number":2839,"context_line":""},{"line_number":2840,"context_line":"        Driver can use this method to get the special info and"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fc80d7c_36d568f7","line":2837,"range":{"start_line":2837,"start_character":8,"end_line":2837,"end_character":30},"in_reply_to":"e3dd0b93_8c9d9407","updated":"2024-02-21 21:45:17.000000000","message":"Done","commit_id":"f01f09fe527588f9e15f75df2d6d6fb6d4750c7b"}],"manila/share/drivers/cephfs/driver.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9028731a86141dd12b4d4992c75dd7d116958406","unresolved":true,"context_lines":[{"line_number":560,"context_line":"            try:"},{"line_number":561,"context_line":"                share_updates[share[\u0027id\u0027]].update({"},{"line_number":562,"context_line":"                    \u0027export_locations\u0027: self._get_export_locations(share),"},{"line_number":563,"context_line":"                    \u0027metadata\u0027: {\"cephfs_filesystem_name\": self.volname}"},{"line_number":564,"context_line":"                })"},{"line_number":565,"context_line":"            except exception.ShareBackendException as e:"},{"line_number":566,"context_line":"                if \u0027does not exist\u0027 in str(e).lower():"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2da148_c41b6005","line":563,"range":{"start_line":563,"start_character":21,"end_line":563,"end_character":29},"updated":"2024-02-17 02:40:42.000000000","message":"three issues here:\n\n\n1) this metadata can be modified by end users.. we already have semantics in the API that reserves metadata set by the service.. we can use that: \n\nhttps://github.com/openstack/manila/blob/fbae56413265c9d9073f59884b58a0e66e0fc218/manila/api/v2/shares.py#L625-L627\n\n\n2) I wonder if we can create a metadata key that\u0027s more generic? perhaps:\n\n \"__mount_options\"\n\nand the driver can format the string appropriately:\n\nTo mount a cephfs share via the kernel client, the mount command will need to include:\n\n```\n -o fs\u003d\u003cceph_filesystem_name\u003e\n```\n\nto mount it via ceph-fuse client [2]\n\n```\n --client_fs\u003d\u003cceph_filesystem_name\u003e \n```\n\nSo, maybe the value can simply be f\"fs\u003d{self.volname}\" and we\u0027ll let the user figure out how to use this with their client of choice.\n\n[1] https://docs.ceph.com/en/latest/cephfs/mount-using-kernel-driver/\n[2] https://docs.ceph.com/en/latest/cephfs/mount-using-fuse/\n\n\n3) We need this information only in case of Native CephFS.. its not useful for NFS..","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6fe243081333a1d3ee25ad72a6703e4144bc45e","unresolved":false,"context_lines":[{"line_number":560,"context_line":"            try:"},{"line_number":561,"context_line":"                share_updates[share[\u0027id\u0027]].update({"},{"line_number":562,"context_line":"                    \u0027export_locations\u0027: self._get_export_locations(share),"},{"line_number":563,"context_line":"                    \u0027metadata\u0027: {\"cephfs_filesystem_name\": self.volname}"},{"line_number":564,"context_line":"                })"},{"line_number":565,"context_line":"            except exception.ShareBackendException as e:"},{"line_number":566,"context_line":"                if \u0027does not exist\u0027 in str(e).lower():"}],"source_content_type":"text/x-python","patch_set":2,"id":"2ab8dc36_5ce2ba40","line":563,"range":{"start_line":563,"start_character":21,"end_line":563,"end_character":29},"in_reply_to":"ba2da148_c41b6005","updated":"2024-02-21 17:28:35.000000000","message":"Done","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"}],"manila/share/manager.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4236edff9eb78786a81eacc3b975f196b5470c97","unresolved":true,"context_lines":[{"line_number":495,"context_line":"                    {\u0027status\u0027: share_instance_update_dict.get(\u0027status\u0027),"},{"line_number":496,"context_line":"                     \u0027host\u0027: share_instance[\u0027host\u0027]}"},{"line_number":497,"context_line":"                )"},{"line_number":498,"context_line":"            metadata_updates \u003d share_instance_update_dict.get(\u0027metadata\u0027)"},{"line_number":499,"context_line":"            if metadata_updates:"},{"line_number":500,"context_line":"                share_id \u003d share_instance[\u0027share_id\u0027]"},{"line_number":501,"context_line":"                if share_id not in shares_with_metadata_already_updated:"},{"line_number":502,"context_line":"                    self.db.share_metadata_update("},{"line_number":503,"context_line":"                        ctxt, share_id, metadata_updates, False)"},{"line_number":504,"context_line":"                    shares_with_metadata_already_updated.append("},{"line_number":505,"context_line":"                        share_id)"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"            update_export_locations \u003d ("},{"line_number":508,"context_line":"                share_instance_update_dict.get(\u0027export_locations\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"63eec20f_8980b6fd","line":505,"range":{"start_line":498,"start_character":11,"end_line":505,"end_character":33},"updated":"2024-02-15 23:47:29.000000000","message":"will add extra unit tests for this","commit_id":"1281e684a035c4d33885394e61ddc0949050ef43"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"56a6572d21fd933c18b9412eccfced8382033789","unresolved":false,"context_lines":[{"line_number":495,"context_line":"                    {\u0027status\u0027: share_instance_update_dict.get(\u0027status\u0027),"},{"line_number":496,"context_line":"                     \u0027host\u0027: share_instance[\u0027host\u0027]}"},{"line_number":497,"context_line":"                )"},{"line_number":498,"context_line":"            metadata_updates \u003d share_instance_update_dict.get(\u0027metadata\u0027)"},{"line_number":499,"context_line":"            if metadata_updates:"},{"line_number":500,"context_line":"                share_id \u003d share_instance[\u0027share_id\u0027]"},{"line_number":501,"context_line":"                if share_id not in shares_with_metadata_already_updated:"},{"line_number":502,"context_line":"                    self.db.share_metadata_update("},{"line_number":503,"context_line":"                        ctxt, share_id, metadata_updates, False)"},{"line_number":504,"context_line":"                    shares_with_metadata_already_updated.append("},{"line_number":505,"context_line":"                        share_id)"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"            update_export_locations \u003d ("},{"line_number":508,"context_line":"                share_instance_update_dict.get(\u0027export_locations\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"37d7d2b2_58d7871a","line":505,"range":{"start_line":498,"start_character":11,"end_line":505,"end_character":33},"in_reply_to":"63eec20f_8980b6fd","updated":"2024-02-16 13:42:14.000000000","message":"Done","commit_id":"1281e684a035c4d33885394e61ddc0949050ef43"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9028731a86141dd12b4d4992c75dd7d116958406","unresolved":true,"context_lines":[{"line_number":482,"context_line":"            self.db.backend_info_update("},{"line_number":483,"context_line":"                ctxt, self.host, new_backend_info_hash)"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        shares_with_metadata_already_updated \u003d []"},{"line_number":486,"context_line":"        for share_instance in share_instances:"},{"line_number":487,"context_line":"            if share_instance[\u0027id\u0027] not in update_share_instances:"},{"line_number":488,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"6120f6fb_5abdce4e","line":485,"range":{"start_line":485,"start_character":47,"end_line":485,"end_character":49},"updated":"2024-02-17 02:40:42.000000000","message":"maybe use a set because you\u0027re adding less frequently than looking up..","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6fe243081333a1d3ee25ad72a6703e4144bc45e","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            self.db.backend_info_update("},{"line_number":483,"context_line":"                ctxt, self.host, new_backend_info_hash)"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"        shares_with_metadata_already_updated \u003d []"},{"line_number":486,"context_line":"        for share_instance in share_instances:"},{"line_number":487,"context_line":"            if share_instance[\u0027id\u0027] not in update_share_instances:"},{"line_number":488,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"14b05938_07021cf4","line":485,"range":{"start_line":485,"start_character":47,"end_line":485,"end_character":49},"in_reply_to":"6120f6fb_5abdce4e","updated":"2024-02-21 17:28:35.000000000","message":"Done","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"802b6f9061840bbb4e9b84c5994c3e24086f2973","unresolved":true,"context_lines":[{"line_number":498,"context_line":"            metadata_updates \u003d share_instance_update_dict.get(\u0027metadata\u0027)"},{"line_number":499,"context_line":"            if metadata_updates:"},{"line_number":500,"context_line":"                share_id \u003d share_instance[\u0027share_id\u0027]"},{"line_number":501,"context_line":"                if share_id not in shares_with_metadata_already_updated:"},{"line_number":502,"context_line":"                    self.db.share_metadata_update("},{"line_number":503,"context_line":"                        ctxt, share_id, metadata_updates, False)"},{"line_number":504,"context_line":"                    shares_with_metadata_already_updated.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"354c01d7_0e6b650c","line":501,"range":{"start_line":501,"start_character":35,"end_line":501,"end_character":71},"updated":"2024-02-16 13:47:33.000000000","message":"I should likely add a comment explaining why I\u0027m doing this, so let me explain briefly:\nA share can have multiple instances. Let\u0027s say we have 3 instances of a share, and all of three are in this list. The share is the same, so it wouldn\u0027t make sense to update the metadata for such share 3 times.","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6fe243081333a1d3ee25ad72a6703e4144bc45e","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            metadata_updates \u003d share_instance_update_dict.get(\u0027metadata\u0027)"},{"line_number":499,"context_line":"            if metadata_updates:"},{"line_number":500,"context_line":"                share_id \u003d share_instance[\u0027share_id\u0027]"},{"line_number":501,"context_line":"                if share_id not in shares_with_metadata_already_updated:"},{"line_number":502,"context_line":"                    self.db.share_metadata_update("},{"line_number":503,"context_line":"                        ctxt, share_id, metadata_updates, False)"},{"line_number":504,"context_line":"                    shares_with_metadata_already_updated.append("}],"source_content_type":"text/x-python","patch_set":2,"id":"faf30832_633fb0ac","line":501,"range":{"start_line":501,"start_character":35,"end_line":501,"end_character":71},"in_reply_to":"354c01d7_0e6b650c","updated":"2024-02-21 17:28:35.000000000","message":"Done","commit_id":"4621a7b44d8a0287f89f04a4a40196bf64e65f00"}],"releasenotes/notes/bug-2050010-allow-configuring-admin-and-driver-metadata-b0ede7d7cf057b5b.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e0e9a2c80c8da3bc007a613c5749c42358a37c1e","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A new configuration option called ``admin_metadata_keys`` has been"},{"line_number":5,"context_line":"    introduced to assist cloud administrators while defining share"},{"line_number":6,"context_line":"    metadata that should only be modified by administrators."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"4370a31e_a488bba5","line":6,"range":{"start_line":6,"start_character":59,"end_line":6,"end_character":60},"updated":"2024-02-24 00:20:07.000000000","message":"This configuration option defaults to the existing admin only metadata keys, i.e., scheduler hints to preserve backwards compatibility.","commit_id":"3429717601eadc8fd62e570b28a36e1989f677f2"}]}
