)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"21e8bcc75c1f0858fe4e3c3eeb38e3016d1b328b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"21f94d5b_7266d8d2","updated":"2025-09-18 15:16:32.000000000","message":"I can provide a new patchset","commit_id":"59224d15838d963568931702b927547775a9e99c"}],"nova/tests/functional/regressions/test_bug_2125052.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0161640880aeeb93d04ab613a7117d1bf9f76f52","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        server1 \u003d self._create_server("},{"line_number":50,"context_line":"            name\u003d\u0027inst1\u0027,"},{"line_number":51,"context_line":"            networks\u003d\u0027none\u0027,"},{"line_number":52,"context_line":"            )"},{"line_number":53,"context_line":"        self.assertEqual(\u0027host1\u0027, server1[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":54,"context_line":"        server2 \u003d self._create_server("},{"line_number":55,"context_line":"            name\u003d\u0027inst2\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"a869320f_b181e078","line":52,"updated":"2025-09-18 14:44:49.000000000","message":"Won\u0027t all of these fit on a single line instead of four each?","commit_id":"59224d15838d963568931702b927547775a9e99c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"21e8bcc75c1f0858fe4e3c3eeb38e3016d1b328b","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        server1 \u003d self._create_server("},{"line_number":50,"context_line":"            name\u003d\u0027inst1\u0027,"},{"line_number":51,"context_line":"            networks\u003d\u0027none\u0027,"},{"line_number":52,"context_line":"            )"},{"line_number":53,"context_line":"        self.assertEqual(\u0027host1\u0027, server1[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":54,"context_line":"        server2 \u003d self._create_server("},{"line_number":55,"context_line":"            name\u003d\u0027inst2\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b01a7db5_d9bbd6fe","line":52,"in_reply_to":"a869320f_b181e078","updated":"2025-09-18 15:16:32.000000000","message":"that was a copy/paste from some other unittest, I have to admit 😄","commit_id":"59224d15838d963568931702b927547775a9e99c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0161640880aeeb93d04ab613a7117d1bf9f76f52","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            expected_state\u003d\u0027ERROR\u0027"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":"        self.assertIn(\"AttributeError\", server3[\u0027fault\u0027][\u0027message\u0027])"},{"line_number":67,"context_line":"        self.assertIn(\"\\\u0027NoneType\\\u0027 object has no attribute \\\u0027is_admin\\\u0027\","},{"line_number":68,"context_line":"                      server3[\u0027fault\u0027][\u0027details\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"35eae869_ab445dab","line":67,"updated":"2025-09-18 14:44:49.000000000","message":"No need to escape the single quotes in the double ones right? ...or even provide the whole message (since this is `in`).","commit_id":"59224d15838d963568931702b927547775a9e99c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"21e8bcc75c1f0858fe4e3c3eeb38e3016d1b328b","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            expected_state\u003d\u0027ERROR\u0027"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":"        self.assertIn(\"AttributeError\", server3[\u0027fault\u0027][\u0027message\u0027])"},{"line_number":67,"context_line":"        self.assertIn(\"\\\u0027NoneType\\\u0027 object has no attribute \\\u0027is_admin\\\u0027\","},{"line_number":68,"context_line":"                      server3[\u0027fault\u0027][\u0027details\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"f273a8b1_83afc82a","line":67,"in_reply_to":"35eae869_ab445dab","updated":"2025-09-18 15:16:32.000000000","message":"Good point","commit_id":"59224d15838d963568931702b927547775a9e99c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8ea086e7bbe7fc5e05045d987c2f60184b268e92","unresolved":true,"context_lines":[{"line_number":64,"context_line":"            expected_state\u003d\u0027ERROR\u0027"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":"        self.assertIn(\"AttributeError\", server3[\u0027fault\u0027][\u0027message\u0027])"},{"line_number":67,"context_line":"        self.assertIn(\"\\\u0027NoneType\\\u0027 object has no attribute \\\u0027is_admin\\\u0027\","},{"line_number":68,"context_line":"                      server3[\u0027fault\u0027][\u0027details\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"2ff7ca5e_c7dd1b03","line":67,"in_reply_to":"35eae869_ab445dab","updated":"2025-09-18 15:14:25.000000000","message":"I guess this is a substring of a longer string which is maybe triple quoted originally hence the inner most quote needed escaping originally. As this matches I\u0027m OK to keep it as is.","commit_id":"59224d15838d963568931702b927547775a9e99c"}]}
