)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This change adds metadata controller for share replica"},{"line_number":10,"context_line":"resource. Bumps microversion to 2.92."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Signed-off-by: Saikumar Pulluri \u003csaikumar1016@gmail.com\u003e"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-implements: bp metadata-for-share-resources"},{"line_number":15,"context_line":"Change-Id: I456b65a420522c39d7d6c8d1655728113077e81f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"826ecdc7_f52e6add","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":56},"updated":"2026-02-05 23:20:28.000000000","message":"remove perhaps, it\u0027s there in the last paragraph","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cb7293abe406ba321646ad16f73f7666475ce9e6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This change adds metadata controller for share replica"},{"line_number":10,"context_line":"resource. Bumps microversion to 2.92."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Signed-off-by: Saikumar Pulluri \u003csaikumar1016@gmail.com\u003e"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-implements: bp metadata-for-share-resources"},{"line_number":15,"context_line":"Change-Id: I456b65a420522c39d7d6c8d1655728113077e81f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"eeba1223_5550f2e7","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":56},"in_reply_to":"826ecdc7_f52e6add","updated":"2026-02-18 06:51:51.000000000","message":"Done.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Metadata for Share Replica Resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for share replica"},{"line_number":10,"context_line":"resource. Bumps microversion to 2.92."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially-implements: bp metadata-for-share-resources"},{"line_number":13,"context_line":"Change-Id: I456b65a420522c39d7d6c8d1655728113077e81f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"1f121c20_322c5b5f","line":10,"range":{"start_line":10,"start_character":31,"end_line":10,"end_character":37},"updated":"2026-02-24 22:11:08.000000000","message":"please rebase and line up in the order we agreed","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Metadata for Share Replica Resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds metadata controller for share replica"},{"line_number":10,"context_line":"resource. Bumps microversion to 2.92."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially-implements: bp metadata-for-share-resources"},{"line_number":13,"context_line":"Change-Id: I456b65a420522c39d7d6c8d1655728113077e81f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"f7c387f6_0eb73208","line":10,"range":{"start_line":10,"start_character":31,"end_line":10,"end_character":37},"in_reply_to":"1f121c20_322c5b5f","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"75730c680e04030fe662bfa8aa4193028add025b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"67029c90_02e539fb","updated":"2026-01-19 10:15:33.000000000","message":"Recently tested sanity results are available here. \nhttps://paste.opendev.org/show/bWc8ECCiKY1fCNuaqA3T/","commit_id":"3a5535bfe881da5233eb2072c10da39b0770b385"},{"author":{"_account_id":38614,"name":"Sailaja Mada","display_name":"Sailaja Mada","email":"sailajam@netapp.com","username":"sailajam"},"change_message_id":"c50521b2bb0ad36bc76ec87f4635a561a04cae44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3506d6e9_4f143009","updated":"2026-01-28 05:59:30.000000000","message":"Run-NetApp CI","commit_id":"4397b360f19c5557ae25a13c74e8c7c37ac2e8b2"},{"author":{"_account_id":38614,"name":"Sailaja Mada","display_name":"Sailaja Mada","email":"sailajam@netapp.com","username":"sailajam"},"change_message_id":"995631d13ddb2125818776f2a2706b4a121b739a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4bf30fd0_c8030547","updated":"2026-01-28 07:11:02.000000000","message":"Run-NetApp CI","commit_id":"4397b360f19c5557ae25a13c74e8c7c37ac2e8b2"},{"author":{"_account_id":38373,"name":"Manideep","display_name":"Manideep","email":"manideep.openstack@gmail.com","username":"manideepn","status":"NetApp"},"change_message_id":"f9173040d61dfe038a685aec4ac7e145a256af98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"77bf7701_743801b7","updated":"2026-01-27 15:11:59.000000000","message":"Run-NetApp CI","commit_id":"4397b360f19c5557ae25a13c74e8c7c37ac2e8b2"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"e02f52a9543417c11e2a470a6bf5b3d8fcf8ac94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"05b2573b_c84420d9","updated":"2026-01-29 11:04:57.000000000","message":"Please do review!","commit_id":"84effe83978dfc0fcaaa12fa2be8949f77d37b02"},{"author":{"_account_id":38614,"name":"Sailaja Mada","display_name":"Sailaja Mada","email":"sailajam@netapp.com","username":"sailajam"},"change_message_id":"7606ae0e6a933f3ba569713cd9aa224a1a43a140","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"55a8ced3_f3eba8a8","updated":"2026-02-03 06:33:00.000000000","message":"Run-NetApp CI","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":38614,"name":"Sailaja Mada","display_name":"Sailaja Mada","email":"sailajam@netapp.com","username":"sailajam"},"change_message_id":"a582f496f242aafc677ac14fa70b93004265e700","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"84bab2d3_5858dde9","updated":"2026-02-11 01:03:50.000000000","message":"Run-NetApp CI","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":38614,"name":"Sailaja Mada","display_name":"Sailaja Mada","email":"sailajam@netapp.com","username":"sailajam"},"change_message_id":"5b3758b60d5f577cd2322c90cec866ac34b561a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ff7e3d5d_8fb38bdb","updated":"2026-02-09 09:27:02.000000000","message":"Run-NetApp CI","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b00c95a8_25b0e781","updated":"2026-02-05 23:20:28.000000000","message":"Thanks Sai, some comments inline","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68224624ad8ee7073301cada28b4aefdec4fa66b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c3cb8a93_942a60b9","updated":"2026-01-30 05:27:57.000000000","message":"adding attribute at middle will break backward compatibility. can you check this once.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e61da8f09bf244b3d4a98eaa78c71c4da8b80a58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"652b3f49_8668b82e","updated":"2026-02-02 06:58:15.000000000","message":"looks ok, minor comment for releasenotes.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cbe9e6a7085a57accd45f6575e861d0054794b67","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3fd770ec_3c5cf5ae","updated":"2026-01-30 07:25:08.000000000","message":"recheck","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d03c398b_8dff50be","updated":"2026-02-17 16:06:25.000000000","message":"Thank you much Goutham for detailed review and suggestions. Addressed the comments. Please do review.","commit_id":"a0acf60fd0a5d33ecee9b0d15071f5d32dcd9b30"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"14725f329a4d57038f360df118271ea9fabe71d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1fba2e52_a4e6288a","updated":"2026-02-19 05:56:37.000000000","message":"LGTM","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"f29563cb6e4c2752c8a31bc8250a69a311aa648c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"49007a18_0b4c8410","updated":"2026-02-19 05:26:44.000000000","message":"LGTM","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"fcd1757e_57732e99","updated":"2026-02-24 22:11:08.000000000","message":"Thanks for working on this change, Sai! Please take a look at the comments inline. I saw some places missing unit test coverage, would be nice if that could be addressed.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"fb3a676597fe94f6da194a68682c67d505ff4fb2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"966cc5a2_12240b0a","updated":"2026-02-20 07:03:51.000000000","message":"remove co-pilot instructions from code","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"f61607e9_486a1b7e","updated":"2026-02-26 13:23:39.000000000","message":"Thanks for all the comments Goutham/Carloss/Kiran. Really appreciate. \n \nNote: I encountered an issue with my environment, so I am redeploying it. I will share the testing results as soon as the new environment is ready.","commit_id":"ff5c14325476fc469f336779930987a5b6b74b18"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"60bdb4be5c6324af05155b3ef6a69ea22ab398ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"18d4aed8_1df5da98","updated":"2026-02-26 17:04:58.000000000","message":"@gouthampravi@gmail.com @ces.eduardo98@gmail.com @kinpaa@gmail.com @gawasthi2010@gmail.com\n\nFixed the Zuul, apr-ref issues and also addressed comments. \nHere are the latest testing results:\nhttps://paste.opendev.org/show/bdJJPxbGHpTaQ1H3yXXA/\n\nPlease review and approve this patch, and request you to let this patch in for the release!!\n\nIf there are comments, will address them as part of the follow-up(may be as a bug) patch.","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"3e7452b51dd95f33ed0113c7e78a2fbfcb31b3f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4a569e63_26ca09e5","updated":"2026-02-26 17:32:53.000000000","message":"LGTM","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1b72ff0c1763f1e2373b6c13a0dd18948f11f1a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9df1e8aa_aec58c9f","updated":"2026-02-26 18:32:42.000000000","message":"Looks like we can fix things up with a follow up change; pylint points to a lot of the errors we\u0027ve highlighted in reviews here.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"caee3236_6442e13e","updated":"2026-03-10 09:31:50.000000000","message":"Raised a follow up patch for most of the comments:\nhttps://review.opendev.org/c/openstack/manila/+/979798\n\nThank you Goutham/Carloss/Kiran!!","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7e3c1147_4996f2b3","updated":"2026-02-26 18:13:30.000000000","message":"This should work; thank you @saikumar1016@gmail.com.. I\u0027ve some more comments inline, please do submit a follow up change if this one merges.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"cc33bef0947aa5588a0c5738260e9b66e1ee161c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"11bd3b5b_1d66e567","updated":"2026-02-26 18:24:59.000000000","message":"previous failing py310 tests are passing with latest patchset.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"79aae57c3b25006dd82004a877eb1c4361b5116f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"deed2839_498bc171","updated":"2026-02-26 18:32:50.000000000","message":"pylint log: https://zuul.opendev.org/t/openstack/build/715a5be80a8043eebd1d8e487b48f3ae/log/job-output.txt","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"eaf38937a97c535cd123d359c34ca9816949fd23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"f254b557_2e4c8073","in_reply_to":"7e3c1147_4996f2b3","updated":"2026-02-26 18:22:06.000000000","message":"Thank you so much gouthamr, sure will do a follow-up change.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cb4e07596332a938d8fa1481c310fdb6738701b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9367d809_f811fa04","in_reply_to":"deed2839_498bc171","updated":"2026-02-27 09:47:27.000000000","message":"Raised patch to fix pylint issue: https://review.opendev.org/c/openstack/manila/+/978176","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"}],"api-ref/source/share-replica-metadata.inc":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":211,"context_line":"   :language: javascript"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"To delete all existing metadata items on a given share replica, the request object"},{"line_number":215,"context_line":"needs to specify an empty metadata object:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Request example"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"07d43add_ce3aa857","line":214,"range":{"start_line":214,"start_character":76,"end_line":214,"end_character":82},"updated":"2026-02-24 22:11:08.000000000","message":"nit: please wrap at 79 characters","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":211,"context_line":"   :language: javascript"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"To delete all existing metadata items on a given share replica, the request object"},{"line_number":215,"context_line":"needs to specify an empty metadata object:"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Request example"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"6ee2a75f_5caba312","line":214,"range":{"start_line":214,"start_character":76,"end_line":214,"end_character":82},"in_reply_to":"07d43add_ce3aa857","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":260,"context_line":"   - project_id: project_id_path"},{"line_number":261,"context_line":"   - share_replica_id: share_replica_id_path"},{"line_number":262,"context_line":"   - key: metadata_key_path"},{"line_number":263,"context_line":"```"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"3947228d_d46f175b","line":263,"updated":"2026-02-26 18:13:30.000000000","message":"extraneous characters here; maybe you meant to introduce a blank line?","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":260,"context_line":"   - project_id: project_id_path"},{"line_number":261,"context_line":"   - share_replica_id: share_replica_id_path"},{"line_number":262,"context_line":"   - key: metadata_key_path"},{"line_number":263,"context_line":"```"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"9132d183_3cafcc23","line":263,"in_reply_to":"3947228d_d46f175b","updated":"2026-03-10 09:31:50.000000000","message":"Done","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"}],"copilot-instructions.md":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"fb3a676597fe94f6da194a68682c67d505ff4fb2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Manila (OpenStack Shared File System) AI Coding Guide"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"## Project Overview"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":10,"id":"02913e8d_26e36de4","line":1,"updated":"2026-02-20 07:03:51.000000000","message":"why copilot-instuctions are present in this patch. it should be private to your repo","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Manila (OpenStack Shared File System) AI Coding Guide"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"## Project Overview"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":10,"id":"e062a5dd_e8ac45f7","line":1,"in_reply_to":"02913e8d_26e36de4","updated":"2026-02-26 13:23:39.000000000","message":"Ahh, my bad. Thanks for pointing out. Removed.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"}],"manila/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"2.92"},{"line_number":490,"context_line":"----"},{"line_number":491,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":492,"context_line":"  to Share Replicas."}],"source_content_type":"text/x-rst","patch_set":8,"id":"75dfcc7b_30bea176","line":492,"range":{"start_line":491,"start_character":0,"end_line":492,"end_character":20},"updated":"2026-02-05 23:20:28.000000000","message":"These APIs are missing from the API reference. Were you planning on making another change to include them?","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":488,"context_line":""},{"line_number":489,"context_line":"2.92"},{"line_number":490,"context_line":"----"},{"line_number":491,"context_line":"  Added Metadata API methods (GET, PUT, POST, DELETE)"},{"line_number":492,"context_line":"  to Share Replicas."}],"source_content_type":"text/x-rst","patch_set":8,"id":"a15b05ad_477bd390","line":492,"range":{"start_line":491,"start_character":0,"end_line":492,"end_character":20},"in_reply_to":"75dfcc7b_30bea176","updated":"2026-02-17 16:06:25.000000000","message":"Added. Please let me know if I have missed something here.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"}],"manila/api/v2/share_replicas.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"68224624ad8ee7073301cada28b4aefdec4fa66b","unresolved":true,"context_lines":[{"line_number":37,"context_line":"GRADUATION_VERSION \u003d \u00272.56\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareReplicationController(wsgi.Controller, metadata.MetadataController,"},{"line_number":41,"context_line":"                                 wsgi.AdminActionsMixin):"},{"line_number":42,"context_line":"    \"\"\"The Share Replication API controller for the OpenStack API.\"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"594bf913_ba5bdb66","line":40,"updated":"2026-01-30 05:27:57.000000000","message":"adding attribute at middle will break backward compatibility. can you check this once.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"d531085f1b6a16c7bd113b10f4305e605b707f9a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GRADUATION_VERSION \u003d \u00272.56\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareReplicationController(wsgi.Controller, metadata.MetadataController,"},{"line_number":41,"context_line":"                                 wsgi.AdminActionsMixin):"},{"line_number":42,"context_line":"    \"\"\"The Share Replication API controller for the OpenStack API.\"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"21c25228_18034c9f","line":40,"in_reply_to":"594bf913_ba5bdb66","updated":"2026-01-30 06:17:11.000000000","message":"Yes Jaya, this is how it is done for all metadata changes when introduced. \nFew can be checked here: https://review.opendev.org/q/topic:%22bp/metadata-for-share-resources%22+repo:openstack/manila","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":177,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":178,"context_line":"        return self._create(req, body)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":181,"context_line":"    @wsgi.response(202)"},{"line_number":182,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":183,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @wsgi.Controller.authorize(\u0027create\u0027)"},{"line_number":186,"context_line":"    def _create(self, req, body, allow_scheduler_hints\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bc389c5b_66330a19","line":183,"range":{"start_line":180,"start_character":0,"end_line":183,"end_character":66},"updated":"2026-02-05 23:20:28.000000000","message":"You\u0027ll need to overload this method and `allow_metadata` only if the API version is 2.92 or greater","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":177,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":178,"context_line":"        return self._create(req, body)"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":181,"context_line":"    @wsgi.response(202)"},{"line_number":182,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":183,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    @wsgi.Controller.authorize(\u0027create\u0027)"},{"line_number":186,"context_line":"    def _create(self, req, body, allow_scheduler_hints\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":8,"id":"8a54d217_d60ec4a7","line":183,"range":{"start_line":180,"start_character":0,"end_line":183,"end_character":66},"in_reply_to":"bc389c5b_66330a19","updated":"2026-02-17 16:06:25.000000000","message":"Done","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"fb3a676597fe94f6da194a68682c67d505ff4fb2","unresolved":true,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"The Share Replication API.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from http import client as http_client"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_utils import strutils"}],"source_content_type":"text/x-python","patch_set":10,"id":"ceeee88b_294c5788","side":"PARENT","line":17,"updated":"2026-02-20 07:03:51.000000000","message":"nit: no need to remove","commit_id":"22f33460e1c5b127cce7ff747f1de307d7c5fa89"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"The Share Replication API.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from http import client as http_client"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_utils import strutils"}],"source_content_type":"text/x-python","patch_set":10,"id":"7b0cdfe3_e8b3c2b8","side":"PARENT","line":17,"in_reply_to":"ceeee88b_294c5788","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"22f33460e1c5b127cce7ff747f1de307d7c5fa89"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"fb3a676597fe94f6da194a68682c67d505ff4fb2","unresolved":true,"context_lines":[{"line_number":37,"context_line":"GRADUATION_VERSION \u003d \u00272.56\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareReplicationController(wsgi.Controller, metadata.MetadataController,"},{"line_number":41,"context_line":"                                 wsgi.AdminActionsMixin):"},{"line_number":42,"context_line":"    \"\"\"The Share Replication API controller for the OpenStack API.\"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"c07d2a02_732e1983","line":40,"updated":"2026-02-20 07:03:51.000000000","message":"new parameter should be last one in function call for backward compatibility. can you check if this is not breaking any existing functionality.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":37,"context_line":"GRADUATION_VERSION \u003d \u00272.56\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class ShareReplicationController(wsgi.Controller, metadata.MetadataController,"},{"line_number":41,"context_line":"                                 wsgi.AdminActionsMixin):"},{"line_number":42,"context_line":"    \"\"\"The Share Replication API controller for the OpenStack API.\"\"\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"418155b3_69eeda60","line":40,"in_reply_to":"c07d2a02_732e1983","updated":"2026-02-26 13:23:39.000000000","message":"Referred existing resources and made changes. \nEx: https://github.com/openstack/manila/blob/master/manila/api/v2/share_snapshots.py#L46  \n\nDon\u0027t think it\u0027s breaking any existing functionality.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":239,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg % share_network_id)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        try:"},{"line_number":242,"context_line":"            metadata_dict \u003d {}"},{"line_number":243,"context_line":"            if allow_metadata:"},{"line_number":244,"context_line":"                metadata_dict \u003d body.get(\u0027share_replica\u0027).get("},{"line_number":245,"context_line":"                    \u0027metadata\u0027, {}) or {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"7fafba52_e546922f","line":242,"updated":"2026-02-24 22:11:08.000000000","message":"this is not being covered by unit tests [1] please take a look.\n[1] https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c2e/openstack/c2e7a9229cef4219ab6f15b9d25586b5/cover/z_18fb795c8d5970e6_share_replicas_py.html#t243","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dmsg % share_network_id)"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        try:"},{"line_number":242,"context_line":"            metadata_dict \u003d {}"},{"line_number":243,"context_line":"            if allow_metadata:"},{"line_number":244,"context_line":"                metadata_dict \u003d body.get(\u0027share_replica\u0027).get("},{"line_number":245,"context_line":"                    \u0027metadata\u0027, {}) or {}"}],"source_content_type":"text/x-python","patch_set":10,"id":"801e3be4_70ffbb6d","line":242,"in_reply_to":"7fafba52_e546922f","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":242,"context_line":"            metadata_dict \u003d {}"},{"line_number":243,"context_line":"            if allow_metadata:"},{"line_number":244,"context_line":"                metadata_dict \u003d body.get(\u0027share_replica\u0027).get("},{"line_number":245,"context_line":"                    \u0027metadata\u0027, {}) or {}"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"            new_replica \u003d self.share_api.create_share_replica("},{"line_number":248,"context_line":"                context, share_ref, availability_zone\u003davailability_zone,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a6f6678_9e079d08","line":245,"range":{"start_line":245,"start_character":35,"end_line":245,"end_character":41},"updated":"2026-02-24 22:11:08.000000000","message":"this piece is redundant - cautious, yes, but redundant, so I think we can drop it","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            metadata_dict \u003d {}"},{"line_number":243,"context_line":"            if allow_metadata:"},{"line_number":244,"context_line":"                metadata_dict \u003d body.get(\u0027share_replica\u0027).get("},{"line_number":245,"context_line":"                    \u0027metadata\u0027, {}) or {}"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"            new_replica \u003d self.share_api.create_share_replica("},{"line_number":248,"context_line":"                context, share_ref, availability_zone\u003davailability_zone,"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a97f92c_e985720f","line":245,"range":{"start_line":245,"start_character":35,"end_line":245,"end_character":41},"in_reply_to":"1a6f6678_9e079d08","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"cf0ca9e3661e48f89a6813dba7248caa6fdb8356","unresolved":true,"context_lines":[{"line_number":178,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":179,"context_line":"        return self._create(req, body)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":182,"context_line":"    @wsgi.response(202)"},{"line_number":183,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":184,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"4c90fec5_b5ca4d5e","line":181,"updated":"2026-02-26 18:20:08.000000000","message":"add end version of 2.94 here","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"00bc52037a07291717f07a3d717036a024404a19","unresolved":true,"context_lines":[{"line_number":178,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":179,"context_line":"        return self._create(req, body)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":182,"context_line":"    @wsgi.response(202)"},{"line_number":183,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":184,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"a22977d2_b683a5da","line":181,"in_reply_to":"4c90fec5_b5ca4d5e","updated":"2026-02-26 18:25:48.000000000","message":"Thank you so much Kiran, will address it in a follow up patch ASAP.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":179,"context_line":"        return self._create(req, body)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":182,"context_line":"    @wsgi.response(202)"},{"line_number":183,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":184,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"495c2f74_b9d66d21","line":181,"in_reply_to":"7dc454b2_b668c751","updated":"2026-03-10 09:31:50.000000000","message":"Done","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1b72ff0c1763f1e2373b6c13a0dd18948f11f1a4","unresolved":true,"context_lines":[{"line_number":178,"context_line":"    def create(self, req, body):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":179,"context_line":"        return self._create(req, body)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    @wsgi.Controller.api_version(\"2.67\") # noqa"},{"line_number":182,"context_line":"    @wsgi.response(202)"},{"line_number":183,"context_line":"    def create(self, req, body): # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":184,"context_line":"        return self._create(req, body, allow_scheduler_hints\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"7dc454b2_b668c751","line":181,"in_reply_to":"a22977d2_b683a5da","updated":"2026-02-26 18:32:42.000000000","message":"+1, good catch.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"}],"manila/db/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":1667,"context_line":""},{"line_number":1668,"context_line":""},{"line_number":1669,"context_line":"def share_replica_get(context, replica_id, with_share_server\u003dFalse,"},{"line_number":1670,"context_line":"                      with_share_data\u003dFalse, project_only\u003dFalse):"},{"line_number":1671,"context_line":"    \"\"\"Get share replica by id.\"\"\""},{"line_number":1672,"context_line":"    return IMPL.share_replica_get("},{"line_number":1673,"context_line":"        context, replica_id, with_share_server\u003dwith_share_server,"}],"source_content_type":"text/x-python","patch_set":8,"id":"686adc44_17fbcf00","line":1670,"range":{"start_line":1670,"start_character":45,"end_line":1670,"end_character":63},"updated":"2026-02-05 23:20:28.000000000","message":"why?\n\nalways default \"project_only\" to True. Doing otherwise is a security hole","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":1667,"context_line":""},{"line_number":1668,"context_line":""},{"line_number":1669,"context_line":"def share_replica_get(context, replica_id, with_share_server\u003dFalse,"},{"line_number":1670,"context_line":"                      with_share_data\u003dFalse, project_only\u003dFalse):"},{"line_number":1671,"context_line":"    \"\"\"Get share replica by id.\"\"\""},{"line_number":1672,"context_line":"    return IMPL.share_replica_get("},{"line_number":1673,"context_line":"        context, replica_id, with_share_server\u003dwith_share_server,"}],"source_content_type":"text/x-python","patch_set":8,"id":"b03bd2eb_b4f1210a","line":1670,"range":{"start_line":1670,"start_character":45,"end_line":1670,"end_character":63},"in_reply_to":"686adc44_17fbcf00","updated":"2026-02-17 16:06:25.000000000","message":"Removed \"project_only\" completely as discussed.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":1688,"context_line":""},{"line_number":1689,"context_line":""},{"line_number":1690,"context_line":"def share_replica_metadata_get(context, share_replica_id, **kwargs):"},{"line_number":1691,"context_line":"    \"\"\"Get all metadata for a share snapshot.\"\"\""},{"line_number":1692,"context_line":"    return IMPL.share_replica_metadata_get(context,"},{"line_number":1693,"context_line":"                                           share_replica_id,"},{"line_number":1694,"context_line":"                                           **kwargs)"}],"source_content_type":"text/x-python","patch_set":8,"id":"a7b28819_fd69a7e9","line":1691,"range":{"start_line":1691,"start_character":36,"end_line":1691,"end_character":44},"updated":"2026-02-05 23:20:28.000000000","message":"replica","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":1688,"context_line":""},{"line_number":1689,"context_line":""},{"line_number":1690,"context_line":"def share_replica_metadata_get(context, share_replica_id, **kwargs):"},{"line_number":1691,"context_line":"    \"\"\"Get all metadata for a share snapshot.\"\"\""},{"line_number":1692,"context_line":"    return IMPL.share_replica_metadata_get(context,"},{"line_number":1693,"context_line":"                                           share_replica_id,"},{"line_number":1694,"context_line":"                                           **kwargs)"}],"source_content_type":"text/x-python","patch_set":8,"id":"d27b80eb_954790ad","line":1691,"range":{"start_line":1691,"start_character":36,"end_line":1691,"end_character":44},"in_reply_to":"a7b28819_fd69a7e9","updated":"2026-02-17 16:06:25.000000000","message":"Done","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"}],"manila/db/migrations/alembic/versions/004e506e922e_add_share_instance_metadata.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"add_share_instance_metadata"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: 004e506e922e"},{"line_number":16,"context_line":"Revises: e975ea83b712"},{"line_number":17,"context_line":"Create Date: 2025-12-15 03:17:40.285486"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u0027004e506e922e\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u0027e975ea83b712\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":10,"id":"7d98383d_5059018c","line":23,"range":{"start_line":12,"start_character":0,"end_line":23,"end_character":30},"updated":"2026-02-24 22:11:08.000000000","message":"please remember to also update these values after rebasing on top of the QoS changes","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"add_share_instance_metadata"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: 004e506e922e"},{"line_number":16,"context_line":"Revises: e975ea83b712"},{"line_number":17,"context_line":"Create Date: 2025-12-15 03:17:40.285486"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# revision identifiers, used by Alembic."},{"line_number":22,"context_line":"revision \u003d \u0027004e506e922e\u0027"},{"line_number":23,"context_line":"down_revision \u003d \u0027e975ea83b712\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"from alembic import op"},{"line_number":26,"context_line":"from oslo_log import log"}],"source_content_type":"text/x-python","patch_set":10,"id":"5bfe1788_c0aaf666","line":23,"range":{"start_line":12,"start_character":0,"end_line":23,"end_character":30},"in_reply_to":"7d98383d_5059018c","updated":"2026-02-26 13:23:39.000000000","message":"Done.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":1774,"context_line":""},{"line_number":1775,"context_line":"@require_context"},{"line_number":1776,"context_line":"@require_share_instance_exists"},{"line_number":1777,"context_line":"@context_manager.writer"},{"line_number":1778,"context_line":"def share_replica_metadata_get(context, share_replica_id):"},{"line_number":1779,"context_line":"    return _share_replica_metadata_get(context, share_replica_id)"},{"line_number":1780,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bebef455_aa4d3754","line":1777,"range":{"start_line":1777,"start_character":17,"end_line":1777,"end_character":23},"updated":"2026-02-05 23:20:28.000000000","message":"reader","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":1774,"context_line":""},{"line_number":1775,"context_line":"@require_context"},{"line_number":1776,"context_line":"@require_share_instance_exists"},{"line_number":1777,"context_line":"@context_manager.writer"},{"line_number":1778,"context_line":"def share_replica_metadata_get(context, share_replica_id):"},{"line_number":1779,"context_line":"    return _share_replica_metadata_get(context, share_replica_id)"},{"line_number":1780,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"af95657e_73d185a6","line":1777,"range":{"start_line":1777,"start_character":17,"end_line":1777,"end_character":23},"in_reply_to":"bebef455_aa4d3754","updated":"2026-02-17 16:06:25.000000000","message":"Done","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"df3fb0b87707d6c26321d118e03932e1c0b24afc","unresolved":true,"context_lines":[{"line_number":1818,"context_line":"        context, models.ShareInstanceMetadata, read_deleted\u003d\"no\","},{"line_number":1819,"context_line":"    ).filter_by("},{"line_number":1820,"context_line":"        share_instance_id\u003dshare_replica_id,"},{"line_number":1821,"context_line":"    ).options(orm.joinedload(models.ShareInstanceMetadata.share_instance))"},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":""},{"line_number":1824,"context_line":"def _share_replica_metadata_get(context, share_replica_id):"}],"source_content_type":"text/x-python","patch_set":8,"id":"13289aeb_e975c555","line":1821,"range":{"start_line":1821,"start_character":14,"end_line":1821,"end_character":73},"updated":"2026-02-05 23:38:52.000000000","message":"this is the metadata_get query, why do you need the share instance? you\u0027d never really reference \"meta[\u0027share_instance\u0027]\" in your code anywhere","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cb7293abe406ba321646ad16f73f7666475ce9e6","unresolved":false,"context_lines":[{"line_number":1818,"context_line":"        context, models.ShareInstanceMetadata, read_deleted\u003d\"no\","},{"line_number":1819,"context_line":"    ).filter_by("},{"line_number":1820,"context_line":"        share_instance_id\u003dshare_replica_id,"},{"line_number":1821,"context_line":"    ).options(orm.joinedload(models.ShareInstanceMetadata.share_instance))"},{"line_number":1822,"context_line":""},{"line_number":1823,"context_line":""},{"line_number":1824,"context_line":"def _share_replica_metadata_get(context, share_replica_id):"}],"source_content_type":"text/x-python","patch_set":8,"id":"90251989_f0b3c9ec","line":1821,"range":{"start_line":1821,"start_character":14,"end_line":1821,"end_character":73},"in_reply_to":"13289aeb_e975c555","updated":"2026-02-18 06:51:51.000000000","message":"Done.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"df3fb0b87707d6c26321d118e03932e1c0b24afc","unresolved":true,"context_lines":[{"line_number":1863,"context_line":"    if metadata is None:"},{"line_number":1864,"context_line":"        metadata \u003d {}"},{"line_number":1865,"context_line":""},{"line_number":1866,"context_line":"    for meta_key, meta_value in metadata.items():"},{"line_number":1867,"context_line":"        # update the value whether it exists or not"},{"line_number":1868,"context_line":"        item \u003d {\"value\": meta_value}"},{"line_number":1869,"context_line":"        meta_ref \u003d _share_replica_metadata_get_query("},{"line_number":1870,"context_line":"            context, share_replica_id,"},{"line_number":1871,"context_line":"        ).filter_by(key\u003dmeta_key).first()"},{"line_number":1872,"context_line":"        if not meta_ref:"},{"line_number":1873,"context_line":"            meta_ref \u003d models.ShareInstanceMetadata()"},{"line_number":1874,"context_line":"            item.update({\"key\": meta_key,"},{"line_number":1875,"context_line":"                         \"share_instance_id\": share_replica_id})"},{"line_number":1876,"context_line":"        meta_ref.update(item)"},{"line_number":1877,"context_line":"        meta_ref.save(session\u003dcontext.session)"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"    return metadata"},{"line_number":1880,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"69c94b65_4ffc1f1d","line":1877,"range":{"start_line":1866,"start_character":4,"end_line":1877,"end_character":46},"updated":"2026-02-05 23:38:52.000000000","message":"i know this problem exists elsewhere but i think this is inefficient now that i read it:\n\n```\n  # Fetch all existing metadata once\n  existing_meta \u003d {\n      m.key: m for m in _share_replica_metadata_get_query(\n          context, share_replica_id\n      ).all()\n  }\n\n  for meta_key, meta_value in metadata.items():\n      meta_ref \u003d existing_meta.get(meta_key)\n      item \u003d {\"value\": meta_value}\n      if not meta_ref:\n          meta_ref \u003d models.ShareInstanceMetadata()\n          item.update({\"key\": meta_key,\n                       \"share_instance_id\": share_replica_id})\n      meta_ref.update(item)\n      meta_ref.save(session\u003dcontext.session)\n```\n\nbasically get the metadata at once rather than looping through and fetching things one at a time","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":1863,"context_line":"    if metadata is None:"},{"line_number":1864,"context_line":"        metadata \u003d {}"},{"line_number":1865,"context_line":""},{"line_number":1866,"context_line":"    for meta_key, meta_value in metadata.items():"},{"line_number":1867,"context_line":"        # update the value whether it exists or not"},{"line_number":1868,"context_line":"        item \u003d {\"value\": meta_value}"},{"line_number":1869,"context_line":"        meta_ref \u003d _share_replica_metadata_get_query("},{"line_number":1870,"context_line":"            context, share_replica_id,"},{"line_number":1871,"context_line":"        ).filter_by(key\u003dmeta_key).first()"},{"line_number":1872,"context_line":"        if not meta_ref:"},{"line_number":1873,"context_line":"            meta_ref \u003d models.ShareInstanceMetadata()"},{"line_number":1874,"context_line":"            item.update({\"key\": meta_key,"},{"line_number":1875,"context_line":"                         \"share_instance_id\": share_replica_id})"},{"line_number":1876,"context_line":"        meta_ref.update(item)"},{"line_number":1877,"context_line":"        meta_ref.save(session\u003dcontext.session)"},{"line_number":1878,"context_line":""},{"line_number":1879,"context_line":"    return metadata"},{"line_number":1880,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"e9f87cf0_5f9cb2e8","line":1877,"range":{"start_line":1866,"start_character":4,"end_line":1877,"end_character":46},"in_reply_to":"69c94b65_4ffc1f1d","updated":"2026-02-17 16:06:25.000000000","message":"Done","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"df3fb0b87707d6c26321d118e03932e1c0b24afc","unresolved":true,"context_lines":[{"line_number":1983,"context_line":"    if \u0027metadata\u0027 in filters:"},{"line_number":1984,"context_line":"        for k, v in filters[\u0027metadata\u0027].items():"},{"line_number":1985,"context_line":"            # pylint: disable\u003dno-member"},{"line_number":1986,"context_line":"            query \u003d query.filter("},{"line_number":1987,"context_line":"                or_(models.ShareInstance.share_instance_metadata.any("},{"line_number":1988,"context_line":"                    key\u003dk, value\u003dv)))"},{"line_number":1989,"context_line":"        filters.pop(\u0027metadata\u0027)"},{"line_number":1990,"context_line":"    # Returns list of share instances that satisfy filters."},{"line_number":1991,"context_line":"    query \u003d query.all()"}],"source_content_type":"text/x-python","patch_set":8,"id":"48340a1e_7332ce55","line":1988,"range":{"start_line":1986,"start_character":12,"end_line":1988,"end_character":37},"updated":"2026-02-05 23:38:52.000000000","message":"there is a better way to do this:\n\n```\n  for k, v in filters[\u0027metadata\u0027].items():\n      alias \u003d orm.aliased(models.ShareInstanceMetadata)\n      query \u003d query.join(\n          alias,\n          and_(\n              alias.share_instance_id \u003d\u003d models.ShareInstance.id,\n              alias.key \u003d\u003d k,\n              alias.value \u003d\u003d v,\n              alias.deleted \u003d\u003d \u0027False\u0027\n          )\n      )\n\n```","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":1983,"context_line":"    if \u0027metadata\u0027 in filters:"},{"line_number":1984,"context_line":"        for k, v in filters[\u0027metadata\u0027].items():"},{"line_number":1985,"context_line":"            # pylint: disable\u003dno-member"},{"line_number":1986,"context_line":"            query \u003d query.filter("},{"line_number":1987,"context_line":"                or_(models.ShareInstance.share_instance_metadata.any("},{"line_number":1988,"context_line":"                    key\u003dk, value\u003dv)))"},{"line_number":1989,"context_line":"        filters.pop(\u0027metadata\u0027)"},{"line_number":1990,"context_line":"    # Returns list of share instances that satisfy filters."},{"line_number":1991,"context_line":"    query \u003d query.all()"}],"source_content_type":"text/x-python","patch_set":8,"id":"44b26648_7e3306d4","line":1988,"range":{"start_line":1986,"start_character":12,"end_line":1988,"end_character":37},"in_reply_to":"48340a1e_7332ce55","updated":"2026-02-17 16:06:25.000000000","message":"Done.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":2214,"context_line":"                                    with_share_server\u003dTrue):"},{"line_number":2215,"context_line":""},{"line_number":2216,"context_line":"    query \u003d model_query(context, models.ShareInstance, read_deleted\u003d\"no\","},{"line_number":2217,"context_line":"                        project_only\u003dFalse)"},{"line_number":2218,"context_line":""},{"line_number":2219,"context_line":"    if not context.is_admin:"},{"line_number":2220,"context_line":"        query \u003d query.join("}],"source_content_type":"text/x-python","patch_set":8,"id":"ff88c713_7e4c14a4","line":2217,"range":{"start_line":2217,"start_character":24,"end_line":2217,"end_character":42},"updated":"2026-02-05 23:20:28.000000000","message":"What is this needed for? Where are we running into an issue where we need cross project access?","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"                                    with_share_server\u003dTrue):"},{"line_number":2215,"context_line":""},{"line_number":2216,"context_line":"    query \u003d model_query(context, models.ShareInstance, read_deleted\u003d\"no\","},{"line_number":2217,"context_line":"                        project_only\u003dFalse)"},{"line_number":2218,"context_line":""},{"line_number":2219,"context_line":"    if not context.is_admin:"},{"line_number":2220,"context_line":"        query \u003d query.join("}],"source_content_type":"text/x-python","patch_set":8,"id":"7dcd6a57_824f3640","line":2217,"range":{"start_line":2217,"start_character":24,"end_line":2217,"end_character":42},"in_reply_to":"ff88c713_7e4c14a4","updated":"2026-02-17 16:06:25.000000000","message":"Removed \"project_only\" completely as discussed.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"1d373043b63138e2a28de43ca9dda372e2892533","unresolved":true,"context_lines":[{"line_number":2306,"context_line":"@require_context"},{"line_number":2307,"context_line":"@context_manager.reader"},{"line_number":2308,"context_line":"def share_replica_get(context, replica_id, with_share_data\u003dFalse,"},{"line_number":2309,"context_line":"                      with_share_server\u003dFalse, project_only\u003dFalse):"},{"line_number":2310,"context_line":"    \"\"\"Returns summary of requested replica if available.\"\"\""},{"line_number":2311,"context_line":"    result \u003d _share_replica_get_with_filters("},{"line_number":2312,"context_line":"        context,"}],"source_content_type":"text/x-python","patch_set":8,"id":"2d0dc605_c2eb7493","line":2309,"range":{"start_line":2309,"start_character":48,"end_line":2309,"end_character":65},"updated":"2026-02-05 23:20:28.000000000","message":"You\u0027re not using this","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","unresolved":false,"context_lines":[{"line_number":2306,"context_line":"@require_context"},{"line_number":2307,"context_line":"@context_manager.reader"},{"line_number":2308,"context_line":"def share_replica_get(context, replica_id, with_share_data\u003dFalse,"},{"line_number":2309,"context_line":"                      with_share_server\u003dFalse, project_only\u003dFalse):"},{"line_number":2310,"context_line":"    \"\"\"Returns summary of requested replica if available.\"\"\""},{"line_number":2311,"context_line":"    result \u003d _share_replica_get_with_filters("},{"line_number":2312,"context_line":"        context,"}],"source_content_type":"text/x-python","patch_set":8,"id":"8648a927_d3d1e226","line":2309,"range":{"start_line":2309,"start_character":48,"end_line":2309,"end_character":65},"in_reply_to":"2d0dc605_c2eb7493","updated":"2026-02-17 16:06:25.000000000","message":"Removed","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1833,"context_line":""},{"line_number":1834,"context_line":""},{"line_number":1835,"context_line":"@context_manager.writer"},{"line_number":1836,"context_line":"def share_replica_metadata_update_item(context, share_replica_id, item):"},{"line_number":1837,"context_line":"    return _share_replica_metadata_update(context, share_replica_id,"},{"line_number":1838,"context_line":"                                          item, delete\u003dFalse)"},{"line_number":1839,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"8306c492_52bcc6e8","line":1836,"range":{"start_line":1836,"start_character":0,"end_line":1836,"end_character":72},"updated":"2026-02-26 18:13:30.000000000","message":"add `@require_share_instance_exists` and `@require_context`\nconsistently to these methods..","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1833,"context_line":""},{"line_number":1834,"context_line":""},{"line_number":1835,"context_line":"@context_manager.writer"},{"line_number":1836,"context_line":"def share_replica_metadata_update_item(context, share_replica_id, item):"},{"line_number":1837,"context_line":"    return _share_replica_metadata_update(context, share_replica_id,"},{"line_number":1838,"context_line":"                                          item, delete\u003dFalse)"},{"line_number":1839,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"de53429c_1dd10029","line":1836,"range":{"start_line":1836,"start_character":0,"end_line":1836,"end_character":72},"in_reply_to":"8306c492_52bcc6e8","updated":"2026-03-10 09:31:50.000000000","message":"Done","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1898,"context_line":"    if metadata is None:"},{"line_number":1899,"context_line":"        metadata \u003d {}"},{"line_number":1900,"context_line":""},{"line_number":1901,"context_line":"        # Fetch all existing metadata once"},{"line_number":1902,"context_line":"    existing_meta \u003d {"},{"line_number":1903,"context_line":"        m.key: m for m in _share_replica_metadata_get_query("},{"line_number":1904,"context_line":"            context, share_replica_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"05a609de_7c4f68e1","line":1901,"range":{"start_line":1901,"start_character":8,"end_line":1901,"end_character":42},"updated":"2026-02-26 18:13:30.000000000","message":"unindent","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1898,"context_line":"    if metadata is None:"},{"line_number":1899,"context_line":"        metadata \u003d {}"},{"line_number":1900,"context_line":""},{"line_number":1901,"context_line":"        # Fetch all existing metadata once"},{"line_number":1902,"context_line":"    existing_meta \u003d {"},{"line_number":1903,"context_line":"        m.key: m for m in _share_replica_metadata_get_query("},{"line_number":1904,"context_line":"            context, share_replica_id"}],"source_content_type":"text/x-python","patch_set":12,"id":"6db3461c_442b63ac","line":1901,"range":{"start_line":1901,"start_character":8,"end_line":1901,"end_character":42},"in_reply_to":"05a609de_7c4f68e1","updated":"2026-03-10 09:31:50.000000000","message":"Done","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"}],"manila/db/sqlalchemy/models.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"df3fb0b87707d6c26321d118e03932e1c0b24afc","unresolved":true,"context_lines":[{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    share_instance \u003d orm.relationship("},{"line_number":670,"context_line":"        ShareInstance,"},{"line_number":671,"context_line":"        backref\u003dorm.backref(\u0027share_instance_metadata\u0027, lazy\u003d\u0027immediate\u0027),"},{"line_number":672,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":673,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":674,"context_line":"        \u0027ShareInstanceMetadata.share_instance_id \u003d\u003d ShareInstance.id,\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba85a90b_a61d6575","line":671,"range":{"start_line":671,"start_character":53,"end_line":671,"end_character":71},"updated":"2026-02-05 23:38:52.000000000","message":"no; please don\u0027t eager load this alongside instances. Instances are frequently accessed and metadata may not be required always. You\u0027re using joinedload in the DB queries, so you can drop this.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cb7293abe406ba321646ad16f73f7666475ce9e6","unresolved":false,"context_lines":[{"line_number":668,"context_line":""},{"line_number":669,"context_line":"    share_instance \u003d orm.relationship("},{"line_number":670,"context_line":"        ShareInstance,"},{"line_number":671,"context_line":"        backref\u003dorm.backref(\u0027share_instance_metadata\u0027, lazy\u003d\u0027immediate\u0027),"},{"line_number":672,"context_line":"        foreign_keys\u003dshare_instance_id,"},{"line_number":673,"context_line":"        primaryjoin\u003d\u0027and_(\u0027"},{"line_number":674,"context_line":"        \u0027ShareInstanceMetadata.share_instance_id \u003d\u003d ShareInstance.id,\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"18423755_d934b0a9","line":671,"range":{"start_line":671,"start_character":53,"end_line":671,"end_character":71},"in_reply_to":"ba85a90b_a61d6575","updated":"2026-02-18 06:51:51.000000000","message":"Done.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"84039c43_4bd72618","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"updated":"2026-02-26 18:13:30.000000000","message":"this second call here and in all the replication methods is unnecessary.. \nIn _get_share_instance_dict, add this:\n\n```\n  \u0027metadata\u0027: {m[\u0027key\u0027]: m[\u0027value\u0027]\n               for m in share_instance.get(\n                   \u0027share_instance_metadata\u0027, [])},\n```","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"3392873c73cfb1c1ada24c5b9f0173a264a7a487","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"d4308163_7a5498d8","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"24b6dba3_9518d3de","updated":"2026-03-17 17:28:46.000000000","message":"Thank you so much goutham/carloss.\nBug link: https://bugs.launchpad.net/manila/+bug/2144676","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5d48d67c5a39bdedb81aa3c302dddbcb7918e32a","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"f4dada37_8e28d714","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"3fe74698_1dfe7906","updated":"2026-03-10 20:42:28.000000000","message":"Let\u0027s keep the comment open until it\u0027s actually resolved.\n\nThanks for the honesty with time constraints... Is there someone in the NetApp team that can help addressing the comments when you\u0027re away?\n\nMy two cents here...\n\n\u003e Thank you Goutham. I tried keeping in \"_get_share_instance_dict\", more than 11 UTs are failing and if I touch UTs and code, more are failing.\n\nSorry, this is expected. Enhancing the code means needing to change the tests as a side effect and should not be a reason for us not to consider this as part of this release. We should pursue the fixes.\n\n\u003e  and we can address this in upcoming release\n\nDeciding both if comments can be addressed in a follow-up change or whether to defer a fix to a later release is usually a call for the reviewers involved.\n\nIf we start allowing more exceptions because a change proposed as part of the reviews breaks unit tests, we\u0027ll be going to a bad direction.\n\nI understand the limitations with time, but both reviewers and change authors are accountable for changes that merge and the next steps agreed on.\n\nWhile we want to be flexible, the reviewers agreed to the initial merge on the condition that this follow-up would fully address the remaining debt. Partially following up makes reviewers hesitate to offer that flexibility in the future.\n\nTo maintain our quality standards and fairness to other contributors, we need to stick to that original agreement.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a4e60b39ff787199d9b16a7286b3e6e96ef58347","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"acaeff4e_166d4f9c","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"648b38c0_b10cffb4","updated":"2026-03-11 17:33:50.000000000","message":"Well articulated Carlos, and I think having this discussion here publicly allows us to align as a community on our practices and norms. Glad you brought this issue up Sai, and for your respectful acceptance on the feedback. \n\nAs it is written, this code isn\u0027t incorrect, just inefficient.\n\nSince you\u0027re strapped for time, you could file a \"low\" prio bug on Launchpad and describe the issue you\u0027re hitting. When you/someone ends up fixing this, we could back port the fix to this code branch. Would that be acceptable, @ces.eduardo98@gmail.com?","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"3fe74698_1dfe7906","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"84039c43_4bd72618","updated":"2026-03-10 09:31:50.000000000","message":"Thank you Goutham. I tried keeping in \"_get_share_instance_dict\", more than 11 UTs are failing and if I touch UTs and code, more are failing. \nI won\u0027t available this week from 12th, have limited time for the assigned tasks at the moment so would like to hold this one comment for now, and we can address this in upcoming release. Other comments are addressed.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a945259ab377573e1d078f8ca71abec6e21b11fa","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"24b6dba3_9518d3de","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"acaeff4e_166d4f9c","updated":"2026-03-11 18:05:13.000000000","message":"\u003e Glad you brought this issue up Sai, and for your respectful acceptance on the feedback. \n\n++ \n\nYes, that works @gouthampravi@gmail.com. We will update the RC1 patch by tomorrow morning tops, so as this change needs more time, we can backport this as soon as it merges.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f5c8c9587ea35ed29fabc1cc2c18b9e853e7a232","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"a0aa1565_72e72b3c","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"d4308163_7a5498d8","updated":"2026-03-17 17:38:51.000000000","message":"Follow-up patch raised for the bug 2144676.\nhttps://review.opendev.org/c/openstack/manila/+/981008","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"a24b455e0e5fccb6b13d0ba8be29ccff4aeea03a","unresolved":true,"context_lines":[{"line_number":2582,"context_line":"        replica_list \u003d [self._get_share_instance_dict(context, r)"},{"line_number":2583,"context_line":"                        for r in replica_list]"},{"line_number":2584,"context_line":"        share_replica \u003d self._get_share_instance_dict(context, share_replica)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        share_replica[\u0027metadata\u0027] \u003d ("},{"line_number":2587,"context_line":"            self.db.share_replica_metadata_get("},{"line_number":2588,"context_line":"                context, share_replica_id) or {})"},{"line_number":2589,"context_line":""},{"line_number":2590,"context_line":"        try:"},{"line_number":2591,"context_line":"            replica_ref \u003d self.driver.create_replica("}],"source_content_type":"text/x-python","patch_set":13,"id":"648b38c0_b10cffb4","line":2588,"range":{"start_line":2585,"start_character":0,"end_line":2588,"end_character":49},"in_reply_to":"f4dada37_8e28d714","updated":"2026-03-11 04:31:28.000000000","message":"Yes I agree to all the points you mentioned. Most of the people in team are into RC1 and FST phase. \n\nYes this comment should stay unresolved. First I tried addressing and that time I made the comment resolved, looks like I missed to uncheck Resolved while editing the comment, that was not really intentional. Let\u0027s keep this comment unresolved, let me see if I can spend time and resolve this comment my self. Thanks.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"}],"manila/tests/db/migrations/alembic/migrations_data_checks.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"6ff5627b88a8c79067882fd461bc19ff5411849b","unresolved":true,"context_lines":[{"line_number":3453,"context_line":"            self.test_case.assertFalse(hasattr(s, \u0027disabled_reason\u0027))"},{"line_number":3454,"context_line":""},{"line_number":3455,"context_line":""},{"line_number":3456,"context_line":"@map_to_migration(\u0027004e506e922e\u0027)"},{"line_number":3457,"context_line":"class AddShareReplicaMetadata(BaseMigrationChecks):"},{"line_number":3458,"context_line":"    share_instance_id \u003d uuidutils.generate_uuid()"},{"line_number":3459,"context_line":"    new_table_name \u003d \u0027share_instance_metadata\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"93e2b46d_f024666e","line":3456,"range":{"start_line":3456,"start_character":0,"end_line":3456,"end_character":33},"updated":"2026-02-24 22:11:08.000000000","message":"thanks for adding this, this is very important","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","unresolved":false,"context_lines":[{"line_number":3453,"context_line":"            self.test_case.assertFalse(hasattr(s, \u0027disabled_reason\u0027))"},{"line_number":3454,"context_line":""},{"line_number":3455,"context_line":""},{"line_number":3456,"context_line":"@map_to_migration(\u0027004e506e922e\u0027)"},{"line_number":3457,"context_line":"class AddShareReplicaMetadata(BaseMigrationChecks):"},{"line_number":3458,"context_line":"    share_instance_id \u003d uuidutils.generate_uuid()"},{"line_number":3459,"context_line":"    new_table_name \u003d \u0027share_instance_metadata\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"47cc9ec8_5dc0e775","line":3456,"range":{"start_line":3456,"start_character":0,"end_line":3456,"end_character":33},"in_reply_to":"93e2b46d_f024666e","updated":"2026-02-26 13:23:39.000000000","message":"No problem, thank you!","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"}],"manila/tests/db/sqlalchemy/test_api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1347,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1348,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1349,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1350,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1351,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1352,"context_line":"        self.assertEqual("},{"line_number":1353,"context_line":"            metadata, db_api.share_replica_metadata_get("}],"source_content_type":"text/x-python","patch_set":12,"id":"539b491b_9e026b6f","line":1350,"range":{"start_line":1350,"start_character":23,"end_line":1350,"end_character":40},"updated":"2026-02-26 18:13:30.000000000","message":"this isn\u0027t a kwarg in the method declaration..","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1347,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1348,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1349,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1350,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1351,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1352,"context_line":"        self.assertEqual("},{"line_number":1353,"context_line":"            metadata, db_api.share_replica_metadata_get("}],"source_content_type":"text/x-python","patch_set":12,"id":"412b40bd_7438132f","line":1350,"range":{"start_line":1350,"start_character":23,"end_line":1350,"end_character":40},"in_reply_to":"539b491b_9e026b6f","updated":"2026-03-10 09:31:50.000000000","message":"Done. \nhttps://review.opendev.org/c/openstack/manila/+/978176","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1351,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1352,"context_line":"        self.assertEqual("},{"line_number":1353,"context_line":"            metadata, db_api.share_replica_metadata_get("},{"line_number":1354,"context_line":"                self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027]))"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"    def test_share_replica_metadata_get_item(self):"},{"line_number":1357,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"}],"source_content_type":"text/x-python","patch_set":12,"id":"e9663896_9d359477","line":1354,"range":{"start_line":1354,"start_character":27,"end_line":1354,"end_character":44},"updated":"2026-02-26 18:13:30.000000000","message":"this isn\u0027t a kwarg in the method declaration..","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1351,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1352,"context_line":"        self.assertEqual("},{"line_number":1353,"context_line":"            metadata, db_api.share_replica_metadata_get("},{"line_number":1354,"context_line":"                self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027]))"},{"line_number":1355,"context_line":""},{"line_number":1356,"context_line":"    def test_share_replica_metadata_get_item(self):"},{"line_number":1357,"context_line":"        metadata \u003d {\u0027a\u0027: \u0027b\u0027, \u0027c\u0027: \u0027d\u0027}"}],"source_content_type":"text/x-python","patch_set":12,"id":"ef5897b4_d41d462e","line":1354,"range":{"start_line":1354,"start_character":27,"end_line":1354,"end_character":44},"in_reply_to":"e9663896_9d359477","updated":"2026-03-10 09:31:50.000000000","message":"Done. \nhttps://review.opendev.org/c/openstack/manila/+/978176","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1361,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1362,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1363,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1364,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1365,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1366,"context_line":"        self.assertEqual("},{"line_number":1367,"context_line":"            shouldbe, db_api.share_replica_metadata_get_item("}],"source_content_type":"text/x-python","patch_set":12,"id":"4f0280a3_23a41441","line":1364,"range":{"start_line":1364,"start_character":23,"end_line":1364,"end_character":40},"updated":"2026-02-26 18:13:30.000000000","message":"this isn\u0027t a kwarg in the method declaration..","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1361,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1362,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1363,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1364,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1365,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1366,"context_line":"        self.assertEqual("},{"line_number":1367,"context_line":"            shouldbe, db_api.share_replica_metadata_get_item("}],"source_content_type":"text/x-python","patch_set":12,"id":"3ebb2203_f421a258","line":1364,"range":{"start_line":1364,"start_character":23,"end_line":1364,"end_character":40},"in_reply_to":"4f0280a3_23a41441","updated":"2026-03-10 09:31:50.000000000","message":"Done. \nhttps://review.opendev.org/c/openstack/manila/+/978176","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1365,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1366,"context_line":"        self.assertEqual("},{"line_number":1367,"context_line":"            shouldbe, db_api.share_replica_metadata_get_item("},{"line_number":1368,"context_line":"                self.ctxt, share_replica_id\u003dreplica[\u0027id\u0027],"},{"line_number":1369,"context_line":"                key\u003dkey))"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def test_share_replica_metadata_update(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"76c2fb21_3f9cd4e6","line":1368,"range":{"start_line":1368,"start_character":27,"end_line":1368,"end_character":43},"updated":"2026-02-26 18:13:30.000000000","message":"`share_instance_id` or `share_replica_id`? which is it? also not a kwarg in the method declaration","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1365,"context_line":"            metadata\u003dmetadata, delete\u003dFalse)"},{"line_number":1366,"context_line":"        self.assertEqual("},{"line_number":1367,"context_line":"            shouldbe, db_api.share_replica_metadata_get_item("},{"line_number":1368,"context_line":"                self.ctxt, share_replica_id\u003dreplica[\u0027id\u0027],"},{"line_number":1369,"context_line":"                key\u003dkey))"},{"line_number":1370,"context_line":""},{"line_number":1371,"context_line":"    def test_share_replica_metadata_update(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"aee36488_0669d2d0","line":1368,"range":{"start_line":1368,"start_character":27,"end_line":1368,"end_character":43},"in_reply_to":"76c2fb21_3f9cd4e6","updated":"2026-03-10 09:31:50.000000000","message":"Done.\nhttps://review.opendev.org/c/openstack/manila/+/978176","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","unresolved":true,"context_lines":[{"line_number":1376,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1377,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1378,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1379,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1380,"context_line":"            metadata\u003dmetadata1, delete\u003dFalse)"},{"line_number":1381,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1382,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"d5176f4b_96aafc47","line":1379,"range":{"start_line":1379,"start_character":23,"end_line":1379,"end_character":40},"updated":"2026-02-26 18:13:30.000000000","message":"in all the tests, please drop this unnecessary kwarg","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","unresolved":false,"context_lines":[{"line_number":1376,"context_line":"        replica \u003d db_utils.create_share_replica("},{"line_number":1377,"context_line":"            share_id\u003dshare[\u0027id\u0027])"},{"line_number":1378,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1379,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"},{"line_number":1380,"context_line":"            metadata\u003dmetadata1, delete\u003dFalse)"},{"line_number":1381,"context_line":"        db_api.share_replica_metadata_update("},{"line_number":1382,"context_line":"            self.ctxt, share_instance_id\u003dreplica[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":12,"id":"b0e9ea8e_67acf12c","line":1379,"range":{"start_line":1379,"start_character":23,"end_line":1379,"end_character":40},"in_reply_to":"d5176f4b_96aafc47","updated":"2026-03-10 09:31:50.000000000","message":"Done.\nhttps://review.opendev.org/c/openstack/manila/+/978176","commit_id":"95322b61b2b3994cdeac273472951b96e3b73a9f"}],"releasenotes/notes/add_share_replica_metadata-519898d0cf144afa.yaml":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e61da8f09bf244b3d4a98eaa78c71c4da8b80a58","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."},{"line_number":6,"context_line":"    Replica metadata is available to admin and nonadmin users."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"52742844_5cc23ee6","line":4,"updated":"2026-02-02 06:58:15.000000000","message":"including.\n\nunless API is admin only, we dont need to mention. So we can remove last line.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"09ee4c8eb67a59b5445591c8e914b241df7c3eca","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."},{"line_number":6,"context_line":"    Replica metadata is available to admin and nonadmin users."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"b9e5915d_ccd70048","line":4,"in_reply_to":"220f44ea_a7b700a3","updated":"2026-02-17 16:06:25.000000000","message":"Done.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"c05d948e33227e7a540b50702a86b299079ce7a8","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."},{"line_number":6,"context_line":"    Replica metadata is available to admin and nonadmin users."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"220f44ea_a7b700a3","line":4,"in_reply_to":"52742844_5cc23ee6","updated":"2026-02-03 07:32:23.000000000","message":"Sure Kiran, thanks for the suggestion. Will update this in next patchset.","commit_id":"f9c10b8e9ec4c30f043f40994c7d455a5745d3e8"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"fb3a676597fe94f6da194a68682c67d505ff4fb2","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"f99822d3_aa61e446","line":4,"updated":"2026-02-20 07:03:51.000000000","message":"nit: you can elaborate with examples","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0136ba55e2a0f0527787195664ab5f162d836b17","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"811d6249_30386d3b","line":4,"in_reply_to":"f99822d3_aa61e446","updated":"2026-02-26 13:23:39.000000000","message":"The examples have been added to api-ref doc elaborately. Thanks.","commit_id":"86d36c770a1ae1f3aa47f47a02e506e39984b1d7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"ac551be65bdfcb5c73a9858546ebd84767f9b1bd","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"fc6bfff2_eb4ed49e","line":4,"range":{"start_line":4,"start_character":45,"end_line":4,"end_character":54},"updated":"2026-02-26 18:13:30.000000000","message":"typo","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"219bd237be87245614a3490f9748cbaa615ae172","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":"    Adds share replica metadata capabilities inlcuding, create,"},{"line_number":5,"context_line":"    update all, update single, show, and delete metadata."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"10998f5e_57f93b53","line":4,"range":{"start_line":4,"start_character":45,"end_line":4,"end_character":54},"in_reply_to":"fc6bfff2_eb4ed49e","updated":"2026-03-10 09:31:50.000000000","message":"Done.","commit_id":"a4f509e3261e9ef7ab73892c8d59758eaa840542"}]}
