)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"c98c7175f6acd2abed1d2c7f11734c0f333995c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e8ad8b5c_0226bb2a","updated":"2026-08-12 17:40:04.000000000","message":"recheck","commit_id":"b4cd3e963081f24ed29d8f52b2a061f81be39139"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"17f66503eb66c03fe3c34493ff8dd27609f13070","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"da3904ed_b3afeeb8","updated":"2026-08-17 16:34:15.000000000","message":"LGTM","commit_id":"c4f8226e87be3c229fe84de3f785da249869dfa4"}],"trove_tempest_plugin/tests/base.py":[{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"b31fcec59fe4ce7404b6ea64ffa4c19501fd8eb1","unresolved":true,"context_lines":[{"line_number":640,"context_line":"                need_response\u003dTrue)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            db_names \u003d [db[\"name\"] for db in databases[\"databases\"]]"},{"line_number":643,"context_line":"            if database_name in db_names:"},{"line_number":644,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        timer \u003d loopingcall.FixedIntervalWithTimeoutLoopingCall(_wait)"}],"source_content_type":"text/x-python","patch_set":7,"id":"8b6d73cc_65ab809c","line":643,"updated":"2026-08-14 13:55:27.000000000","message":"Looks like this only checks that the requested database is present. Since `%` and `_` may be treated as [wildcards in database-level grants](https://review.opendev.org/c/openstack/trove/+/971797/comment/3082ff9e_b5531b5e/), maybe we should also check that no extra access was granted?","commit_id":"6cb0a305735675dfc00087a54ea0c6787086c977"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"e92ad70a4c92d51578ee81f1b9939a497b2cc2c1","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                need_response\u003dTrue)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            db_names \u003d [db[\"name\"] for db in databases[\"databases\"]]"},{"line_number":643,"context_line":"            if database_name in db_names:"},{"line_number":644,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        timer \u003d loopingcall.FixedIntervalWithTimeoutLoopingCall(_wait)"}],"source_content_type":"text/x-python","patch_set":7,"id":"35b27c82_c0885a75","line":643,"in_reply_to":"8b6d73cc_65ab809c","updated":"2026-08-17 12:55:20.000000000","message":"Done\n[Here](https://review.opendev.org/c/openstack/trove-tempest-plugin/+/1001089) is an additional test for this case.","commit_id":"6cb0a305735675dfc00087a54ea0c6787086c977"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"66ab32e805626c020416d4942dbd5945446fd1a4","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                need_response\u003dTrue)"},{"line_number":641,"context_line":""},{"line_number":642,"context_line":"            db_names \u003d [db[\"name\"] for db in databases[\"databases\"]]"},{"line_number":643,"context_line":"            if database_name in db_names:"},{"line_number":644,"context_line":"                raise loopingcall.LoopingCallDone()"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        timer \u003d loopingcall.FixedIntervalWithTimeoutLoopingCall(_wait)"}],"source_content_type":"text/x-python","patch_set":7,"id":"b1bf7947_30bced4f","line":643,"in_reply_to":"8b6d73cc_65ab809c","updated":"2026-08-17 09:44:42.000000000","message":"NVM, this is now covered by [1001089](https://review.opendev.org/c/openstack/trove-tempest-plugin/+/1001089)","commit_id":"6cb0a305735675dfc00087a54ea0c6787086c977"}],"trove_tempest_plugin/tests/scenario/base_basic.py":[{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"b31fcec59fe4ce7404b6ea64ffa4c19501fd8eb1","unresolved":true,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        for inv in self.INVALID_SCHEMA_NAMES:"},{"line_number":211,"context_line":"            self.assertRaises("},{"line_number":212,"context_line":"                exceptions.TempestException,"},{"line_number":213,"context_line":"                self.client.create_resource,"},{"line_number":214,"context_line":"                f\"instances/{self.instance_id}/databases\","},{"line_number":215,"context_line":"                {\"databases\": [{\"name\": inv}]},"}],"source_content_type":"text/x-python","patch_set":7,"id":"9afa4bf9_e7dd3374","line":212,"updated":"2026-08-14 13:55:27.000000000","message":"`create_resource` expects 200 by default, so this assertion would pass even if the request returned 202. Shouldn\u0027t we check for 400 explicitly?","commit_id":"6cb0a305735675dfc00087a54ea0c6787086c977"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"e92ad70a4c92d51578ee81f1b9939a497b2cc2c1","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        for inv in self.INVALID_SCHEMA_NAMES:"},{"line_number":211,"context_line":"            self.assertRaises("},{"line_number":212,"context_line":"                exceptions.TempestException,"},{"line_number":213,"context_line":"                self.client.create_resource,"},{"line_number":214,"context_line":"                f\"instances/{self.instance_id}/databases\","},{"line_number":215,"context_line":"                {\"databases\": [{\"name\": inv}]},"}],"source_content_type":"text/x-python","patch_set":7,"id":"e373b57f_12d1614c","line":212,"in_reply_to":"9afa4bf9_e7dd3374","updated":"2026-08-17 12:55:20.000000000","message":"Done","commit_id":"6cb0a305735675dfc00087a54ea0c6787086c977"}]}
