)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"1884cb4d646048b54c170a0f0cfcd0e0ecc3ec34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e6d23c4d_1eaff83a","updated":"2025-03-17 15:03:46.000000000","message":"hey Arkady, you might want to try adding\nDepends-On: https://review.opendev.org/c/openstack/designate/+/942576","commit_id":"ad706f16e4763aee7d6c57ca563b21c556a2c0e4"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"23f4c0621f5acb22208ccadd67f38eea5e841949","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6a0c58e9_682c5c5f","in_reply_to":"e6d23c4d_1eaff83a","updated":"2025-03-18 13:23:43.000000000","message":"We used to add \"skip_because\" [1] for cases like this in the past. So after patch is merged, test will be skipped until Launchpad bug is fixed and verified. Once done, new patch that removes \"skip_because\" is proposed. \n\n[1] - https://review.opendev.org/c/openstack/designate-tempest-plugin/+/944760/1/designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py#370","commit_id":"ad706f16e4763aee7d6c57ca563b21c556a2c0e4"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"f82c4777337278aa5dd15a4914ae339893cb2592","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d9e02629_d09b69d1","updated":"2025-04-02 12:52:02.000000000","message":"I will review this patch when CI will actually run the test. Meanwhile it is skipped due to the bug","commit_id":"738c9d07f8375f7d40b756cc82651712873adeac"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ddbe8a38f7ca669309d1b7885bfd6be54240b293","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a2ff0951_c1ab327a","updated":"2025-03-26 11:31:57.000000000","message":"This patch can still be reviewed, I\u0027m just planning to rebase it and to use parser proposed in this Omer\u0027s patch:  https://review.opendev.org/c/openstack/designate-tempest-plugin/+/945080 once merged.","commit_id":"738c9d07f8375f7d40b756cc82651712873adeac"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"0e86f812531bcbf53d4a08bf75324e285fbe0050","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"984a1a64_966402cd","updated":"2025-04-02 08:52:14.000000000","message":"recheck","commit_id":"738c9d07f8375f7d40b756cc82651712873adeac"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"f43b709766b89097216b4b55e4b374d7247472b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"27239f5c_e535b1e5","updated":"2026-04-24 14:34:26.000000000","message":"I have backported the relevant 3 fixes to stable/2026.1 for now, let\u0027s see if that specific u/s job passes with them (multipool 2026-1). If it does, I will continue backporting those to the other 2 stable branches","commit_id":"a5a45162221083830b98d6cef151b2ecd0fe4d03"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"33e37d9f38348977546d897b9652ebd16cc2c683","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8867214c_13249d63","updated":"2026-04-24 15:17:43.000000000","message":"cool, it worked. I will continue with the 2025 stable branches","commit_id":"a5a45162221083830b98d6cef151b2ecd0fe4d03"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"1c045f60e5863e88d695c807051792ecd601739a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"223da87e_e8da29da","updated":"2026-05-27 13:08:13.000000000","message":"As Dmitry mentioned here https://bugs.launchpad.net/designate/+bug/2148552/comments/9 the original spec of the zone move between pool mentioned that admins would have to manually remove the zones from the old DNS servers to allow migration without downtime. So we should change how we test that feature","commit_id":"6ac743cb5e7d63cf6efdd7045ccc149de0b6f081"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"601ec1b90937da50b57634825218066cef4936a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"82caf47d_f3dc554f","updated":"2026-06-02 12:59:59.000000000","message":"Hi @oschwart@redhat.com @galkindmitrii@gmail.com!\n\nI\u0027ve changed the behavior according to Dmitry\u0027s comment by updating the query so that it expects to get the \"moved\" zone on both pools.\nAll failed gates are experiencing the same issue:\n\u0027Details: (DesignateMultiPoolTest:test_move_zone_to_another_pool) Record A-694045065.rand-first_pool_zone_-895528823.rand-ZonesTest-364340475.test. of type A not found on nameservers [\u0027158.69.69.82:5322\u0027] within the required time (360 s)\u0027\nThis matches the first query, which means that the zone is still automatically deleted from the source pool. This is probably not yet implemented/reverted on the Designate side.","commit_id":"90d989b77cd1a22efa26cf21d1e6e78d8c51d2b4"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"1f8592655735334adf29108bada7548af1a25dcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"2ddd4443_97ca82d2","updated":"2026-06-03 14:06:22.000000000","message":"recheck","commit_id":"90d989b77cd1a22efa26cf21d1e6e78d8c51d2b4"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"f0a57177_bf7f5fcf","updated":"2026-06-19 09:59:37.000000000","message":"Thanks Arkady, I left a few comments inline","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"b6acec97bebbfbf21489f2f703a65be0f5f3a5f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"202ef39a_d610cf27","updated":"2026-06-21 16:26:12.000000000","message":"recheck\nFailure is not related to code changes.","commit_id":"a263afa7621a4545ec4140fc23c63c37de8fc398"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a05cbd89b5901c6ad3eb4cd7384b4465c298d071","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"bdb1d8d4_9327361c","updated":"2026-06-30 12:20:32.000000000","message":"I am planning to merge it soon","commit_id":"fc2501477515a461f9fb7821b86de7bcb83db034"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"d3cff21454bb309afd1e26847c0211ae80a63e6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"89210fac_76f57a9e","updated":"2026-06-24 11:21:53.000000000","message":"LGTM","commit_id":"fc2501477515a461f9fb7821b86de7bcb83db034"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"7a69c246b80038a8298e01a7316d7ce1c6d614fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"c6584b4c_bd39c1b2","updated":"2026-07-02 08:53:12.000000000","message":"Let\u0027s merge it","commit_id":"fc2501477515a461f9fb7821b86de7bcb83db034"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"f0b1ff02c5d10ea5d0347a80c1767c58b70977c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"0d98d72f_9e16b882","updated":"2026-06-22 15:34:18.000000000","message":"recheck","commit_id":"fc2501477515a461f9fb7821b86de7bcb83db034"}],"designate_tempest_plugin/services/dns/v2/json/zones_client.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":true,"context_lines":[{"line_number":228,"context_line":"         specified target pool."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        :param zone_id: Zone ID."},{"line_number":231,"context_line":"        :pool_id: Target Pool ID"},{"line_number":232,"context_line":"        :param headers (dict): The headers to use for the request."},{"line_number":233,"context_line":"        :return: A tuple with the server response and body."},{"line_number":234,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"257d9a68_ea82af5c","line":231,"range":{"start_line":231,"start_character":9,"end_line":231,"end_character":16},"updated":"2026-06-19 09:59:37.000000000","message":"nit: missing \"param\"","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8aa3a892fd02e5beecac3d98efbebf5df7c41145","unresolved":false,"context_lines":[{"line_number":228,"context_line":"         specified target pool."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        :param zone_id: Zone ID."},{"line_number":231,"context_line":"        :pool_id: Target Pool ID"},{"line_number":232,"context_line":"        :param headers (dict): The headers to use for the request."},{"line_number":233,"context_line":"        :return: A tuple with the server response and body."},{"line_number":234,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":18,"id":"307f5964_ee541d5e","line":231,"range":{"start_line":231,"start_character":9,"end_line":231,"end_character":16},"in_reply_to":"257d9a68_ea82af5c","updated":"2026-06-21 13:59:13.000000000","message":"Done","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":true,"context_lines":[{"line_number":236,"context_line":"        resp, body \u003d self._create_request("},{"line_number":237,"context_line":"            \u0027zones/{}/tasks/pool_move\u0027.format(zone_id),"},{"line_number":238,"context_line":"            pool, headers\u003dheaders,"},{"line_number":239,"context_line":"            expected_statuses\u003dself.DELETE_STATUS_CODES)"},{"line_number":240,"context_line":"        self.expected_success(202, resp.status)"},{"line_number":241,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":18,"id":"9f9e9b19_890ea042","line":240,"range":{"start_line":239,"start_character":0,"end_line":240,"end_character":47},"updated":"2026-06-19 09:59:37.000000000","message":"minor, but do we need both lines? (_create_request also calls self.expected_success(expected_statuses, resp.status))","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8aa3a892fd02e5beecac3d98efbebf5df7c41145","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        resp, body \u003d self._create_request("},{"line_number":237,"context_line":"            \u0027zones/{}/tasks/pool_move\u0027.format(zone_id),"},{"line_number":238,"context_line":"            pool, headers\u003dheaders,"},{"line_number":239,"context_line":"            expected_statuses\u003dself.DELETE_STATUS_CODES)"},{"line_number":240,"context_line":"        self.expected_success(202, resp.status)"},{"line_number":241,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":18,"id":"94fba223_6db48fea","line":240,"range":{"start_line":239,"start_character":0,"end_line":240,"end_character":47},"in_reply_to":"9f9e9b19_890ea042","updated":"2026-06-21 13:59:13.000000000","message":"Done","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"}],"designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":true,"context_lines":[{"line_number":424,"context_line":"                \u0027Cannot proceed with multi-pool testing.\u0027)"},{"line_number":425,"context_line":"        if len(nameservers) \u003c 2:"},{"line_number":426,"context_line":"            skip_msg \u003d (\"Detected only {} pool(s). \""},{"line_number":427,"context_line":"                        \"At least 2 pools are required for Multi-Pool testing.\""},{"line_number":428,"context_line":"                        ).format(len(nameservers))"},{"line_number":429,"context_line":"            raise self.skipException(skip_msg)"},{"line_number":430,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"33c9ee18_6e860457","line":427,"range":{"start_line":427,"start_character":36,"end_line":427,"end_character":41},"updated":"2026-06-19 09:59:37.000000000","message":"nameservers","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8aa3a892fd02e5beecac3d98efbebf5df7c41145","unresolved":false,"context_lines":[{"line_number":424,"context_line":"                \u0027Cannot proceed with multi-pool testing.\u0027)"},{"line_number":425,"context_line":"        if len(nameservers) \u003c 2:"},{"line_number":426,"context_line":"            skip_msg \u003d (\"Detected only {} pool(s). \""},{"line_number":427,"context_line":"                        \"At least 2 pools are required for Multi-Pool testing.\""},{"line_number":428,"context_line":"                        ).format(len(nameservers))"},{"line_number":429,"context_line":"            raise self.skipException(skip_msg)"},{"line_number":430,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"768aecb7_b5988429","line":427,"range":{"start_line":427,"start_character":36,"end_line":427,"end_character":41},"in_reply_to":"33c9ee18_6e860457","updated":"2026-06-21 13:59:13.000000000","message":"Done","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":true,"context_lines":[{"line_number":494,"context_line":"            raise lib_exc.NotFound("},{"line_number":495,"context_line":"                \"Zone {} failed to appear in destination pool {}\""},{"line_number":496,"context_line":"                \" after {} retries. List of all the results \""},{"line_number":497,"context_line":"                \"received per atempt is {}\".format("},{"line_number":498,"context_line":"                    zone_name, pool2_id, max_retries, listed_zones))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        LOG.info(\u0027Wait until moved zone gets into ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"abe8a16d_72f8d8d2","line":497,"range":{"start_line":497,"start_character":30,"end_line":497,"end_character":36},"updated":"2026-06-19 09:59:37.000000000","message":"typo: attempt","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8aa3a892fd02e5beecac3d98efbebf5df7c41145","unresolved":false,"context_lines":[{"line_number":494,"context_line":"            raise lib_exc.NotFound("},{"line_number":495,"context_line":"                \"Zone {} failed to appear in destination pool {}\""},{"line_number":496,"context_line":"                \" after {} retries. List of all the results \""},{"line_number":497,"context_line":"                \"received per atempt is {}\".format("},{"line_number":498,"context_line":"                    zone_name, pool2_id, max_retries, listed_zones))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        LOG.info(\u0027Wait until moved zone gets into ACTIVE\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"7269b8fd_7d74d2ba","line":497,"range":{"start_line":497,"start_character":30,"end_line":497,"end_character":36},"in_reply_to":"abe8a16d_72f8d8d2","updated":"2026-06-21 13:59:13.000000000","message":"Done","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"716f1b3a4535ceb852dfa6cbef0bf5f5084c47c7","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        moved_zone_id \u003d []"},{"line_number":480,"context_line":"        max_retries \u003d 20"},{"line_number":481,"context_line":"        listed_zones \u003d []"},{"line_number":482,"context_line":"        for i in range(max_retries):"},{"line_number":483,"context_line":"            zones \u003d self.admin_zones_client.list_zones("},{"line_number":484,"context_line":"                headers\u003dself.all_projects_header)[1][\u0027zones\u0027]"},{"line_number":485,"context_line":"            listed_zones.append(zones)"},{"line_number":486,"context_line":"            moved_zone_id \u003d ["},{"line_number":487,"context_line":"                item[\u0027id\u0027] for item in zones if"},{"line_number":488,"context_line":"                item[\u0027pool_id\u0027] \u003d\u003d pool2_id and"},{"line_number":489,"context_line":"                item[\u0027name\u0027] \u003d\u003d zone_name]"},{"line_number":490,"context_line":"            if moved_zone_id:"},{"line_number":491,"context_line":"                break"},{"line_number":492,"context_line":"            time.sleep(CONF.dns.build_interval)"},{"line_number":493,"context_line":"        if not moved_zone_id:"},{"line_number":494,"context_line":"            raise lib_exc.NotFound("},{"line_number":495,"context_line":"                \"Zone {} failed to appear in destination pool {}\""},{"line_number":496,"context_line":"                \" after {} retries. List of all the results \""},{"line_number":497,"context_line":"                \"received per atempt is {}\".format("},{"line_number":498,"context_line":"                    zone_name, pool2_id, max_retries, listed_zones))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        LOG.info(\u0027Wait until moved zone gets into ACTIVE\u0027)"},{"line_number":501,"context_line":"        waiters.wait_for_zone_status("}],"source_content_type":"text/x-python","patch_set":18,"id":"c75f5bf4_9ca6c0ee","line":498,"range":{"start_line":482,"start_character":8,"end_line":498,"end_character":68},"updated":"2026-06-19 09:59:37.000000000","message":"Please consider using an existing waiter from the waiters module.\nMaybe we could replace lines 479-506 with\n```\nwaiters.wait_for_zone_status(\n      self.admin_zones_client, zone[\u0027id\u0027], const.ACTIVE)\nzone_after \u003d self.admin_zones_client.show_zone(zone[\u0027id\u0027])[1]\nself.assertEqual(pool2_id, zone_after[\u0027pool_id\u0027],\n    \u0027Zone was not moved to expected pool_id:{}\u0027.format(pool2_id))\n```","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"8aa3a892fd02e5beecac3d98efbebf5df7c41145","unresolved":true,"context_lines":[{"line_number":479,"context_line":"        moved_zone_id \u003d []"},{"line_number":480,"context_line":"        max_retries \u003d 20"},{"line_number":481,"context_line":"        listed_zones \u003d []"},{"line_number":482,"context_line":"        for i in range(max_retries):"},{"line_number":483,"context_line":"            zones \u003d self.admin_zones_client.list_zones("},{"line_number":484,"context_line":"                headers\u003dself.all_projects_header)[1][\u0027zones\u0027]"},{"line_number":485,"context_line":"            listed_zones.append(zones)"},{"line_number":486,"context_line":"            moved_zone_id \u003d ["},{"line_number":487,"context_line":"                item[\u0027id\u0027] for item in zones if"},{"line_number":488,"context_line":"                item[\u0027pool_id\u0027] \u003d\u003d pool2_id and"},{"line_number":489,"context_line":"                item[\u0027name\u0027] \u003d\u003d zone_name]"},{"line_number":490,"context_line":"            if moved_zone_id:"},{"line_number":491,"context_line":"                break"},{"line_number":492,"context_line":"            time.sleep(CONF.dns.build_interval)"},{"line_number":493,"context_line":"        if not moved_zone_id:"},{"line_number":494,"context_line":"            raise lib_exc.NotFound("},{"line_number":495,"context_line":"                \"Zone {} failed to appear in destination pool {}\""},{"line_number":496,"context_line":"                \" after {} retries. List of all the results \""},{"line_number":497,"context_line":"                \"received per atempt is {}\".format("},{"line_number":498,"context_line":"                    zone_name, pool2_id, max_retries, listed_zones))"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":"        LOG.info(\u0027Wait until moved zone gets into ACTIVE\u0027)"},{"line_number":501,"context_line":"        waiters.wait_for_zone_status("}],"source_content_type":"text/x-python","patch_set":18,"id":"42942c71_86c5faad","line":498,"range":{"start_line":482,"start_character":8,"end_line":498,"end_character":68},"in_reply_to":"c75f5bf4_9ca6c0ee","updated":"2026-06-21 13:59:13.000000000","message":"Yep, sounds good. I think the initial implementation was done that way because the zone ID changed during the move, so I had to detect the new one. Replacing the whole block makes sense, thanks!","commit_id":"3e751beb02b8d748a84a0db9d1295bcc28ac1b30"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b8483640350de9657e3a3c2f72f6af6eea1476a4","unresolved":true,"context_lines":[{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        LOG.info(\u0027Extracting Pool IDs and nameserver: ns1 and ns2\u0027"},{"line_number":431,"context_line":"                 \u0027 in \u003chost:port\u003e format\u0027)"},{"line_number":432,"context_line":"        pool_ids \u003d {ns[\u0027pool_id\u0027] for ns in nameservers}"},{"line_number":433,"context_line":"        pool1_id \u003d nameservers[0][\u0027pool_id\u0027]"},{"line_number":434,"context_line":"        pool2_id \u003d nameservers[1][\u0027pool_id\u0027]"},{"line_number":435,"context_line":"        if len(pool_ids) \u003c 2 or pool1_id \u003d\u003d pool2_id:"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f485a97_94909e23","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":56},"updated":"2026-06-22 09:06:26.000000000","message":"I see now that in theory, pool_ids (the set) correctly detects that 2 pools exist, but pool1_id and pool2_id are picked from nameservers[0] and nameservers[1] — which could both be from the same pool if it has multiple nameservers. This would cause an unnecessary skip even though 2 distinct pools are available.\n\nConsider using the same defaultdict grouping pattern from test_create_zone_per_pool above (line 332), which groups by pool first and then picks from distinct keys.","commit_id":"a263afa7621a4545ec4140fc23c63c37de8fc398"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"165dd82ca80dec6aa0b5c5ce7945a178b2212300","unresolved":false,"context_lines":[{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        LOG.info(\u0027Extracting Pool IDs and nameserver: ns1 and ns2\u0027"},{"line_number":431,"context_line":"                 \u0027 in \u003chost:port\u003e format\u0027)"},{"line_number":432,"context_line":"        pool_ids \u003d {ns[\u0027pool_id\u0027] for ns in nameservers}"},{"line_number":433,"context_line":"        pool1_id \u003d nameservers[0][\u0027pool_id\u0027]"},{"line_number":434,"context_line":"        pool2_id \u003d nameservers[1][\u0027pool_id\u0027]"},{"line_number":435,"context_line":"        if len(pool_ids) \u003c 2 or pool1_id \u003d\u003d pool2_id:"}],"source_content_type":"text/x-python","patch_set":19,"id":"0ef8dd88_1d45d641","line":432,"range":{"start_line":432,"start_character":8,"end_line":432,"end_character":56},"in_reply_to":"7f485a97_94909e23","updated":"2026-06-22 11:56:12.000000000","message":"Done","commit_id":"a263afa7621a4545ec4140fc23c63c37de8fc398"}]}
