)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a26627419a092d365e88fbae73cdeb11b39a183c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"33d905d9_79dfb816","updated":"2026-11-11 04:12:19.000000000","message":"Thanks for finding and fixing this!","commit_id":"6c3354e665e7a34927954ba2d2135c5731a82f7d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4bc7ba682cba771edaddef0f675da57d8b72b447","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e7b9d79_2212f869","updated":"2026-11-12 02:44:42.000000000","message":"We need to backport this to stable/2026.2 (Hibiscus) and then stable/2026.1 (Gazpacho).  In Gazpacho it will catch up to Change Ib2044e4143b9, and then we should probably squash Ib2044e4143b9 and this one together for a backport to stable/2025.2 (Flamingo).  Then we can propose the Flamingo squashed patch to unmaintained/2025.1 (Epoxy) as a courtesy to the unmaintainers.","commit_id":"6c3354e665e7a34927954ba2d2135c5731a82f7d"}],"cinder/tests/unit/policies/test_attachments.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a26627419a092d365e88fbae73cdeb11b39a183c","unresolved":true,"context_lines":[{"line_number":125,"context_line":"    @ddt.data(\u0027other_project_member\u0027, \u0027other_project_reader\u0027)"},{"line_number":126,"context_line":"    def test_show_attachment_of_another_project(self, user_id):"},{"line_number":127,"context_line":"        attachment_id \u003d self._create_attachment()"},{"line_number":128,"context_line":"        # Owning any volume must not expose another project\u0027s attachment."},{"line_number":129,"context_line":"        test_utils.create_volume(self.create_context(user_id),"},{"line_number":130,"context_line":"                                 testcase_instance\u003dself)"},{"line_number":131,"context_line":"        self.assertRaises(exception.VolumeAttachmentNotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff3e0137_b61dc805","line":128,"updated":"2026-11-11 04:12:19.000000000","message":"nit: if you have to push a revision, add \"Bug #2173158: \" to the beginning of this comment because otherwise it doesn\u0027t make any sense (of course owning a volume shouldn\u0027t expose another project\u0027s attachment!) without doing a git blame and looking at the commit message","commit_id":"6c3354e665e7a34927954ba2d2135c5731a82f7d"},{"author":{"_account_id":39583,"name":"Noppakorn Kaewsalabnil","email":"noppakorn@nipa.cloud","username":"PunGrumpy"},"change_message_id":"e7d825d0f296acc6bfd357a0404ff39dddc01fcb","unresolved":true,"context_lines":[{"line_number":125,"context_line":"    @ddt.data(\u0027other_project_member\u0027, \u0027other_project_reader\u0027)"},{"line_number":126,"context_line":"    def test_show_attachment_of_another_project(self, user_id):"},{"line_number":127,"context_line":"        attachment_id \u003d self._create_attachment()"},{"line_number":128,"context_line":"        # Owning any volume must not expose another project\u0027s attachment."},{"line_number":129,"context_line":"        test_utils.create_volume(self.create_context(user_id),"},{"line_number":130,"context_line":"                                 testcase_instance\u003dself)"},{"line_number":131,"context_line":"        self.assertRaises(exception.VolumeAttachmentNotFound,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a87d14d_1c7736be","line":128,"in_reply_to":"ff3e0137_b61dc805","updated":"2026-11-11 04:42:51.000000000","message":"Thanks for the review! Agreed, the comment needs the bug number to make sense. I\u0027ll add \"Bug #2173158: \" if another revision is needed, and leave this open until then.","commit_id":"6c3354e665e7a34927954ba2d2135c5731a82f7d"}]}
