)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"444e9e166525e7b05fbe3cd14cfdcdb255553505","unresolved":true,"context_lines":[{"line_number":20,"context_line":"The validation is performed before attempting to create the"},{"line_number":21,"context_line":"share group, providing early feedback to users and preventing"},{"line_number":22,"context_line":"invalid configurations from being processed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Tests:"},{"line_number":25,"context_line":"- Added test cases for share group type validation scenarios"},{"line_number":26,"context_line":"- Updated existing snapshot-based tests to use the"},{"line_number":27,"context_line":"  _setup_share_group_snapshot_mocks() helper method to properly"},{"line_number":28,"context_line":"  mock the new validation flow"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Closes-Bug: #1781127"},{"line_number":31,"context_line":"Generated-By: OpenAI ChatGPT and Claude AI"},{"line_number":32,"context_line":"Change-Id: I0a8d5b5d9ca3344d913d250e1b849c8316830bab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"d6032013_71a24b46","line":29,"range":{"start_line":23,"start_character":0,"end_line":29,"end_character":0},"updated":"2026-09-16 21:29:00.000000000","message":"this isn\u0027t useful. \n\nCommit messages should clarify \"why\" something was done rather than enumerating what all was done. The What is usually obvious when reading the code.","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"},{"author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"change_message_id":"401396e928c4ce0689b3580c99ed614573d1e131","unresolved":false,"context_lines":[{"line_number":20,"context_line":"The validation is performed before attempting to create the"},{"line_number":21,"context_line":"share group, providing early feedback to users and preventing"},{"line_number":22,"context_line":"invalid configurations from being processed."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Tests:"},{"line_number":25,"context_line":"- Added test cases for share group type validation scenarios"},{"line_number":26,"context_line":"- Updated existing snapshot-based tests to use the"},{"line_number":27,"context_line":"  _setup_share_group_snapshot_mocks() helper method to properly"},{"line_number":28,"context_line":"  mock the new validation flow"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Closes-Bug: #1781127"},{"line_number":31,"context_line":"Generated-By: OpenAI ChatGPT and Claude AI"},{"line_number":32,"context_line":"Change-Id: I0a8d5b5d9ca3344d913d250e1b849c8316830bab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"2239267f_aa222669","line":29,"range":{"start_line":23,"start_character":0,"end_line":29,"end_character":0},"in_reply_to":"d6032013_71a24b46","updated":"2026-09-25 10:36:10.000000000","message":"Acknowledged","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0b1da406997d460856ddc077964bf6d4c3002be3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f7470e1d_a9137a4e","updated":"2025-10-15 20:01:14.000000000","message":"Hi @llm.tech.developer@gmail.com\n\nThank you for working on this bug fix; The fix looks correct. I have a couple of concerns. \n\n1) Are you using any sort of AI assistance in generating this code? If yes, please ensure that you\u0027re adhering to the OpenInfra AI policy: https://openinfra.org/legal/ai-policy ; you\u0027ll need to add \"Assisted-By\" or \"Generated-By\" in your commit message depending on the level of assistance\n2) Please add a release note for this change: https://docs.openstack.org/manila/latest/contributor/adding_release_notes.html#what-are-release-notes","commit_id":"e93965877aad260be05903b65be231d742dcf315"},{"author":{"_account_id":38463,"name":"llm tech","display_name":"llmtech","email":"llm.tech.developer@gmail.com","username":"llmtech"},"change_message_id":"2ae4c586e5230600d23f5a91a5473028875cf865","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ca86e71d_118e158b","in_reply_to":"203332fb_3b8e05e3","updated":"2025-10-20 10:05:11.000000000","message":"Done","commit_id":"e93965877aad260be05903b65be231d742dcf315"},{"author":{"_account_id":38463,"name":"llm tech","display_name":"llmtech","email":"llm.tech.developer@gmail.com","username":"llmtech"},"change_message_id":"67667c45b91d319d24994343637e1783cb7a7ed0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"203332fb_3b8e05e3","in_reply_to":"f7470e1d_a9137a4e","updated":"2025-10-17 06:31:23.000000000","message":"Thank you very much for the feedback @gouthampravi@gmail.com \nYes, I have been assisted by AI and especially in the case of tests, I have used AI generated code, but of course I have tried to understand what it is doing.\nI have also manually reproduced the bug, and after the correction, manually tested that it is working ok and returning the 400 Bad Request error.\nI will now add the labels in accordance with the AI Policy, and try to work on adding the release note, as you mentioned.","commit_id":"e93965877aad260be05903b65be231d742dcf315"},{"author":{"_account_id":38842,"name":"Silvia Wachira","display_name":"Silvia Wachira","email":"wachirasilvia8@gmail.com","username":"Silvia-Wachira"},"change_message_id":"89ff876f6d4ca2481fd6cbafb1f5cd5c33ee191d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f13f9d42_6819fc62","updated":"2026-07-16 07:39:25.000000000","message":"Coverage looks solid for type match, mismatch and inherited-type cases. One gap: _setup_share_group_snapshot_mocks always defaults to fake_share_group_type[\u0027id\u0027] if no type is passed, so there\u0027s no test for a source group with no type set at all.","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":38463,"name":"llm tech","display_name":"llmtech","email":"llm.tech.developer@gmail.com","username":"llmtech"},"change_message_id":"2ae4c586e5230600d23f5a91a5473028875cf865","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"fbcfcaa0_79d812f4","updated":"2025-10-20 10:05:11.000000000","message":"Hi @gouthampravi@gmail.com I added the label Generated-By and also the release notes, as you mentioned.","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bb2f26a11f76e6636f73a26a7bfc3268c10492d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1b373697_68a97202","updated":"2026-03-03 19:04:43.000000000","message":"LGTM, only minor suggestions inline.","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"8446fd15f49fa9fcfb08fa32bc4707d9b89a7167","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a6d3d4a4_ddc92462","updated":"2026-03-05 15:35:10.000000000","message":"LGTM. One nit pick about the releasenotes.","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"db3911cdf03b9133de66ee803468d0df04941e17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2432e06f_cb878697","updated":"2026-08-20 13:38:35.000000000","message":"LGTM code wise.","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"},{"author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"change_message_id":"3dfe6e9f6fe584bbd717f87f3d8117662a114b5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f7bac512_3d2b8454","updated":"2026-09-16 16:21:03.000000000","message":"LGTM! Tested the fix locally.","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"}],"manila/api/v2/share_groups.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bb2f26a11f76e6636f73a26a7bfc3268c10492d","unresolved":true,"context_lines":[{"line_number":242,"context_line":"                kwargs[\u0027availability_zone\u0027] \u003d az.name"},{"line_number":243,"context_line":"            except exception.AvailabilityZoneNotFound as e:"},{"line_number":244,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        if \u0027source_share_group_snapshot_id\u0027 in share_group:"},{"line_number":247,"context_line":"            source_share_group_snapshot_id \u003d share_group.get("},{"line_number":248,"context_line":"                \u0027source_share_group_snapshot_id\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"35d54683_6a045633","side":"PARENT","line":245,"updated":"2026-03-03 19:04:43.000000000","message":"removing these lines can be misleading when checking the commit history in the future, so I suggest not doing it","commit_id":"40107f961671fd55710f70eef30ea526298b5e22"},{"author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"change_message_id":"3d9c3e59677b968a4738fc763ffcfcc52840057d","unresolved":false,"context_lines":[{"line_number":242,"context_line":"                kwargs[\u0027availability_zone\u0027] \u003d az.name"},{"line_number":243,"context_line":"            except exception.AvailabilityZoneNotFound as e:"},{"line_number":244,"context_line":"                raise exc.HTTPNotFound(explanation\u003de.msg)"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"        if \u0027source_share_group_snapshot_id\u0027 in share_group:"},{"line_number":247,"context_line":"            source_share_group_snapshot_id \u003d share_group.get("},{"line_number":248,"context_line":"                \u0027source_share_group_snapshot_id\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"79829626_1461f4b4","side":"PARENT","line":245,"in_reply_to":"35d54683_6a045633","updated":"2026-08-19 04:16:04.000000000","message":"Acknowledged","commit_id":"40107f961671fd55710f70eef30ea526298b5e22"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"444e9e166525e7b05fbe3cd14cfdcdb255553505","unresolved":true,"context_lines":[{"line_number":274,"context_line":"                        \"share group type has not been configured.\")"},{"line_number":275,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if \u0027source_share_group_snapshot_id\u0027 in kwargs:"},{"line_number":278,"context_line":"            # Get snapshot and validate group type matches"},{"line_number":279,"context_line":"            try:"},{"line_number":280,"context_line":"                snapshot \u003d self.share_group_api.get_share_group_snapshot("},{"line_number":281,"context_line":"                    context, kwargs[\u0027source_share_group_snapshot_id\u0027])"},{"line_number":282,"context_line":"            except exception.ShareGroupSnapshotNotFound as e:"},{"line_number":283,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dstr(e))"},{"line_number":284,"context_line":"            source_group \u003d self._get_share_group("},{"line_number":285,"context_line":"                context, snapshot[\u0027share_group_id\u0027])"},{"line_number":286,"context_line":"            source_type \u003d source_group.get(\u0027share_group_type_id\u0027)"},{"line_number":287,"context_line":"            requested_type \u003d kwargs.get(\u0027share_group_type_id\u0027)"},{"line_number":288,"context_line":"            if requested_type !\u003d source_type:"},{"line_number":289,"context_line":"                msg \u003d _(\"Cannot create share group from snapshot with a \""},{"line_number":290,"context_line":"                        \"different share group type. The snapshot\u0027s group \""},{"line_number":291,"context_line":"                        \"type is \u0027%(source)s\u0027 but \u0027%(requested)s\u0027 was \""},{"line_number":292,"context_line":"                        \"specified.\") % {"},{"line_number":293,"context_line":"                    \u0027source\u0027: source_type,"},{"line_number":294,"context_line":"                    \u0027requested\u0027: requested_type"},{"line_number":295,"context_line":"                }"},{"line_number":296,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        try:"},{"line_number":299,"context_line":"            new_share_group \u003d self.share_group_api.create(context, **kwargs)"}],"source_content_type":"text/x-python","patch_set":9,"id":"029b7235_830175f0","line":296,"range":{"start_line":277,"start_character":0,"end_line":296,"end_character":57},"updated":"2026-09-16 21:29:00.000000000","message":"The code here is adding a lookup for a share group snapshot, and for its corresponding share group..\n\ndoing this here is going to be inefficient. There\u0027s already a lookup in the share group API that is invoked right after this: https://github.com/openstack/manila/blob/9d7a74916ebf5a2389ec7f9d901ca4ced36eb05e/manila/share_group/api.py#L62-L71\n\nSo maybe add this validation there","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"},{"author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"change_message_id":"401396e928c4ce0689b3580c99ed614573d1e131","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                        \"share group type has not been configured.\")"},{"line_number":275,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if \u0027source_share_group_snapshot_id\u0027 in kwargs:"},{"line_number":278,"context_line":"            # Get snapshot and validate group type matches"},{"line_number":279,"context_line":"            try:"},{"line_number":280,"context_line":"                snapshot \u003d self.share_group_api.get_share_group_snapshot("},{"line_number":281,"context_line":"                    context, kwargs[\u0027source_share_group_snapshot_id\u0027])"},{"line_number":282,"context_line":"            except exception.ShareGroupSnapshotNotFound as e:"},{"line_number":283,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dstr(e))"},{"line_number":284,"context_line":"            source_group \u003d self._get_share_group("},{"line_number":285,"context_line":"                context, snapshot[\u0027share_group_id\u0027])"},{"line_number":286,"context_line":"            source_type \u003d source_group.get(\u0027share_group_type_id\u0027)"},{"line_number":287,"context_line":"            requested_type \u003d kwargs.get(\u0027share_group_type_id\u0027)"},{"line_number":288,"context_line":"            if requested_type !\u003d source_type:"},{"line_number":289,"context_line":"                msg \u003d _(\"Cannot create share group from snapshot with a \""},{"line_number":290,"context_line":"                        \"different share group type. The snapshot\u0027s group \""},{"line_number":291,"context_line":"                        \"type is \u0027%(source)s\u0027 but \u0027%(requested)s\u0027 was \""},{"line_number":292,"context_line":"                        \"specified.\") % {"},{"line_number":293,"context_line":"                    \u0027source\u0027: source_type,"},{"line_number":294,"context_line":"                    \u0027requested\u0027: requested_type"},{"line_number":295,"context_line":"                }"},{"line_number":296,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        try:"},{"line_number":299,"context_line":"            new_share_group \u003d self.share_group_api.create(context, **kwargs)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5c7a9e5e_05956f62","line":296,"range":{"start_line":277,"start_character":0,"end_line":296,"end_character":57},"in_reply_to":"029b7235_830175f0","updated":"2026-09-25 10:36:10.000000000","message":"Acknowledged. Thanks for the Review @gouthampravi@gmail.com! Submitted new PS please take a look.","commit_id":"a6af0b41fd2b30071e6388d428705a18891716b9"}],"releasenotes/notes/bug-1781127-share-group-from-snapshot-bug-fix-8c4e5431ae6cceeb.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"0bb2f26a11f76e6636f73a26a7bfc3268c10492d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The bug with share groups that can be created from snapshot with different share group type has been fixed."},{"line_number":5,"context_line":"    See `bug \u003chttps://bugs.launchpad.net/manila/+bug/1781127\u003e`_ for more details."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"64bdc908_3b196d77","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":81},"updated":"2026-03-03 19:04:43.000000000","message":"in the future, please keep release note lines under 79 characters","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c9da9fde3a5f31c11507612de5be2230792ac3c3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The bug with share groups that can be created from snapshot with different share group type has been fixed."},{"line_number":5,"context_line":"    See `bug \u003chttps://bugs.launchpad.net/manila/+bug/1781127\u003e`_ for more details."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"8037efec_f1cd7075","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":81},"in_reply_to":"0dfbdb2d_ce299e24","updated":"2026-03-06 18:09:04.000000000","message":"Good question. It shouldn\u0027t... The rule about 79 characters is pep8 related, but pep8 is not run here, so that\u0027s why we don\u0027t see the CI failing.","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"8446fd15f49fa9fcfb08fa32bc4707d9b89a7167","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The bug with share groups that can be created from snapshot with different share group type has been fixed."},{"line_number":5,"context_line":"    See `bug \u003chttps://bugs.launchpad.net/manila/+bug/1781127\u003e`_ for more details."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"0dfbdb2d_ce299e24","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":81},"in_reply_to":"64bdc908_3b196d77","updated":"2026-03-05 15:35:10.000000000","message":"Wouldn\u0027t this break the releasenotes CI run?","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"},{"author":{"_account_id":38762,"name":"Sahil Kumbhar","display_name":"sakumbha","email":"sakumbha@redhat.com","username":"sakumbha"},"change_message_id":"3d9c3e59677b968a4738fc763ffcfcc52840057d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The bug with share groups that can be created from snapshot with different share group type has been fixed."},{"line_number":5,"context_line":"    See `bug \u003chttps://bugs.launchpad.net/manila/+bug/1781127\u003e`_ for more details."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"021ea08c_8655ae84","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":81},"in_reply_to":"8037efec_f1cd7075","updated":"2026-08-19 04:16:04.000000000","message":"Acknowledged","commit_id":"f67919f80694e07e785e8efad5b86208faa549d5"}]}
