)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"bcaab9b5085625a0ebbab4633d7c298f319f4570","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0f83eeb2_a847fb53","updated":"2024-06-17 15:28:12.000000000","message":"If we can reformat it to not leverage an assert in the main code path, I think that would be for the best path forward. Thanks!","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"de13ef5b6158d3d04ffa48f0b791cea5cba9a8ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"424dbee3_26392a4b","updated":"2024-06-27 06:26:21.000000000","message":"recheck ci issue?","commit_id":"4f924f2d648712acabcbdfeaa0733ec140e582ca"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"4296f96f29f4b545fddf75f5b89d4ff0a411fae0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c13ddd01_c2183e5d","updated":"2024-06-19 09:33:34.000000000","message":"recheck ironic-tempest-ramdisk-bios-snmp-pxe job","commit_id":"4f924f2d648712acabcbdfeaa0733ec140e582ca"}],"ironic/drivers/modules/agent_base.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"aaf876030c56fda71665ee25fcb94d429766350d","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"def _raise(step_type, msg):"},{"line_number":358,"context_line":"    assert step_type in (\u0027clean\u0027, \u0027deploy\u0027, \u0027service\u0027)"},{"line_number":359,"context_line":"    step_to_exc \u003d {"},{"line_number":360,"context_line":"        \u0027clean\u0027: exception.NodeCleaningFailure,"},{"line_number":361,"context_line":"        \u0027deploy\u0027: exception.InstanceDeployFailure,"}],"source_content_type":"text/x-python","patch_set":2,"id":"81f2b48c_2cf03ee7","line":358,"updated":"2024-06-15 12:53:41.000000000","message":"This may be an unfinished code, but I don\u0027t think we should use assert here without proper exception handling :(","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"e5e52ad1a4bb28e6a5e448c78153276411b9cd9c","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"def _raise(step_type, msg):"},{"line_number":358,"context_line":"    assert step_type in (\u0027clean\u0027, \u0027deploy\u0027, \u0027service\u0027)"},{"line_number":359,"context_line":"    step_to_exc \u003d {"},{"line_number":360,"context_line":"        \u0027clean\u0027: exception.NodeCleaningFailure,"},{"line_number":361,"context_line":"        \u0027deploy\u0027: exception.InstanceDeployFailure,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b7b35242_6db5b0f6","line":358,"in_reply_to":"11165641_85768b7e","updated":"2024-06-18 09:34:26.000000000","message":"asserts seemed a little bit odd to me, but since they were already part of existing code base I just decided to extend them.\n\nAs suggested, I got rid of them and added log messages. I hope it\u0027s ok now.","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"bcaab9b5085625a0ebbab4633d7c298f319f4570","unresolved":true,"context_lines":[{"line_number":355,"context_line":""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"def _raise(step_type, msg):"},{"line_number":358,"context_line":"    assert step_type in (\u0027clean\u0027, \u0027deploy\u0027, \u0027service\u0027)"},{"line_number":359,"context_line":"    step_to_exc \u003d {"},{"line_number":360,"context_line":"        \u0027clean\u0027: exception.NodeCleaningFailure,"},{"line_number":361,"context_line":"        \u0027deploy\u0027: exception.InstanceDeployFailure,"}],"source_content_type":"text/x-python","patch_set":2,"id":"11165641_85768b7e","line":358,"in_reply_to":"81f2b48c_2cf03ee7","updated":"2024-06-17 15:28:12.000000000","message":"In my opinion, we should not be. We could log an appropriate error and just use something like InvalidParameterValue to signal something is very much off the rails.","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"bcaab9b5085625a0ebbab4633d7c298f319f4570","unresolved":false,"context_lines":[{"line_number":974,"context_line":"            async"},{"line_number":975,"context_line":"        \"\"\""},{"line_number":976,"context_line":"        return execute_step(task, step, \u0027service\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    def _process_version_mismatch(self, task, step_type):"},{"line_number":979,"context_line":"        node \u003d task.node"},{"line_number":980,"context_line":"        # For manual clean, the target provision state is MANAGEABLE, whereas"}],"source_content_type":"text/x-python","patch_set":2,"id":"884fe6c0_47ca75a2","line":977,"updated":"2024-06-17 15:28:12.000000000","message":"I\u0027m starting to wonder if I outright missed this, or somehow forgot a patch....","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"},{"author":{"_account_id":33652,"name":"Przemyslaw Szczerbik","email":"przemyslaw.szczerbik@gmail.com","username":"pszczerbik"},"change_message_id":"e5e52ad1a4bb28e6a5e448c78153276411b9cd9c","unresolved":false,"context_lines":[{"line_number":974,"context_line":"            async"},{"line_number":975,"context_line":"        \"\"\""},{"line_number":976,"context_line":"        return execute_step(task, step, \u0027service\u0027)"},{"line_number":977,"context_line":""},{"line_number":978,"context_line":"    def _process_version_mismatch(self, task, step_type):"},{"line_number":979,"context_line":"        node \u003d task.node"},{"line_number":980,"context_line":"        # For manual clean, the target provision state is MANAGEABLE, whereas"}],"source_content_type":"text/x-python","patch_set":2,"id":"a63dc2c3_e0d28d86","line":977,"in_reply_to":"884fe6c0_47ca75a2","updated":"2024-06-18 09:34:26.000000000","message":"I\u0027m curious about this too ;). Executing service steps from IPA seems like a common use case to me, so I was really surprised when I encountered this issue.","commit_id":"340bde9c949ff2703861748d8921231f2bbb594e"}]}
