)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"d6df555c80639f7c1457fff8d0a0d9cd62eaf928","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"6a4da60d_4537c3c4","updated":"2025-06-26 03:31:06.000000000","message":"This patch implements CRUD support for the DNS Blacklist resource in openstacksdk.\n\nAll relevant functional tests such as `openstacksdk-functional-devstack` and `-tips` have passed successfully.\n\nThe jobs that show `POST_FAILURE` (e.g., `-networking`, `-magnum`, `-masakari`) seem to fail due to devstack cleanup issues and are not related to this patch. Also, many of those jobs are non-voting.\n\nLet me know if further changes or additional test coverage is needed. Thanks!","commit_id":"c57d482aeed88c18b759df356e8d14e37b9df7f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a1847963cf3a193593f5d476f045098f1c242a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1b945f06_24f4af5d","updated":"2025-06-26 06:50:09.000000000","message":"recheck failure to deploy devstack in some jobs","commit_id":"c57d482aeed88c18b759df356e8d14e37b9df7f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"59d69610_72e56323","updated":"2025-06-26 06:58:11.000000000","message":"This is looking good. I have a couple of nits inline and would like to see the functional test tweaked, but we\u0027re almost there IMO","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"9d61183e_2a92b06c","in_reply_to":"59d69610_72e56323","updated":"2025-06-27 03:36:56.000000000","message":"Thanks for the review and helpful suggestions!\n\nI\u0027ve updated the patchset 13 to address your comments, including the functional test tweak you pointed out. Let me know if there\u0027s anything else I should adjust.","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"8723db59c4be410ca849ea507d596e44aad2157f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8954f895_3ff0ad54","updated":"2025-07-01 03:12:37.000000000","message":"Hello, I’ve addressed the previous reviewer’s feedback and updated the patch accordingly.\nSince you\u0027ve also contributed to this area, I’d really appreciate it if you could take a look when you have a moment.\nYour review would be very helpful — thank you in advance!","commit_id":"8a0eeb0fe26062d0859eb6c3919c657a6279d8b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b1152818cb87023a126e24dc5594a6dbb18f4de6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"e6a37830_36981a38","updated":"2025-09-09 21:33:25.000000000","message":"recheck ironic should be non-voting now","commit_id":"1f27246a73dda62e36f26d3a0839068ea7652a9f"}],"openstack/dns/v2/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":898,"context_line":"    def blacklists(self, **query):"},{"line_number":899,"context_line":"        \"\"\"Retrieve a generator of blacklists"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"        :returns: A generater of blacklists"},{"line_number":902,"context_line":"            (:class:`~openstack.dns.v2.blacklist.Blacklist`) instances"},{"line_number":903,"context_line":"        \"\"\""},{"line_number":904,"context_line":"        return self._list(_blacklist.Blacklist, **query)"}],"source_content_type":"text/x-python","patch_set":12,"id":"05af1d72_1aa2d905","line":901,"range":{"start_line":901,"start_character":33,"end_line":901,"end_character":43},"updated":"2025-06-26 06:58:11.000000000","message":"```suggestion\n        :returns: A generator of blacklist\n```","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":898,"context_line":"    def blacklists(self, **query):"},{"line_number":899,"context_line":"        \"\"\"Retrieve a generator of blacklists"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"        :returns: A generater of blacklists"},{"line_number":902,"context_line":"            (:class:`~openstack.dns.v2.blacklist.Blacklist`) instances"},{"line_number":903,"context_line":"        \"\"\""},{"line_number":904,"context_line":"        return self._list(_blacklist.Blacklist, **query)"}],"source_content_type":"text/x-python","patch_set":12,"id":"698e973f_c4ff5da4","line":901,"range":{"start_line":901,"start_character":33,"end_line":901,"end_character":43},"in_reply_to":"05af1d72_1aa2d905","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":931,"context_line":""},{"line_number":932,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":933,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":934,"context_line":"        :param dict attrs: attributes for update on"},{"line_number":935,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        :rtype: :class: `~openstack.dns.v2.blacklist.Blacklist`."}],"source_content_type":"text/x-python","patch_set":12,"id":"a0cbcc57_e9efc72e","line":934,"updated":"2025-06-26 06:58:11.000000000","message":"```suggestion\n        :param attrs: attributes for update on\n```\n\n(it\u0027s not a dict)","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":931,"context_line":""},{"line_number":932,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":933,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":934,"context_line":"        :param dict attrs: attributes for update on"},{"line_number":935,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        :rtype: :class: `~openstack.dns.v2.blacklist.Blacklist`."}],"source_content_type":"text/x-python","patch_set":12,"id":"df2b2898_04147163","line":934,"in_reply_to":"a0cbcc57_e9efc72e","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":935,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        :rtype: :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":938,"context_line":"        \"\"\""},{"line_number":939,"context_line":""},{"line_number":940,"context_line":"        return self._update(_blacklist.Blacklist, blacklist, **attrs)"},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"    def delete_blacklist(self, blacklist, ignore_missing\u003dTrue):"},{"line_number":943,"context_line":"        \"\"\"Delete a blacklist"}],"source_content_type":"text/x-python","patch_set":12,"id":"bcec6666_7a16fcd0","line":940,"range":{"start_line":938,"start_character":0,"end_line":940,"end_character":69},"updated":"2025-06-26 06:58:11.000000000","message":"```suggestion\n        \"\"\"\n        return self._update(_blacklist.Blacklist, blacklist, **attrs)\n```","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":935,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        :rtype: :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":938,"context_line":"        \"\"\""},{"line_number":939,"context_line":""},{"line_number":940,"context_line":"        return self._update(_blacklist.Blacklist, blacklist, **attrs)"},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"    def delete_blacklist(self, blacklist, ignore_missing\u003dTrue):"},{"line_number":943,"context_line":"        \"\"\"Delete a blacklist"}],"source_content_type":"text/x-python","patch_set":12,"id":"b1f4d670_78d0b7b1","line":940,"range":{"start_line":938,"start_character":0,"end_line":940,"end_character":69},"in_reply_to":"bcec6666_7a16fcd0","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":945,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":946,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":947,"context_line":""},{"line_number":948,"context_line":"        :returns: Blacklist been deleted"},{"line_number":949,"context_line":"        :rtype: :class:`~openstack.dns.v2.blacklist.Blacklist`"},{"line_number":950,"context_line":"        \"\"\""},{"line_number":951,"context_line":"        return self._delete("}],"source_content_type":"text/x-python","patch_set":12,"id":"4f6aee98_feab84cf","line":948,"updated":"2025-06-26 06:58:11.000000000","message":"```suggestion\n        :returns: Blacklist been deleted\n```","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":945,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":946,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":947,"context_line":""},{"line_number":948,"context_line":"        :returns: Blacklist been deleted"},{"line_number":949,"context_line":"        :rtype: :class:`~openstack.dns.v2.blacklist.Blacklist`"},{"line_number":950,"context_line":"        \"\"\""},{"line_number":951,"context_line":"        return self._delete("}],"source_content_type":"text/x-python","patch_set":12,"id":"cb271335_a8942574","line":948,"updated":"2025-06-26 06:58:11.000000000","message":"```suggestion\n        :returns: Blacklist been deleted\n```","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":945,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":946,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":947,"context_line":""},{"line_number":948,"context_line":"        :returns: Blacklist been deleted"},{"line_number":949,"context_line":"        :rtype: :class:`~openstack.dns.v2.blacklist.Blacklist`"},{"line_number":950,"context_line":"        \"\"\""},{"line_number":951,"context_line":"        return self._delete("}],"source_content_type":"text/x-python","patch_set":12,"id":"de469c8f_fe89bbae","line":948,"in_reply_to":"4f6aee98_feab84cf","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":945,"context_line":"        :param blacklist: The id or an instance of"},{"line_number":946,"context_line":"            :class: `~openstack.dns.v2.blacklist.Blacklist`."},{"line_number":947,"context_line":""},{"line_number":948,"context_line":"        :returns: Blacklist been deleted"},{"line_number":949,"context_line":"        :rtype: :class:`~openstack.dns.v2.blacklist.Blacklist`"},{"line_number":950,"context_line":"        \"\"\""},{"line_number":951,"context_line":"        return self._delete("}],"source_content_type":"text/x-python","patch_set":12,"id":"c958471d_b64a845d","line":948,"in_reply_to":"cb271335_a8942574","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"}],"openstack/tests/functional/dns/v2/test_blacklist.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class TestBlackList(base.BaseFunctionalTest):"},{"line_number":18,"context_line":"    def setUp(self):"},{"line_number":19,"context_line":"        super().setUp()"},{"line_number":20,"context_line":"        self.require_service(\u0027dns\u0027)"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"329d23ff_16971366","line":18,"updated":"2025-06-26 06:58:11.000000000","message":"Could you rework this test so that we create and delete the blacklist in the `setUp` method and there is only a single method, `test_blacklist`, where we test the update, list and get methods? For example, see `openstack/tests/functional/identity/v3/test_registered_limit.py` or `openstack/tests/functional/compute/v2/test_keypair.py`","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class TestBlackList(base.BaseFunctionalTest):"},{"line_number":18,"context_line":"    def setUp(self):"},{"line_number":19,"context_line":"        super().setUp()"},{"line_number":20,"context_line":"        self.require_service(\u0027dns\u0027)"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"2fd7b7ed_15e07abd","line":18,"in_reply_to":"329d23ff_16971366","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6ed6d82da19990246cc1372e058dbcbc0568a04a","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        fetched \u003d self.operator_cloud.dns.get_blacklist(blacklist.id)"},{"line_number":33,"context_line":"        self.assertEqual(fetched.id, blacklist.id)"},{"line_number":34,"context_line":"        self.assertEqual(fetched.pattern, self.pattern)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        self.operator_cloud.dns.delete_blacklist(blacklist.id)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def test_list_blacklist(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"649cbdcb_5e564329","line":35,"updated":"2025-06-26 06:58:11.000000000","message":"You need a test of the `update_blacklist` method.","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"},{"author":{"_account_id":35119,"name":"jihyun huh","email":"huhji.elha@gmail.com","username":"jhhuh"},"change_message_id":"789a1d5952e25a42e13aeb16ec9847948c69d24f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        fetched \u003d self.operator_cloud.dns.get_blacklist(blacklist.id)"},{"line_number":33,"context_line":"        self.assertEqual(fetched.id, blacklist.id)"},{"line_number":34,"context_line":"        self.assertEqual(fetched.pattern, self.pattern)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"        self.operator_cloud.dns.delete_blacklist(blacklist.id)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def test_list_blacklist(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"66baaca2_3f7d1360","line":35,"in_reply_to":"649cbdcb_5e564329","updated":"2025-06-27 03:36:56.000000000","message":"Done","commit_id":"bebae7de988eea88164b5edd1dd4054146ed8d11"}]}
