)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"899311b5daeeb86e4eed55f6648c96405d461ada","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"485bc4a6_302ed43d","updated":"2021-10-20 07:11:19.000000000","message":"recheck","commit_id":"1f4c605eab6f62ac9039d3e0dad6f24dd8918d84"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b30ba18d19d1db71ec2474acdbd2dca472644cce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ac65ab72_75e7fa3e","updated":"2022-02-03 16:56:49.000000000","message":"recheck","commit_id":"cf30967c89069d9269711f33490c16b6e30f1259"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"1ee145cedfff8bfddfbf68c021f5f676ec701f2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bf73cfcc_fefca3fa","updated":"2022-02-01 08:28:08.000000000","message":"recheck","commit_id":"cf30967c89069d9269711f33490c16b6e30f1259"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"cb8e924941ee39894333fe6beade10f14a688833","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3690a5fb_49d01292","updated":"2022-03-17 16:12:17.000000000","message":"LGTM - thanks for the comments i.e. \"...when scoped token is the default....\", etc.","commit_id":"a3ac57e0448639f7bacc793c3fca70267aa702a7"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"ea32feebf561bf80875374dfddcfb5c0fbbab48c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"451ee647_f01b90da","updated":"2022-06-01 13:20:31.000000000","message":"LGTM","commit_id":"3ff84af052f366927045a79cc2762e0cfa45b980"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"68c2b0a57d5dd946e83228c7cea7aa58a5477d1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"fd512c63_80bff6f6","updated":"2022-06-07 00:40:32.000000000","message":"LGTM","commit_id":"3ff84af052f366927045a79cc2762e0cfa45b980"}],"designate_tempest_plugin/services/dns/v2/json/zones_client.py":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"268af34ea25040b8894717eb26f5ae1884d54412","unresolved":true,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @base.handle_errors"},{"line_number":114,"context_line":"    def show_zone_nameservers(self, zone_uuid, params\u003dNone, headers\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Gets list of Zone Name Servers"},{"line_number":116,"context_line":"        :param zone_uuid: Unique identifier of the zone in UUID format."},{"line_number":117,"context_line":"        :param params: A Python dict that represents the query paramaters to"},{"line_number":118,"context_line":"                       include in the request URI."},{"line_number":119,"context_line":"        :return: Serialized nameservers as a list."},{"line_number":120,"context_line":"        \"\"\""},{"line_number":121,"context_line":"        return self._show_request("},{"line_number":122,"context_line":"            \u0027zones/{0}/nameservers\u0027.format(zone_uuid), uuid\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"616d676e_8f7fcdc4","line":119,"range":{"start_line":115,"start_character":0,"end_line":119,"end_character":50},"updated":"2022-03-24 14:37:37.000000000","message":"Nit.\nDoc string is missing: \":param headers (dict): The headers to use for the request.\"","commit_id":"a3ac57e0448639f7bacc793c3fca70267aa702a7"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e7fb603c1a36f1c3ea32ce395ac492bbab2c8a69","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @base.handle_errors"},{"line_number":114,"context_line":"    def show_zone_nameservers(self, zone_uuid, params\u003dNone, headers\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Gets list of Zone Name Servers"},{"line_number":116,"context_line":"        :param zone_uuid: Unique identifier of the zone in UUID format."},{"line_number":117,"context_line":"        :param params: A Python dict that represents the query paramaters to"},{"line_number":118,"context_line":"                       include in the request URI."},{"line_number":119,"context_line":"        :return: Serialized nameservers as a list."},{"line_number":120,"context_line":"        \"\"\""},{"line_number":121,"context_line":"        return self._show_request("},{"line_number":122,"context_line":"            \u0027zones/{0}/nameservers\u0027.format(zone_uuid), uuid\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"d2ec8661_3270c94d","line":119,"range":{"start_line":115,"start_character":0,"end_line":119,"end_character":50},"in_reply_to":"616d676e_8f7fcdc4","updated":"2022-04-11 23:03:32.000000000","message":"Done","commit_id":"a3ac57e0448639f7bacc793c3fca70267aa702a7"}],"designate_tempest_plugin/tests/api/v2/test_zones.py":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"576855d386213f9b08c442fcb5cee0e1f0b87acf","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        self.assertEqual(\u0027PENDING\u0027, zone[\u0027status\u0027])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Test with no extra header overrides (sudo-project-id)"},{"line_number":81,"context_line":"        if CONF.dns_feature_enabled.enforce_new_defaults:"},{"line_number":82,"context_line":"            expected_allowed \u003d [\u0027os_system_admin\u0027, \u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            expected_allowed \u003d [\u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self.check_create_RBAC_enforcement(\u0027ZonesClient\u0027,"},{"line_number":87,"context_line":"                                           \u0027create_zone\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"cbfa0010_f4a6ef13","line":84,"range":{"start_line":81,"start_character":0,"end_line":84,"end_character":57},"updated":"2021-10-10 20:04:20.000000000","message":"Minor, but maybe could be replaced with:\n\nexpected_allowed \u003d [\u0027os_admin\u0027, \u0027os_primary\u0027]\nif CONF.dns_feature_enabled.enforce_new_defaults:\n    expected_allowed.append(\u0027os_system_admin\u0027)","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0c1aa1afd39e6188e809310f90ab3bf5892da8ec","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        self.assertEqual(\u0027PENDING\u0027, zone[\u0027status\u0027])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Test with no extra header overrides (sudo-project-id)"},{"line_number":81,"context_line":"        if CONF.dns_feature_enabled.enforce_new_defaults:"},{"line_number":82,"context_line":"            expected_allowed \u003d [\u0027os_system_admin\u0027, \u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            expected_allowed \u003d [\u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self.check_create_RBAC_enforcement(\u0027ZonesClient\u0027,"},{"line_number":87,"context_line":"                                           \u0027create_zone\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"94dae2e5_aa89f972","line":84,"range":{"start_line":81,"start_character":0,"end_line":84,"end_character":57},"in_reply_to":"74630b27_e3afb0c7","updated":"2022-02-24 23:40:38.000000000","message":"Done","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4acf73a84a73e15b34a1f436f2bb23925e09ef41","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        self.assertEqual(\u0027PENDING\u0027, zone[\u0027status\u0027])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Test with no extra header overrides (sudo-project-id)"},{"line_number":81,"context_line":"        if CONF.dns_feature_enabled.enforce_new_defaults:"},{"line_number":82,"context_line":"            expected_allowed \u003d [\u0027os_system_admin\u0027, \u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":83,"context_line":"        else:"},{"line_number":84,"context_line":"            expected_allowed \u003d [\u0027os_admin\u0027, \u0027os_primary\u0027]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self.check_create_RBAC_enforcement(\u0027ZonesClient\u0027,"},{"line_number":87,"context_line":"                                           \u0027create_zone\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"74630b27_e3afb0c7","line":84,"range":{"start_line":81,"start_character":0,"end_line":84,"end_character":57},"in_reply_to":"cbfa0010_f4a6ef13","updated":"2021-10-19 20:37:33.000000000","message":"Sure, saves one line and is probably more consistent with what I have done elsewhere.","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"}],"designate_tempest_plugin/tests/rbac_utils.py":[{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"576855d386213f9b08c442fcb5cee0e1f0b87acf","unresolved":true,"context_lines":[{"line_number":76,"context_line":"                self.fail(\u0027Method {}.{} failed to allow access via RBAC using \u0027"},{"line_number":77,"context_line":"                          \u0027credential {}. Error: {}\u0027.format("},{"line_number":78,"context_line":"                              client_str, method_str, cred, str(e)))"},{"line_number":79,"context_line":"            except exceptions.NotFound:"},{"line_number":80,"context_line":"                if not expect_404:"},{"line_number":81,"context_line":"                    raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _check_disallowed(self, client_str, method_str, allowed_list,"},{"line_number":84,"context_line":"                          *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"6d8d6125_55e4abbd","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":25},"updated":"2021-10-10 20:04:20.000000000","message":"Maybe we can use tempest.lib.exceptions to raise NotFound exception form there?","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"242426f74d218748fa7f93a03622a6f9a96fcda6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                self.fail(\u0027Method {}.{} failed to allow access via RBAC using \u0027"},{"line_number":77,"context_line":"                          \u0027credential {}. Error: {}\u0027.format("},{"line_number":78,"context_line":"                              client_str, method_str, cred, str(e)))"},{"line_number":79,"context_line":"            except exceptions.NotFound:"},{"line_number":80,"context_line":"                if not expect_404:"},{"line_number":81,"context_line":"                    raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _check_disallowed(self, client_str, method_str, allowed_list,"},{"line_number":84,"context_line":"                          *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7262abcc_0353e6eb","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":25},"in_reply_to":"0dcccb68_6c09d943","updated":"2022-03-10 22:52:59.000000000","message":"Ack","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f282c9bafcb85832ca23d90e746152514796ae5f","unresolved":true,"context_lines":[{"line_number":76,"context_line":"                self.fail(\u0027Method {}.{} failed to allow access via RBAC using \u0027"},{"line_number":77,"context_line":"                          \u0027credential {}. Error: {}\u0027.format("},{"line_number":78,"context_line":"                              client_str, method_str, cred, str(e)))"},{"line_number":79,"context_line":"            except exceptions.NotFound:"},{"line_number":80,"context_line":"                if not expect_404:"},{"line_number":81,"context_line":"                    raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _check_disallowed(self, client_str, method_str, allowed_list,"},{"line_number":84,"context_line":"                          *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"792c594c_b00c957a","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":25},"in_reply_to":"6d8d6125_55e4abbd","updated":"2021-10-19 20:35:53.000000000","message":"I\u0027m not sure I understand the comment here.\n\nThis catches a tempest.lib.exceptions.NotFound exception. If expect_404 is false, it re-raises that same exception. If expect_404 is True, it will ignore the NotFound exception.\nhttps://docs.python.org/3/reference/simple_stmts.html#raise\n\nSo, this will raise the tempest.lib.exceptions.NotFound if we don\u0027t want to ignore a 404 error.","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"},{"author":{"_account_id":28609,"name":"Arkady Shtempler","email":"ashtempl@redhat.com","username":"ashtempl"},"change_message_id":"a08c86afb492d153adc9e3663efa02f19e8c3df3","unresolved":true,"context_lines":[{"line_number":76,"context_line":"                self.fail(\u0027Method {}.{} failed to allow access via RBAC using \u0027"},{"line_number":77,"context_line":"                          \u0027credential {}. Error: {}\u0027.format("},{"line_number":78,"context_line":"                              client_str, method_str, cred, str(e)))"},{"line_number":79,"context_line":"            except exceptions.NotFound:"},{"line_number":80,"context_line":"                if not expect_404:"},{"line_number":81,"context_line":"                    raise"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def _check_disallowed(self, client_str, method_str, allowed_list,"},{"line_number":84,"context_line":"                          *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"0dcccb68_6c09d943","line":81,"range":{"start_line":79,"start_character":0,"end_line":81,"end_character":25},"in_reply_to":"792c594c_b00c957a","updated":"2021-10-20 07:11:13.000000000","message":"Please ignore this comment as not relevant.","commit_id":"18d228fc3041115f93395a8457da3e606af8ca57"}]}
