)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d6603237fbda3ba2a8a6e2242e27347c7c2c2d58","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     shenjiatong \u003cyshxxsjt715@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-06-15 22:07:17 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Clear connection info if vol disconnected"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Clear connection_info for bdm after volume"},{"line_number":10,"context_line":"got disconnected and detached."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1978827"},{"line_number":13,"context_line":"Change-Id: Ife7ea711238be884fab059f3c6dfad07e7f74459"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f79b8087_4f630b46","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":30},"updated":"2022-06-15 14:10:49.000000000","message":"this does not explain what the patch does\n\n\nthe patch is makeing detach volume conditional on if the connection still present\nand setting connection info to none if we have an attment id.\n\nthis also does not have any unit test coverage or a release note\nso -1","commit_id":"8ce49eaf8e0b0bb7269153df4e5519bfcad97b88"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"42b0dd17f1797dd036fb4b00d055fe052730fcd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c4542a62_e1107d64","updated":"2022-06-15 14:12:00.000000000","message":"looking at the bug i woudl like to see a repoducer functional test that assert the exisitng bug and the see this change updadate the test to show that it now works properly\nhttps://bugs.launchpad.net/nova/+bug/1978827","commit_id":"8ce49eaf8e0b0bb7269153df4e5519bfcad97b88"},{"author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"change_message_id":"26bb3af1254f27c137ce0eada5fb3234e999e707","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f476b9b7_a7aedf82","in_reply_to":"c4542a62_e1107d64","updated":"2022-06-16 08:00:07.000000000","message":"thank you for reply. I am trying to write a functional test but I saw cast has been patched to call and rebuild api return 500 immediately. How could I workaround it? thank you.","commit_id":"8ce49eaf8e0b0bb7269153df4e5519bfcad97b88"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"116656ef5334f2753ac19cce60b911ae16c6ee72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4588ede0_9a07fa6e","in_reply_to":"f476b9b7_a7aedf82","updated":"2022-06-20 09:16:42.000000000","message":"yes we intentionally convert calls to casts to make the async errors synchronous.\n\nin your repoducer testcase provided the error message retruned with the 500 is triging the bug you can simply assert that the error is corerct as the repoducer.\n\nthen in your followup patch which is this patch you can update the functional test to asser the correct fixed behavior.","commit_id":"8ce49eaf8e0b0bb7269153df4e5519bfcad97b88"}],"nova/tests/functional/compute/test_rebuild.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1bcdd22a39a66c43cac058f20016f2f2b788b01","unresolved":true,"context_lines":[{"line_number":24,"context_line":"from nova.tests.functional import integrated_helpers"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class RebuildInstanceCinderFailure(integrated_helpers._IntegratedTestBase):"},{"line_number":28,"context_line":"    # Default self.api to the self.admin_api as live migration is admin only"},{"line_number":29,"context_line":"    ADMIN_API \u003d True"},{"line_number":30,"context_line":"    api_major_version \u003d \u0027v2.1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"e0fb5ecd_6c6d6345","line":27,"range":{"start_line":27,"start_character":54,"end_line":27,"end_character":73},"updated":"2022-06-20 09:26:39.000000000","message":"you shoudl not really inherit form this\n\nyou shoudl do \n\n\nclass RebuildInstanceCinderFailure(\n    test.TestCase,\n    integrated_helpers.InstanceHelperMixin\n    ):\n\ninstead like \nhttps://github.com/openstack/nova/blob/d64edd3da2336a5c7c8f69cced45272cbaf638a9/nova/tests/functional/regressions/test_bug_1862633.py#L21-L22\u003d\n\nthe mixing is what provides the helper functions which you shoudl reuse","commit_id":"26c116ae709b323ecb63660bd5309282aebdf3b5"},{"author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"change_message_id":"6dfcf59500eb034c414d267b0fe4cb2f0935dced","unresolved":true,"context_lines":[{"line_number":24,"context_line":"from nova.tests.functional import integrated_helpers"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class RebuildInstanceCinderFailure(integrated_helpers._IntegratedTestBase):"},{"line_number":28,"context_line":"    # Default self.api to the self.admin_api as live migration is admin only"},{"line_number":29,"context_line":"    ADMIN_API \u003d True"},{"line_number":30,"context_line":"    api_major_version \u003d \u0027v2.1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"a8566267_7367e26a","line":27,"range":{"start_line":27,"start_character":54,"end_line":27,"end_character":73},"in_reply_to":"e0fb5ecd_6c6d6345","updated":"2022-06-20 22:19:34.000000000","message":"thank you, I will try that.","commit_id":"26c116ae709b323ecb63660bd5309282aebdf3b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d1bcdd22a39a66c43cac058f20016f2f2b788b01","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        with mock.patch("},{"line_number":76,"context_line":"                \u0027nova.volume.cinder.API.attachment_delete\u0027) as mock_del:"},{"line_number":77,"context_line":"            mock_del.side_effect \u003d mock_delete"},{"line_number":78,"context_line":"            # test_rebuild_instance_with_scheduler_group_failure requires"},{"line_number":79,"context_line":"            # cast to return some value altough it shouldn\u0027t. so just"},{"line_number":80,"context_line":"            # try catch the post failure"},{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":83,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"39baf3ba_b0e5ce91","line":80,"range":{"start_line":78,"start_character":10,"end_line":80,"end_character":40},"updated":"2022-06-20 09:26:39.000000000","message":"how is this relevnet?\n\nyou re not inheriting form that test.","commit_id":"26c116ae709b323ecb63660bd5309282aebdf3b5"},{"author":{"_account_id":29071,"name":"norman shen","email":"yshxxsjt715@gmail.com","username":"ushen"},"change_message_id":"6dfcf59500eb034c414d267b0fe4cb2f0935dced","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        with mock.patch("},{"line_number":76,"context_line":"                \u0027nova.volume.cinder.API.attachment_delete\u0027) as mock_del:"},{"line_number":77,"context_line":"            mock_del.side_effect \u003d mock_delete"},{"line_number":78,"context_line":"            # test_rebuild_instance_with_scheduler_group_failure requires"},{"line_number":79,"context_line":"            # cast to return some value altough it shouldn\u0027t. so just"},{"line_number":80,"context_line":"            # try catch the post failure"},{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":83,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":3,"id":"54997dab_97b26392","line":80,"range":{"start_line":78,"start_character":10,"end_line":80,"end_character":40},"in_reply_to":"39baf3ba_b0e5ce91","updated":"2022-06-20 22:19:34.000000000","message":"if I\u0027m not inheriting from _IntegratedTestBase, will fixture CastAsCallFixture still be used? if not, then I think I should switch base test helper..","commit_id":"26c116ae709b323ecb63660bd5309282aebdf3b5"}]}
