)]}'
{".zuul.yaml":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"277a0d497ea691edf41bb45c6eded056a02b6778","unresolved":true,"context_lines":[{"line_number":2,"context_line":"    name: designate-bind9-multipool-stable-2024-1"},{"line_number":3,"context_line":"    parent: designate-bind9-multipool"},{"line_number":4,"context_line":"    nodeset: openstack-single-node-jammy"},{"line_number":5,"context_line":"    override-checkout: stable/2024.1"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- job:"},{"line_number":8,"context_line":"    name: designate-bind9-stable-2024-1"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0111c7b8_fd7c2292","line":5,"updated":"2024-09-27 16:35:37.000000000","message":"This override seems to be a problem, this branch does not contain the multi-pool devstack plugin.","commit_id":"7c4d3c9bc8a11b72b0091434084eba10455a2889"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b6cd2e7bdd8a034d6e523a9692d207b043f9421e","unresolved":true,"context_lines":[{"line_number":2,"context_line":"    name: designate-bind9-multipool-stable-2024-1"},{"line_number":3,"context_line":"    parent: designate-bind9-multipool"},{"line_number":4,"context_line":"    nodeset: openstack-single-node-jammy"},{"line_number":5,"context_line":"    override-checkout: stable/2024.1"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- job:"},{"line_number":8,"context_line":"    name: designate-bind9-stable-2024-1"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"28474bb5_a8019a6b","line":5,"in_reply_to":"0111c7b8_fd7c2292","updated":"2024-09-30 11:04:06.000000000","message":"Thanks Michael, I will try to remove that override-checkout line and see if it works.","commit_id":"7c4d3c9bc8a11b72b0091434084eba10455a2889"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"194790cf1d0f30792c4f99e0ebd3429c585406bd","unresolved":false,"context_lines":[{"line_number":2,"context_line":"    name: designate-bind9-multipool-stable-2024-1"},{"line_number":3,"context_line":"    parent: designate-bind9-multipool"},{"line_number":4,"context_line":"    nodeset: openstack-single-node-jammy"},{"line_number":5,"context_line":"    override-checkout: stable/2024.1"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- job:"},{"line_number":8,"context_line":"    name: designate-bind9-stable-2024-1"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"35a8ed37_2aff5ed5","line":5,"in_reply_to":"28474bb5_a8019a6b","updated":"2025-01-20 18:59:43.000000000","message":"Done","commit_id":"7c4d3c9bc8a11b72b0091434084eba10455a2889"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":true,"context_lines":[{"line_number":27,"context_line":"        post-config:"},{"line_number":28,"context_line":"          \"$DESIGNATE_CONF\":"},{"line_number":29,"context_line":"            service:central:"},{"line_number":30,"context_line":"              scheduler_filters: \"pool_id_attribute, fallback\""},{"line_number":31,"context_line":"        test-config:"},{"line_number":32,"context_line":"          \"$TEMPEST_CONFIG\":"},{"line_number":33,"context_line":"            dns_feature_enabled:"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"f0b1a4a7_c0a67ff5","line":30,"updated":"2025-02-27 23:10:44.000000000","message":"You might want the \"in doubt\" filter here","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"653864272037617265a67cfe976cb3773af08595","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        post-config:"},{"line_number":28,"context_line":"          \"$DESIGNATE_CONF\":"},{"line_number":29,"context_line":"            service:central:"},{"line_number":30,"context_line":"              scheduler_filters: \"pool_id_attribute, fallback\""},{"line_number":31,"context_line":"        test-config:"},{"line_number":32,"context_line":"          \"$TEMPEST_CONFIG\":"},{"line_number":33,"context_line":"            dns_feature_enabled:"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"a71017ef_8b79e7fa","line":30,"in_reply_to":"f0b1a4a7_c0a67ff5","updated":"2025-02-28 11:42:59.000000000","message":"right, thanks","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":true,"context_lines":[{"line_number":32,"context_line":"          \"$TEMPEST_CONFIG\":"},{"line_number":33,"context_line":"            dns_feature_enabled:"},{"line_number":34,"context_line":"              test_multipool_delete: True"},{"line_number":35,"context_line":"      tempest_test_regex: ^designate_tempest_plugin.tests.scenario.v2.test_designate_multipool.DesignateMultiPoolTest"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- project:"},{"line_number":38,"context_line":"    templates:"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"70e33c74_3d8a39fa","line":35,"updated":"2025-02-27 23:10:44.000000000","message":"You might want to leave this at the test_designate_multipool level so that it is easier to create a negative test class in the future. Changing this also means the manage command tests will not run.","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"653864272037617265a67cfe976cb3773af08595","unresolved":false,"context_lines":[{"line_number":32,"context_line":"          \"$TEMPEST_CONFIG\":"},{"line_number":33,"context_line":"            dns_feature_enabled:"},{"line_number":34,"context_line":"              test_multipool_delete: True"},{"line_number":35,"context_line":"      tempest_test_regex: ^designate_tempest_plugin.tests.scenario.v2.test_designate_multipool.DesignateMultiPoolTest"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- project:"},{"line_number":38,"context_line":"    templates:"}],"source_content_type":"text/x-yaml","patch_set":43,"id":"2d6d5e87_adffdc82","line":35,"in_reply_to":"70e33c74_3d8a39fa","updated":"2025-02-28 11:42:59.000000000","message":"ack, I will remove the DesignateMultiPoolTest part","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"507432338e8494cf4451ed7f66037f3222d50f9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b52ada6c_17012fce","updated":"2024-10-01 11:18:03.000000000","message":"I plan to add scheduler filters to the job and assert the zones are active and were associated with different pools","commit_id":"d07628cce265a0e8c1de1b9e91d36d900aa1d2fa"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a7e0290a5cfd7d867fa878060d777128508631e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4d9075c2_9cbe93d8","updated":"2024-10-01 11:18:56.000000000","message":"and dig a record from each zone","commit_id":"d07628cce265a0e8c1de1b9e91d36d900aa1d2fa"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"96c745af12ef8c3c76f55d5dbafa318301be17e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d6cd5ac9_3d38b117","updated":"2024-12-11 16:31:16.000000000","message":"The pools.yaml files have both wrong host and rndc host values that cause timeouts","commit_id":"d6422b3e3f3688e531f5e0c77982736f69703bd0"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"194790cf1d0f30792c4f99e0ebd3429c585406bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":41,"id":"2e69731c_da1b7e7f","updated":"2025-01-20 18:59:43.000000000","message":"recheck just in case","commit_id":"fd7956e65ccaf99f5f1da18fc715efebc1cf701e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":43,"id":"09a370ba_59d5789f","updated":"2025-02-27 23:10:44.000000000","message":"A couple of minor comments","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c6cd8cfefea04ac6b84345afc107e2fd0ae2001d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":46,"id":"93a4d967_9ff96925","updated":"2025-03-07 03:52:40.000000000","message":"LGTM","commit_id":"c3ed0812b7afe9fdc38c80dbf88ccad4d0581a9c"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"b60170c791481c605d664830b8fbaec06e974821","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"b3ab73db_293941b2","updated":"2025-03-17 08:20:58.000000000","message":"I\u0027ve added some comments on \"test_create_zones\"","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bd824b4e5d43b98d561fa118f49c43bddedb0a3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"7b039e79_4f00914b","updated":"2025-03-14 06:55:46.000000000","message":"Let\u0027s workflow this, it has been sitting for a while","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5b3f3d149c487c0b15f82446aef290093085105e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"f2fc995c_1ea133b8","updated":"2025-03-14 04:58:44.000000000","message":"recheck\nParent has updated","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"ed768502ba8a90e8c3e3c1e6d4ab8a07fad0b2a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":49,"id":"402dd3a1_3e3d3453","updated":"2025-03-14 17:55:02.000000000","message":"recheck\npdns timeout","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"}],"designate_tempest_plugin/tests/scenario/v2/test_designate_multipool.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":true,"context_lines":[{"line_number":293,"context_line":"    @classmethod"},{"line_number":294,"context_line":"    def resource_setup(cls):"},{"line_number":295,"context_line":"        super().resource_setup()"},{"line_number":296,"context_line":"        super()._update_pools_file(cls.MULTIPOOLS_FILE_PATH)"},{"line_number":297,"context_line":"        # Make sure we have an allowed TLD available"},{"line_number":298,"context_line":"        tld_name \u003d dns_data_utils.rand_zone_name(name\u003d\"ZonesTest\")"},{"line_number":299,"context_line":"        cls.tld_name \u003d f\".{tld_name}\""}],"source_content_type":"text/x-python","patch_set":43,"id":"b91f9a8d_be8d6ccb","line":296,"updated":"2025-02-27 23:10:44.000000000","message":"This is being run twice, once in the parent class resource setup on line 99 and also here.\nDo we need to have this class be a child of DesignateManagePoolTest?","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"e84663023ac1a4d0c37a1ec7c958a0f44c65244c","unresolved":true,"context_lines":[{"line_number":293,"context_line":"    @classmethod"},{"line_number":294,"context_line":"    def resource_setup(cls):"},{"line_number":295,"context_line":"        super().resource_setup()"},{"line_number":296,"context_line":"        super()._update_pools_file(cls.MULTIPOOLS_FILE_PATH)"},{"line_number":297,"context_line":"        # Make sure we have an allowed TLD available"},{"line_number":298,"context_line":"        tld_name \u003d dns_data_utils.rand_zone_name(name\u003d\"ZonesTest\")"},{"line_number":299,"context_line":"        cls.tld_name \u003d f\".{tld_name}\""}],"source_content_type":"text/x-python","patch_set":43,"id":"dc3483bd_678e8b92","line":296,"in_reply_to":"503325ca_cfe3d92e","updated":"2025-02-28 12:29:52.000000000","message":"ok, it runs the other class\u0027s tests and that\u0027s why that line is needed. If we separate those classes, I guess we could delete that line. But I don\u0027t think I could make it today.","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"653864272037617265a67cfe976cb3773af08595","unresolved":true,"context_lines":[{"line_number":293,"context_line":"    @classmethod"},{"line_number":294,"context_line":"    def resource_setup(cls):"},{"line_number":295,"context_line":"        super().resource_setup()"},{"line_number":296,"context_line":"        super()._update_pools_file(cls.MULTIPOOLS_FILE_PATH)"},{"line_number":297,"context_line":"        # Make sure we have an allowed TLD available"},{"line_number":298,"context_line":"        tld_name \u003d dns_data_utils.rand_zone_name(name\u003d\"ZonesTest\")"},{"line_number":299,"context_line":"        cls.tld_name \u003d f\".{tld_name}\""}],"source_content_type":"text/x-python","patch_set":43,"id":"503325ca_cfe3d92e","line":296,"in_reply_to":"b91f9a8d_be8d6ccb","updated":"2025-02-28 11:42:59.000000000","message":"It doesn\u0027t have to be a child class of DesignateManagePoolTest. But I would prefer not to change it today, as it is the last day before feature freeze and I wouldn\u0027t like to risk it against the CI. IMO we can change it in a future patch.","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":true,"context_lines":[{"line_number":360,"context_line":""},{"line_number":361,"context_line":"            if config.CONF.dns.nameservers:"},{"line_number":362,"context_line":"                records \u003d []"},{"line_number":363,"context_line":"                ns \u003d config.CONF.dns.nameservers[0]"},{"line_number":364,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":365,"context_line":"                ns_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":366,"context_line":"                self.assertNotEmpty(ns_record)"}],"source_content_type":"text/x-python","patch_set":43,"id":"38dc970f_b817eb45","line":363,"updated":"2025-02-27 23:10:44.000000000","message":"This doesn\u0027t seem right, it\u0027s always going to query only one nameserver.","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"653864272037617265a67cfe976cb3773af08595","unresolved":false,"context_lines":[{"line_number":360,"context_line":""},{"line_number":361,"context_line":"            if config.CONF.dns.nameservers:"},{"line_number":362,"context_line":"                records \u003d []"},{"line_number":363,"context_line":"                ns \u003d config.CONF.dns.nameservers[0]"},{"line_number":364,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":365,"context_line":"                ns_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":366,"context_line":"                self.assertNotEmpty(ns_record)"}],"source_content_type":"text/x-python","patch_set":43,"id":"abb5eab1_98396c77","line":363,"in_reply_to":"38dc970f_b817eb45","updated":"2025-02-28 11:42:59.000000000","message":"yeah, I copy pasted it from tests/scenario/v2/test_classless_ptr.py\nI will change it to use all available nameservers against each zone","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a65b58e0d1ad374a70bbfd8a7a2e53a8b8b219a0","unresolved":true,"context_lines":[{"line_number":364,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":365,"context_line":"                ns_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":366,"context_line":"                self.assertNotEmpty(ns_record)"},{"line_number":367,"context_line":"                records.append(ns_record)"}],"source_content_type":"text/x-python","patch_set":43,"id":"afdcccda_e722f60f","line":367,"updated":"2025-02-27 23:10:44.000000000","message":"Why are we storing this record?","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"653864272037617265a67cfe976cb3773af08595","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":365,"context_line":"                ns_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":366,"context_line":"                self.assertNotEmpty(ns_record)"},{"line_number":367,"context_line":"                records.append(ns_record)"}],"source_content_type":"text/x-python","patch_set":43,"id":"d08e1506_afabb356","line":367,"in_reply_to":"afdcccda_e722f60f","updated":"2025-02-28 11:42:59.000000000","message":"I am not sure, I will delete it","commit_id":"341c189d3714f27c8efeea64d52001cf319c687e"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"b60170c791481c605d664830b8fbaec06e974821","unresolved":true,"context_lines":[{"line_number":315,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":316,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":317,"context_line":"    @decorators.idempotent_id(\u0027c0648f53-4114-45bd-8792-462a82f69d32\u0027)"},{"line_number":318,"context_line":"    def test_create_zones(self):"},{"line_number":319,"context_line":"        LOG.info(\u0027Create 2 zones, one per pool\u0027)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        zone1_name \u003d dns_data_utils.rand_zone_name("}],"source_content_type":"text/x-python","patch_set":49,"id":"c30d3507_f1e82816","line":318,"range":{"start_line":318,"start_character":8,"end_line":318,"end_character":25},"updated":"2025-03-17 08:20:58.000000000","message":"Test name is duplicated with: https://github.com/openstack/designate-tempest-plugin/blob/master/designate_tempest_plugin/tests/api/v2/test_zones.py#L71","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"255e5c2f9a6033550aa19782426a6207ae656c1a","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    @decorators.attr(type\u003d\u0027smoke\u0027)"},{"line_number":316,"context_line":"    @decorators.attr(type\u003d\u0027slow\u0027)"},{"line_number":317,"context_line":"    @decorators.idempotent_id(\u0027c0648f53-4114-45bd-8792-462a82f69d32\u0027)"},{"line_number":318,"context_line":"    def test_create_zones(self):"},{"line_number":319,"context_line":"        LOG.info(\u0027Create 2 zones, one per pool\u0027)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        zone1_name \u003d dns_data_utils.rand_zone_name("}],"source_content_type":"text/x-python","patch_set":49,"id":"d73976e3_db2789d4","line":318,"range":{"start_line":318,"start_character":8,"end_line":318,"end_character":25},"in_reply_to":"c30d3507_f1e82816","updated":"2025-03-17 14:34:21.000000000","message":"right, and with these too\ntest_create_blacklist (2 occurrences):\ntest_create_pool (2 occurrences):\ntest_create_recordset (2 occurrences):\ntest_create_tld (2 occurrences):\ntest_create_zone_import_invalid_name (2 occurrences):\ntest_create_zone_import_invalid_ttl (2 occurrences):\ntest_create_zones (2 occurrences):\ntest_delete_blacklist (2 occurrences):\ntest_delete_pool (2 occurrences):\ntest_delete_recordset (2 occurrences):\ntest_delete_tld (2 occurrences):\ntest_delete_zone (2 occurrences):\ntest_list_blacklists (2 occurrences):\ntest_list_pools (2 occurrences):\ntest_list_recordsets (2 occurrences):\ntest_list_tlds (2 occurrences):\ntest_list_zones (2 occurrences):\ntest_show_blacklist (2 occurrences):\ntest_show_pool (2 occurrences):\ntest_show_quotas (2 occurrences):\ntest_show_shared_zone (2 occurrences):\ntest_show_tld (2 occurrences):\ntest_show_zone (2 occurrences):\ntest_update_blacklist (2 occurrences):\ntest_update_pool (2 occurrences):\ntest_update_quotas (2 occurrences):\ntest_update_recordset (2 occurrences):\ntest_update_tld (2 occurrences):\ntest_update_zone (2 occurrences):\n\nit doesn\u0027t look like unique tests names is a requirement for either tox or designate-tempest-plugin, as long as we have different test class for each.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"b60170c791481c605d664830b8fbaec06e974821","unresolved":true,"context_lines":[{"line_number":362,"context_line":"                self.rec_client, zone[\u0027id\u0027],"},{"line_number":363,"context_line":"                body[\u0027id\u0027], const.ACTIVE)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"997bbd73_1203fff3","line":365,"range":{"start_line":365,"start_character":22,"end_line":365,"end_character":49},"updated":"2025-03-17 08:20:58.000000000","message":"I see only one nameserver listed in: https://zuul.opendev.org/t/openstack/build/a73d92e70fbf4674b68d82f953fbd24c/log/controller/logs/tempest_conf.txt#137 and if so, this loop samples the same nameserver on each iteration. I guess that the point here was sampling two different backends (one per pool),right?\n\nI think that if \"multi-pool\" is enabled, we have to extract nameservers data based on \"designate-manage\" output + it should involve Pool_ID, maybe something like:\nnameservers\u003d[{pool_id:DEFAULT_POOL_ID, host:IP, port:port},{pool_id:SECONDARY_POOL_ID, host:IP, port:port}]\nSo we\u0027ll be able to ensure each recordset goes to appropriate only backend.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"255e5c2f9a6033550aa19782426a6207ae656c1a","unresolved":false,"context_lines":[{"line_number":362,"context_line":"                self.rec_client, zone[\u0027id\u0027],"},{"line_number":363,"context_line":"                body[\u0027id\u0027], const.ACTIVE)"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"b167fe09_d85d2ce1","line":365,"range":{"start_line":365,"start_character":22,"end_line":365,"end_character":49},"in_reply_to":"997bbd73_1203fff3","updated":"2025-03-17 14:34:21.000000000","message":"the intention was to test each available nameserver against each available zone.\nOn devstack we have one nameserver by default, and it is added to tempest.conf dynamically. The designate check and gate pipelines use devstack.\nEither way, our d/s CI will test it against different multiple nameservers. It is behaving correctly here.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"b60170c791481c605d664830b8fbaec06e974821","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"80f5a2a1_e60c773b","line":368,"updated":"2025-03-17 08:20:58.000000000","message":"I\u0027m not sure about using \"assertNotEmpty\" not the best effort I think, since it considering \"bad answer\" as a positive/expected DIG response. For example, I got a valid response for first iteration:\n\n    id 13229\n    opcode QUERY\n    rcode NOERROR\n    flags QR AA RD\n    ;QUESTION\n    rand-create_zones_multipool--1705799945.rand-ZonesTest-1366244648.test. IN A\n    ;ANSWER\n    ;AUTHORITY\n    rand-create_zones_multipool--1705799945.rand-ZonesTest-1366244648.test. 3600 \n    IN SOA ns1.devstack.org. example.rand-1747812322.test. 1742158357 3537 600 \n    86400 3600\n    ;ADDITIONAL\n\nand invalid (REFUSED + no A type) for second:\n\n    id 56269\n    opcode QUERY\n    rcode REFUSED\n    flags QR RD\n    ;QUESTION\n    rand-create_zones_multipool--1171515238.rand-ZonesTest-1366244648.test. IN A\n    ;ANSWER\n    ;AUTHORITY\n    ;ADDITIONAL\n\nIn spite of that (expected recordset doesn\u0027t exist on 2nd backend), \"test_create_zones\" passed.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"4ec4fe3ae213592ed5b2c677f2363b2af5493443","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"b0a11995_744b5628","line":368,"in_reply_to":"7a447891_3bbcd299","updated":"2025-03-18 16:00:28.000000000","message":"BTW - as of \"I am not sure what is the best practice here to discover the correct port, we could just run queries with {53, 1053} and make sure we get \"rcode NOERROR\" with at least one of those.\"\n\nI think that what we need is four different assertions:\n1. First A type recordset created exists on BIND9_1/POOL_1\n2. First A type recordset created doesn\u0027t exist on BIND9_2/POOL_2\n3. Second A type recordset created exists on BIND9_2/POOL_2\n4. Second A type recordset created doesn\u0027t exist on BIND9_1/POOL_1","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"255e5c2f9a6033550aa19782426a6207ae656c1a","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"cc2c49ea_0374dd55","line":368,"in_reply_to":"80f5a2a1_e60c773b","updated":"2025-03-17 14:34:21.000000000","message":"Thanks for adding this comment. I checked it and it looks like the default port is being using for the query, which is 53. The correct one should be 1053.\nI am not sure what is the best practice here to discover the correct port, we could just run queries with {53, 1053} and make sure we get \"rcode NOERROR\" with at least one of those.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"ed71b3eaaa4a7ebf8d804d148644272532cf0fb7","unresolved":true,"context_lines":[{"line_number":365,"context_line":"            for ns in config.CONF.dns.nameservers:"},{"line_number":366,"context_line":"                ns_obj \u003d SingleQueryClient(ns, config.CONF.dns.query_timeout)"},{"line_number":367,"context_line":"                a_record \u003d str(ns_obj.query(zone[\u0027name\u0027], rdatatype\u003d\u0027A\u0027))"},{"line_number":368,"context_line":"                self.assertNotEmpty(a_record)"}],"source_content_type":"text/x-python","patch_set":49,"id":"7a447891_3bbcd299","line":368,"in_reply_to":"cc2c49ea_0374dd55","updated":"2025-03-17 21:43:40.000000000","message":"Agree, if you\u0027ll use port 1053 you\u0027ll get proper valid response in a second iteration, but it\u0027s not exactly about port it\u0027s about BIND9 used for \"dig\". The \"root cause\" is the same I\u0027m raising in L365.\n\nOn \"multi pool\" setup we have more than one pool and each pool has its own \"nameservers\" here is the output of \"designate-manage pool show_config --all\":\n\n\n- also_notifies: []\n...\n...\n  id: 794ccc2c-d751-44fe-b57f-8894c9f5c842\n  name: default\n  nameservers:\n  - host: 192.168.122.241\n    port: 53\n...\n...\n- also_notifies: []\n...\n...\n  id: 0225f55a-1079-48fc-a8f1-9087ab32541b\n  name: secondary_pool\n  nameservers:\n  - host: 192.168.122.241\n    port: 1053\n...\n...\n\nSo we have two pools and two BINDs, one per pool:\n### POOL1 BIND9_1 ###\npool_id:794ccc2c-d751-44fe-b57f-8894c9f5c842 and it BIND(nameservers) hosted on: 192.168.122.241:53\n### POOL2 BIND9_2 ###\npool_id:0225f55a-1079-48fc-a8f1-9087ab32541b and it BIND(nameservers) hosted on: 192.168.122.241:1053\n\nThis is why first iteration toward: 192.168.122.241:53 is OK\nThis is why second iteration toward: 192.168.122.241:53 is not OK (BIND9_1 doesn\u0027t have recordset type A created on BIND9_2, as expected)\nThis is why you\u0027ll get a valid/good response in second iteration once 1053 is used. In fact changing port from 53 to 1053 changes BIND used for \"dig\" from BIND9_1(192.168.122.241:53) --\u003e BIND9_2(192.168.122.241:1053)\n\n\nNote: as of L318, agree not critical, but if you are going to modify this code feel free changing to \"test_create_zone_per_pool\" or something.","commit_id":"f36fcee44adaf33e9280231c6b0b3a40c9cacd32"}]}
