)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4c6294035fee8e66242044f6d32659c5644948fe","unresolved":false,"context_lines":[{"line_number":9,"context_line":"The code already has a test, but we\u0027re generating an exception that"},{"line_number":10,"context_line":"is getting back into the caller as an error. In other words, slightly"},{"line_number":11,"context_line":"more interaction and logging friendly. In theory."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I10d47220104c79db5b23fd1b03069a2f7865b68c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_5562b117","line":12,"updated":"2020-04-08 01:12:17.000000000","message":"Story 2007526 if I get it right.","commit_id":"8734acbea6364f44bd97313e5a3cf36c09cffac7"}],"ironic_inspector/introspect.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4c6294035fee8e66242044f6d32659c5644948fe","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \"\"\""},{"line_number":47,"context_line":"    ironic \u003d ir_utils.get_client(token)"},{"line_number":48,"context_line":"    try:"},{"line_number":49,"context_line":"        node \u003d ir_utils.get_node(node_id, ironic\u003dironic)"},{"line_number":50,"context_line":"    except ir_utils.NotFound as exc:"},{"line_number":51,"context_line":"        msg \u003d _(\u0027Failed to locate node %s, error: %s.\u0027)"},{"line_number":52,"context_line":"        raise utils.Error(msg % (node_id, exc))"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_95b71987","line":49,"updated":"2020-04-08 01:12:17.000000000","message":"Logically I think it\u0027s better to do it in the ir_utils.get_node, where there is responsible for converting exceptions from ironicclient to inspector.","commit_id":"8734acbea6364f44bd97313e5a3cf36c09cffac7"}]}
