)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c7800c83cb51bec721c3f4e2e20e9eb50d116591","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"476c6e9f_f22041ca","updated":"2024-02-14 15:26:03.000000000","message":"lgtm","commit_id":"a46ea6a6dc3306a0989cf6f753e20d061dec84f7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"1bf2f9669f3411c1b6fa33be8a4bf030724f14aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c4962e9a_3fa9c879","updated":"2024-01-16 14:44:57.000000000","message":"recheck n-cpu failed to contact neutron (apache error) at one point which broke a bunch of ports","commit_id":"a46ea6a6dc3306a0989cf6f753e20d061dec84f7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8c5a056743ce84fd048ccb6e5557197a0161454b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"abbfda67_0ed8c2eb","updated":"2024-02-23 11:28:06.000000000","message":"recheck nova-next fixed","commit_id":"40a56ce05b185ae418d5b548e19577209dfe772f"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b3885d4e0f5640962bb5cc7142da1766517cad46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6be20700_50418940","updated":"2024-02-26 14:46:25.000000000","message":"recheck server timeouts and network errors","commit_id":"40a56ce05b185ae418d5b548e19577209dfe772f"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c81bb5fec15fbb1bd632f2ca8c7eda795319999e","unresolved":true,"context_lines":[{"line_number":3188,"context_line":"                    failed_snap \u003d {\u0027url\u0027: str(failed_snap)}"},{"line_number":3189,"context_line":"                root_disk.cleanup_direct_snapshot("},{"line_number":3190,"context_line":"                        failed_snap, also_destroy_volume\u003dTrue,"},{"line_number":3191,"context_line":"                        ignore_errors\u003dTrue)"},{"line_number":3192,"context_line":"        except Exception:"},{"line_number":3193,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3194,"context_line":"                LOG.exception(\"Failed to snapshot image\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"353dc026_168b8d66","line":3191,"updated":"2024-01-11 18:02:26.000000000","message":"Note for reviewers: this is the same exit behavior as the diaper exception handler below, but with a different log level. I could combine the two, but I tend to loathe exception handlers with multiple types that then examine the type and do different things. I think it leads to later maintenance doing things for multiple exceptions that shouldn\u0027t, and/or messier exception handlers in general.\n\nBut, just FYI in case someone strongly disagrees.","commit_id":"a46ea6a6dc3306a0989cf6f753e20d061dec84f7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8c5a056743ce84fd048ccb6e5557197a0161454b","unresolved":true,"context_lines":[{"line_number":3188,"context_line":"                    failed_snap \u003d {\u0027url\u0027: str(failed_snap)}"},{"line_number":3189,"context_line":"                root_disk.cleanup_direct_snapshot("},{"line_number":3190,"context_line":"                        failed_snap, also_destroy_volume\u003dTrue,"},{"line_number":3191,"context_line":"                        ignore_errors\u003dTrue)"},{"line_number":3192,"context_line":"        except Exception:"},{"line_number":3193,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3194,"context_line":"                LOG.exception(\"Failed to snapshot image\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"caed8eeb_45ba3211","line":3191,"in_reply_to":"1889a7e7_23817951","updated":"2024-02-23 11:28:06.000000000","message":"with excutils.save_and_reraise_exception() is not strictly reqirued\n\nyou can use raise\n\nbut with excutils.save_and_reraise_exception() will preserve the orginal excption if cleanup_direct_snapshot raises and its what we are doing else where so sure.\n\nalso im fine wiht having explcit matching on exception types as well.","commit_id":"a46ea6a6dc3306a0989cf6f753e20d061dec84f7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c7800c83cb51bec721c3f4e2e20e9eb50d116591","unresolved":true,"context_lines":[{"line_number":3188,"context_line":"                    failed_snap \u003d {\u0027url\u0027: str(failed_snap)}"},{"line_number":3189,"context_line":"                root_disk.cleanup_direct_snapshot("},{"line_number":3190,"context_line":"                        failed_snap, also_destroy_volume\u003dTrue,"},{"line_number":3191,"context_line":"                        ignore_errors\u003dTrue)"},{"line_number":3192,"context_line":"        except Exception:"},{"line_number":3193,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":3194,"context_line":"                LOG.exception(\"Failed to snapshot image\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"1889a7e7_23817951","line":3191,"in_reply_to":"353dc026_168b8d66","updated":"2024-02-14 15:26:03.000000000","message":"Fine by me. It\u0027s a bit of duplicating code, but I understand your point and I\u0027m OK with that (as the duplicated code is very small)","commit_id":"a46ea6a6dc3306a0989cf6f753e20d061dec84f7"}]}
