)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8f8977ef78b036be710d7c61d742d47b66adbfbb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e3166878_b9863b26","updated":"2022-10-03 15:17:43.000000000","message":"recheck","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"0a3f87e9012c5b146a3167922b71a59e38959677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2fdb4667_3f3fa5b0","updated":"2022-12-29 08:23:04.000000000","message":"recheck","commit_id":"8be43858669301d8a281c9a902b1342be6db7e84"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"a110a528b949fc8c967eb4467da2c3aebca72fc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f86cc767_ccf2c4ae","updated":"2022-12-29 17:16:37.000000000","message":"recheck\n\nThe only gate failed is TOX, but this issue: \n-------------------------------------------------------------\n./tools/misc-sanity-checks.sh: 24: check-uuid: not found\nThere are duplicate idempotent ids in the API tests\nplease, assign unique uuids to each API test\n-------------------------------------------------------------\nis not reproducible on my Devstack 😞\n","commit_id":"8be43858669301d8a281c9a902b1342be6db7e84"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e86318ba2419148f2fb1bd650907dc8bb13d836","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6924560f_7a1007b6","updated":"2023-01-18 20:27:34.000000000","message":"I don\u0027t understand why would would add Designate API testing here.","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"396c43623feeff33bef6e119323867f93d09814c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"143c5be1_8f090673","updated":"2023-01-02 16:24:48.000000000","message":"This patch was merged [1], maybe it will fix pep8 gate failure.\n\n[1] https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/868993","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":33341,"name":"Maor Blaustein","email":"mblue@redhat.com","username":"blue"},"change_message_id":"f85dc285ded7d2a671e4dcc692980878b2389581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f4698f54_21558cdb","updated":"2023-01-02 16:23:33.000000000","message":"recheck","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"1ed89836ad9fd2c5a4a0139c42e44d4c8375be8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"abbb39d7_1a1ea8be","updated":"2023-01-03 07:43:56.000000000","message":"recheck\n\nRecheck the results","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"000d5a5626628cc3d08714b3be45ee0a0dcf550d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c6dfb7e9_76800c01","updated":"2023-06-21 08:15:01.000000000","message":"Looks ok as I see, and it was changed based on the comments","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"e0eba1badddedb7c168aed1cc55a936f1240e813","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"7265c458_699bae9b","updated":"2023-06-20 09:08:55.000000000","message":"recheck","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2942f4e1441cda916f7c0380561c36908bb5e1ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"8479f796_9ae7cf24","updated":"2023-07-19 16:28:49.000000000","message":"I am ok with this version","commit_id":"d5acee3804aec24bdfec5896825abc6b59c90d3c"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"3fdbe8af5b2991112e4f07c28387a49812dd72cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"30a66c56_ca8f33b4","updated":"2023-07-19 11:21:51.000000000","message":"recheck\nCheck if the gates\u0027 failure is reproducible.","commit_id":"d5acee3804aec24bdfec5896825abc6b59c90d3c"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"53d1c4dce3936f2b26572211b5f18f392c67ef57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"ed0c426c_7453a317","updated":"2023-07-19 14:37:07.000000000","message":"recheck\nThis patch: https://review.opendev.org/c/openstack/devstack/+/888906 that was merged a few hours ago is supposed to fix gates failure.","commit_id":"d5acee3804aec24bdfec5896825abc6b59c90d3c"}],"neutron_tempest_plugin/scenario/test_dns_integration.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b532b848fbdff8d5a8e8404314749a29717f67bd","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from tempest.common import utils"},{"line_number":23,"context_line":"from tempest.common import waiters"}],"source_content_type":"text/x-python","patch_set":7,"id":"70a1c658_5b5da8ce","line":20,"updated":"2022-10-04 12:21:11.000000000","message":"nit: this import should be in section below (L22 to L25)","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"17c7351492e96caf996f37d2d7e46009f1f94c85","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from tempest.common import utils"},{"line_number":23,"context_line":"from tempest.common import waiters"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a340635_99e373c5","line":20,"in_reply_to":"0a2e20f0_11aeb6d4","updated":"2023-01-19 14:02:37.000000000","message":"Done","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"036c35c76b66cff24b0801de23b01c35d1a612d4","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from tempest.common import utils"},{"line_number":23,"context_line":"from tempest.common import waiters"}],"source_content_type":"text/x-python","patch_set":7,"id":"c12b73e5_d026a166","line":20,"in_reply_to":"70a1c658_5b5da8ce","updated":"2022-10-04 14:22:00.000000000","message":"Such a change brakes PEP8 (alphabetical order) 😞\nLeaving as is.","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e86318ba2419148f2fb1bd650907dc8bb13d836","unresolved":true,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import testtools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from oslo_log import log"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from tempest.common import utils"},{"line_number":23,"context_line":"from tempest.common import waiters"}],"source_content_type":"text/x-python","patch_set":7,"id":"0a2e20f0_11aeb6d4","line":20,"in_reply_to":"c12b73e5_d026a166","updated":"2023-01-18 20:27:34.000000000","message":"Slawek is correct, line 20 should be on line 21.\nIt passes pep8 correctly there.","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b532b848fbdff8d5a8e8404314749a29717f67bd","unresolved":true,"context_lines":[{"line_number":24,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":25,"context_line":"from tempest.lib.common.utils import test_utils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from tempest.lib import decorators"},{"line_number":29,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3aec3922_138afa48","line":27,"updated":"2022-10-04 12:21:11.000000000","message":"why those two empty lines here?","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"036c35c76b66cff24b0801de23b01c35d1a612d4","unresolved":true,"context_lines":[{"line_number":24,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":25,"context_line":"from tempest.lib.common.utils import test_utils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from tempest.lib import decorators"},{"line_number":29,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"e45e59e5_7daea90a","line":27,"in_reply_to":"3aec3922_138afa48","updated":"2022-10-04 14:22:00.000000000","message":"Yep, will be fixed.","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ff87cd9bb24d6c6b8b2b8246de83d94de7ece5c0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from tempest.lib.common.utils import data_utils"},{"line_number":25,"context_line":"from tempest.lib.common.utils import test_utils"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from tempest.lib import decorators"},{"line_number":29,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"074158c5_10142a5b","line":27,"in_reply_to":"e45e59e5_7daea90a","updated":"2023-02-14 13:17:01.000000000","message":"Done","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b532b848fbdff8d5a8e8404314749a29717f67bd","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        super(BaseDNSIntegrationTests, cls).setup_clients()"},{"line_number":57,"context_line":"        cls.zone_client \u003d cls.os_tempest.dns_v2.ZonesClient()"},{"line_number":58,"context_line":"        cls.recordset_client \u003d cls.os_tempest.dns_v2.RecordsetClient()"},{"line_number":59,"context_line":"        cls.query_client.build_timeout \u003d 60"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"4dcb8cc0_a4a4e2f4","line":59,"range":{"start_line":59,"start_character":41,"end_line":59,"end_character":43},"updated":"2022-10-04 12:21:11.000000000","message":"why timeone is increased? Is this related?","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ff87cd9bb24d6c6b8b2b8246de83d94de7ece5c0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        super(BaseDNSIntegrationTests, cls).setup_clients()"},{"line_number":57,"context_line":"        cls.zone_client \u003d cls.os_tempest.dns_v2.ZonesClient()"},{"line_number":58,"context_line":"        cls.recordset_client \u003d cls.os_tempest.dns_v2.RecordsetClient()"},{"line_number":59,"context_line":"        cls.query_client.build_timeout \u003d 60"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3b31443a_3a8ae91f","line":59,"range":{"start_line":59,"start_character":41,"end_line":59,"end_character":43},"in_reply_to":"3c5318d9_011e4142","updated":"2023-02-14 13:17:01.000000000","message":"Done","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"036c35c76b66cff24b0801de23b01c35d1a612d4","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        super(BaseDNSIntegrationTests, cls).setup_clients()"},{"line_number":57,"context_line":"        cls.zone_client \u003d cls.os_tempest.dns_v2.ZonesClient()"},{"line_number":58,"context_line":"        cls.recordset_client \u003d cls.os_tempest.dns_v2.RecordsetClient()"},{"line_number":59,"context_line":"        cls.query_client.build_timeout \u003d 60"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @classmethod"},{"line_number":62,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3c5318d9_011e4142","line":59,"range":{"start_line":59,"start_character":41,"end_line":59,"end_character":43},"in_reply_to":"4dcb8cc0_a4a4e2f4","updated":"2022-10-04 14:22:00.000000000","message":"Correct, will be restored to the the original value, thanks!","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b532b848fbdff8d5a8e8404314749a29717f67bd","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        fip \u003d self.create_floatingip(port\u003dport)"},{"line_number":103,"context_line":"        return {\u0027port\u0027: port, \u0027fip\u0027: fip, \u0027server\u0027: server}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _check_type_in_recordsets(self, zone_id, type):"},{"line_number":106,"context_line":"        types \u003d [rec[\u0027type\u0027] for rec in self.recordset_client.list_recordset("},{"line_number":107,"context_line":"            zone_id)[1][\u0027recordsets\u0027]]"},{"line_number":108,"context_line":"        if type in types:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9bcb5798_2c24aba5","line":105,"range":{"start_line":105,"start_character":49,"end_line":105,"end_character":53},"updated":"2022-10-04 12:21:11.000000000","message":"type() is name of the function in python, maybe You can use some other name here?","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ff87cd9bb24d6c6b8b2b8246de83d94de7ece5c0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        fip \u003d self.create_floatingip(port\u003dport)"},{"line_number":103,"context_line":"        return {\u0027port\u0027: port, \u0027fip\u0027: fip, \u0027server\u0027: server}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _check_type_in_recordsets(self, zone_id, type):"},{"line_number":106,"context_line":"        types \u003d [rec[\u0027type\u0027] for rec in self.recordset_client.list_recordset("},{"line_number":107,"context_line":"            zone_id)[1][\u0027recordsets\u0027]]"},{"line_number":108,"context_line":"        if type in types:"}],"source_content_type":"text/x-python","patch_set":7,"id":"362292d4_9f639fad","line":105,"range":{"start_line":105,"start_character":49,"end_line":105,"end_character":53},"in_reply_to":"8ee1ea78_0012a288","updated":"2023-02-14 13:17:01.000000000","message":"Done","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"036c35c76b66cff24b0801de23b01c35d1a612d4","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        fip \u003d self.create_floatingip(port\u003dport)"},{"line_number":103,"context_line":"        return {\u0027port\u0027: port, \u0027fip\u0027: fip, \u0027server\u0027: server}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def _check_type_in_recordsets(self, zone_id, type):"},{"line_number":106,"context_line":"        types \u003d [rec[\u0027type\u0027] for rec in self.recordset_client.list_recordset("},{"line_number":107,"context_line":"            zone_id)[1][\u0027recordsets\u0027]]"},{"line_number":108,"context_line":"        if type in types:"}],"source_content_type":"text/x-python","patch_set":7,"id":"8ee1ea78_0012a288","line":105,"range":{"start_line":105,"start_character":49,"end_line":105,"end_character":53},"in_reply_to":"9bcb5798_2c24aba5","updated":"2022-10-04 14:22:00.000000000","message":"Yep, will be replaced with rec_type.","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b532b848fbdff8d5a8e8404314749a29717f67bd","unresolved":true,"context_lines":[{"line_number":140,"context_line":"                        \u0027 Designate DNS DB\u0027.format(record_type, address))"},{"line_number":141,"context_line":"            dns_waiters.wait_for_recordset_status("},{"line_number":142,"context_line":"                self.recordset_client, self.zone[\u0027id\u0027], rec_id, \u0027ACTIVE\u0027)"},{"line_number":143,"context_line":"        if not found:"},{"line_number":144,"context_line":"            recordsets \u003d self.recordset_client.list_recordset("},{"line_number":145,"context_line":"                self.zone[\u0027id\u0027])[1][\u0027recordsets\u0027]"},{"line_number":146,"context_line":"            relevant_type \u003d [rec for rec in recordsets if"}],"source_content_type":"text/x-python","patch_set":7,"id":"f4392623_0ea48eea","line":143,"updated":"2022-10-04 12:21:11.000000000","message":"\"else\" would be enough","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ff87cd9bb24d6c6b8b2b8246de83d94de7ece5c0","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                        \u0027 Designate DNS DB\u0027.format(record_type, address))"},{"line_number":141,"context_line":"            dns_waiters.wait_for_recordset_status("},{"line_number":142,"context_line":"                self.recordset_client, self.zone[\u0027id\u0027], rec_id, \u0027ACTIVE\u0027)"},{"line_number":143,"context_line":"        if not found:"},{"line_number":144,"context_line":"            recordsets \u003d self.recordset_client.list_recordset("},{"line_number":145,"context_line":"                self.zone[\u0027id\u0027])[1][\u0027recordsets\u0027]"},{"line_number":146,"context_line":"            relevant_type \u003d [rec for rec in recordsets if"}],"source_content_type":"text/x-python","patch_set":7,"id":"cd11a70a_beb3a5fc","line":143,"in_reply_to":"8d6d5fc7_87e56b13","updated":"2023-02-14 13:17:01.000000000","message":"Done","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"036c35c76b66cff24b0801de23b01c35d1a612d4","unresolved":true,"context_lines":[{"line_number":140,"context_line":"                        \u0027 Designate DNS DB\u0027.format(record_type, address))"},{"line_number":141,"context_line":"            dns_waiters.wait_for_recordset_status("},{"line_number":142,"context_line":"                self.recordset_client, self.zone[\u0027id\u0027], rec_id, \u0027ACTIVE\u0027)"},{"line_number":143,"context_line":"        if not found:"},{"line_number":144,"context_line":"            recordsets \u003d self.recordset_client.list_recordset("},{"line_number":145,"context_line":"                self.zone[\u0027id\u0027])[1][\u0027recordsets\u0027]"},{"line_number":146,"context_line":"            relevant_type \u003d [rec for rec in recordsets if"}],"source_content_type":"text/x-python","patch_set":7,"id":"8d6d5fc7_87e56b13","line":143,"in_reply_to":"f4392623_0ea48eea","updated":"2022-10-04 14:22:00.000000000","message":"Will be fixed.","commit_id":"5e703625667274700d5a548b8ebe314e572a47df"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e86318ba2419148f2fb1bd650907dc8bb13d836","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            recordset_client.show_recordset, zone_id, recordset_id) is None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":122,"context_line":"        # Phase1 - recordset validation based on Designate DNS API"},{"line_number":123,"context_line":"        rec_id \u003d None"},{"line_number":124,"context_line":"        if found:"},{"line_number":125,"context_line":"            self._wait_for_type_in_recordsets(self.zone[\u0027id\u0027], record_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"60e1177e_2256e87e","line":122,"updated":"2023-01-18 20:27:34.000000000","message":"Why do we need to test the Designate API here? There is a whole API test suite in designate-tempest-plugin for that.\nIt seems a bit like this would be testing more than just the neutron functionality this scenario test suite is intended to test.\nIMO tests should be focused and limited to testing specific functionality which the existing tests seem to cover with end-to-end functional tests (i.e. they query to validate the expected action completed).","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ff87cd9bb24d6c6b8b2b8246de83d94de7ece5c0","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            recordset_client.show_recordset, zone_id, recordset_id) is None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":122,"context_line":"        # Phase1 - recordset validation based on Designate DNS API"},{"line_number":123,"context_line":"        rec_id \u003d None"},{"line_number":124,"context_line":"        if found:"},{"line_number":125,"context_line":"            self._wait_for_type_in_recordsets(self.zone[\u0027id\u0027], record_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"f8a52255_a1cc8246","line":122,"in_reply_to":"5900544a_baac7ec4","updated":"2023-02-14 13:17:01.000000000","message":"Sounds good, I\u0027ll change the code accordingly, so it will call the \"Designate APIs\" only if query client throws an assertion.","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"17c7351492e96caf996f37d2d7e46009f1f94c85","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            recordset_client.show_recordset, zone_id, recordset_id) is None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":122,"context_line":"        # Phase1 - recordset validation based on Designate DNS API"},{"line_number":123,"context_line":"        rec_id \u003d None"},{"line_number":124,"context_line":"        if found:"},{"line_number":125,"context_line":"            self._wait_for_type_in_recordsets(self.zone[\u0027id\u0027], record_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"b43c87f4_d804bee4","line":122,"in_reply_to":"60e1177e_2256e87e","updated":"2023-01-19 14:02:37.000000000","message":"Based on my own experience testing Neutron Designate integration, I can say that it\u0027s not so trivial and I think that adding \"Designate APIs\" here is important.\n\n1) These E2E tests are \"black box\" testing, the only validation done is based on DNS query client, that it. We have no idea what happens inside the \"box\", improving the situation worth it.\n\n2) Potential test failures - I think that the NEW assertion Errors (based on API) will be more than appreciated, especially while debugging failed tests. \n\n3) Agree, just as it\u0027s done in Designate having both: Designate and Bind checks for scenario testing is a kind of must.","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e2e25b469a4a6ad49935411a32f89b0b1789a2d4","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            recordset_client.show_recordset, zone_id, recordset_id) is None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":122,"context_line":"        # Phase1 - recordset validation based on Designate DNS API"},{"line_number":123,"context_line":"        rec_id \u003d None"},{"line_number":124,"context_line":"        if found:"},{"line_number":125,"context_line":"            self._wait_for_type_in_recordsets(self.zone[\u0027id\u0027], record_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5900544a_baac7ec4","line":122,"in_reply_to":"b43c87f4_d804bee4","updated":"2023-02-13 16:04:00.000000000","message":"I tend to agree with Michael here - we should have kind of end2end test which is testing integration between neutron and designate and the final result which user see.\nIf those additonal checks can be useful for debugging, maybe it could be added somehow only when test will fail while wait_for_query() is called so You can easier find out how it looked in the designate db.","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"c0c64ee3a67c9324aa5573b75b5de13969774f97","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            recordset_client.show_recordset, zone_id, recordset_id) is None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":122,"context_line":"        # Phase1 - recordset validation based on Designate DNS API"},{"line_number":123,"context_line":"        rec_id \u003d None"},{"line_number":124,"context_line":"        if found:"},{"line_number":125,"context_line":"            self._wait_for_type_in_recordsets(self.zone[\u0027id\u0027], record_type)"}],"source_content_type":"text/x-python","patch_set":9,"id":"17660b4d_79032b1e","line":122,"in_reply_to":"f8a52255_a1cc8246","updated":"2023-07-17 14:52:02.000000000","message":"Done","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e86318ba2419148f2fb1bd650907dc8bb13d836","unresolved":true,"context_lines":[{"line_number":157,"context_line":"                    \u0027Failed, recordset type:{} and ID:{} is still exist in\u0027"},{"line_number":158,"context_line":"                    \u0027 the Designate DNS DB\u0027.format(record_type, rec_id))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        # Phase2 - recordset validation based on DNS query to the Backends"},{"line_number":161,"context_line":"        if config.CONF.dns.nameservers:"},{"line_number":162,"context_line":"            client \u003d self.query_client"},{"line_number":163,"context_line":"            forward \u003d name + \u0027.\u0027 + self.zone[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"0a32a6bd_32c380d5","line":160,"updated":"2023-01-18 20:27:34.000000000","message":"This seems very overloaded. If this patch stays, these should be split into two private methods.","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"17c7351492e96caf996f37d2d7e46009f1f94c85","unresolved":false,"context_lines":[{"line_number":157,"context_line":"                    \u0027Failed, recordset type:{} and ID:{} is still exist in\u0027"},{"line_number":158,"context_line":"                    \u0027 the Designate DNS DB\u0027.format(record_type, rec_id))"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        # Phase2 - recordset validation based on DNS query to the Backends"},{"line_number":161,"context_line":"        if config.CONF.dns.nameservers:"},{"line_number":162,"context_line":"            client \u003d self.query_client"},{"line_number":163,"context_line":"            forward \u003d name + \u0027.\u0027 + self.zone[\u0027name\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"0efcd6e7_a52f307d","line":160,"in_reply_to":"0a32a6bd_32c380d5","updated":"2023-01-19 14:02:37.000000000","message":"Done","commit_id":"7d4bacd2e0b7ed52cc88044e6861e338a55eed05"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c9c36406bcaf3101b7c9a41f8ebd307a42e21bd5","unresolved":true,"context_lines":[{"line_number":133,"context_line":"                      str(rec[\u0027records\u0027])][0]"},{"line_number":134,"context_line":"            self.assertTrue("},{"line_number":135,"context_line":"                rec_id, \u0027Record of type:{} with IP:{} was not detected in the\u0027"},{"line_number":136,"context_line":"                        \u0027 Designate DNS DB\u0027.format(record_type, address))"},{"line_number":137,"context_line":"            dns_waiters.wait_for_recordset_status("},{"line_number":138,"context_line":"                self.recordset_client, self.zone[\u0027id\u0027], rec_id, \u0027ACTIVE\u0027)"},{"line_number":139,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5e70cbd4_49c44fea","line":136,"range":{"start_line":136,"start_character":25,"end_line":136,"end_character":26},"updated":"2023-07-17 12:23:47.000000000","message":"nitty nit: generally we are always trying to left such space at the end of the line, not at the beginning. So please move it to the line above.","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"c0c64ee3a67c9324aa5573b75b5de13969774f97","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                      str(rec[\u0027records\u0027])][0]"},{"line_number":134,"context_line":"            self.assertTrue("},{"line_number":135,"context_line":"                rec_id, \u0027Record of type:{} with IP:{} was not detected in the\u0027"},{"line_number":136,"context_line":"                        \u0027 Designate DNS DB\u0027.format(record_type, address))"},{"line_number":137,"context_line":"            dns_waiters.wait_for_recordset_status("},{"line_number":138,"context_line":"                self.recordset_client, self.zone[\u0027id\u0027], rec_id, \u0027ACTIVE\u0027)"},{"line_number":139,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":11,"id":"931e1aa7_36038dd0","line":136,"range":{"start_line":136,"start_character":25,"end_line":136,"end_character":26},"in_reply_to":"5e70cbd4_49c44fea","updated":"2023-07-17 14:52:02.000000000","message":"Done","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c9c36406bcaf3101b7c9a41f8ebd307a42e21bd5","unresolved":true,"context_lines":[{"line_number":154,"context_line":"                self.assertTrue("},{"line_number":155,"context_line":"                    recordset_exists,"},{"line_number":156,"context_line":"                    \u0027Failed, recordset type:{} and ID:{} is still exist in\u0027"},{"line_number":157,"context_line":"                    \u0027 the Designate DNS DB\u0027.format(record_type, rec_id))"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":160,"context_line":"        client \u003d self.query_client"}],"source_content_type":"text/x-python","patch_set":11,"id":"42b82a03_05d76480","line":157,"updated":"2023-07-17 12:23:47.000000000","message":"ditto","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"c0c64ee3a67c9324aa5573b75b5de13969774f97","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                self.assertTrue("},{"line_number":155,"context_line":"                    recordset_exists,"},{"line_number":156,"context_line":"                    \u0027Failed, recordset type:{} and ID:{} is still exist in\u0027"},{"line_number":157,"context_line":"                    \u0027 the Designate DNS DB\u0027.format(record_type, rec_id))"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    def _verify_dns_records(self, address, name, found\u003dTrue, record_type\u003d\u0027A\u0027):"},{"line_number":160,"context_line":"        client \u003d self.query_client"}],"source_content_type":"text/x-python","patch_set":11,"id":"3258e556_34e6bd60","line":157,"in_reply_to":"42b82a03_05d76480","updated":"2023-07-17 14:52:02.000000000","message":"Done","commit_id":"2f51aef8bbea5618dcca6b45b35085c0430b1993"}]}
