)]}'
{"nova/tests/functional/regressions/test_bug_1899835.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"13ea0e6c4f86ba13e1d393b4978a07d7171c4c68","unresolved":true,"context_lines":[{"line_number":109,"context_line":"        # FIXME(lyarwood): This is bug #1899835, disconnect_volume shouldn\u0027t be"},{"line_number":110,"context_line":"        # called on the destination host without connect_volume first being"},{"line_number":111,"context_line":"        # called and especially using with the connection_info from the source"},{"line_number":112,"context_line":"        self.assertEqual(2, mock_dest_disconnect.call_count)"},{"line_number":113,"context_line":"        call1 \u003d mock.call("},{"line_number":114,"context_line":"            mock.ANY, src_connection_info, mock.ANY, encryption\u003dmock.ANY)"},{"line_number":115,"context_line":"        call2 \u003d mock.call("}],"source_content_type":"text/x-python","patch_set":1,"id":"711efd4f_ad1b0ddb","line":112,"updated":"2025-04-07 19:08:50.000000000","message":"```\n+        # First call is from ComputeManager._remove_volume_connection() called\n+        # eventually from ComputeManager._rollback_live_migration() on the\n+        # source.\n```","commit_id":"66448ed893dc3b891c06a260914bf44af640558f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"88efdf0f0a426ea3e51596ad8ba91ca7583ae390","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        # FIXME(lyarwood): This is bug #1899835, disconnect_volume shouldn\u0027t be"},{"line_number":110,"context_line":"        # called on the destination host without connect_volume first being"},{"line_number":111,"context_line":"        # called and especially using with the connection_info from the source"},{"line_number":112,"context_line":"        self.assertEqual(2, mock_dest_disconnect.call_count)"},{"line_number":113,"context_line":"        call1 \u003d mock.call("},{"line_number":114,"context_line":"            mock.ANY, src_connection_info, mock.ANY, encryption\u003dmock.ANY)"},{"line_number":115,"context_line":"        call2 \u003d mock.call("}],"source_content_type":"text/x-python","patch_set":1,"id":"9c242d6d_568f46b9","line":112,"in_reply_to":"711efd4f_ad1b0ddb","updated":"2025-04-08 17:19:37.000000000","message":"Done","commit_id":"66448ed893dc3b891c06a260914bf44af640558f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"13ea0e6c4f86ba13e1d393b4978a07d7171c4c68","unresolved":true,"context_lines":[{"line_number":111,"context_line":"        # called and especially using with the connection_info from the source"},{"line_number":112,"context_line":"        self.assertEqual(2, mock_dest_disconnect.call_count)"},{"line_number":113,"context_line":"        call1 \u003d mock.call("},{"line_number":114,"context_line":"            mock.ANY, src_connection_info, mock.ANY, encryption\u003dmock.ANY)"},{"line_number":115,"context_line":"        call2 \u003d mock.call("},{"line_number":116,"context_line":"            mock.ANY, src_connection_info, mock.ANY, destroy_secrets\u003dTrue,"},{"line_number":117,"context_line":"            force\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c3ecec7b_e1d1b626","line":114,"updated":"2025-04-07 19:08:50.000000000","message":"```\n+        # Second call is from LibvirtDriver.destroy() \u003d\u003e\n+        # LibvirtDriver.cleanup() on the destination as part of\n+        # ComputeManager.rollback_live_migration_at_destination().\n```","commit_id":"66448ed893dc3b891c06a260914bf44af640558f"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"88efdf0f0a426ea3e51596ad8ba91ca7583ae390","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        # called and especially using with the connection_info from the source"},{"line_number":112,"context_line":"        self.assertEqual(2, mock_dest_disconnect.call_count)"},{"line_number":113,"context_line":"        call1 \u003d mock.call("},{"line_number":114,"context_line":"            mock.ANY, src_connection_info, mock.ANY, encryption\u003dmock.ANY)"},{"line_number":115,"context_line":"        call2 \u003d mock.call("},{"line_number":116,"context_line":"            mock.ANY, src_connection_info, mock.ANY, destroy_secrets\u003dTrue,"},{"line_number":117,"context_line":"            force\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"05802cd7_f09e6ee5","line":114,"in_reply_to":"c3ecec7b_e1d1b626","updated":"2025-04-08 17:19:37.000000000","message":"Done","commit_id":"66448ed893dc3b891c06a260914bf44af640558f"}]}
