)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"ed25fdd1ae776eac5ff9d7818083566817d5e629","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bde7b7fc_5c3a9025","updated":"2026-09-29 20:50:43.000000000","message":"Looks like a clean backport","commit_id":"bdeffd83fa51d2babc9a8df3f6ec7e4be0e469bf"}],"keystone/tests/unit/test_v3_credential.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b7d2058007f194a0ba1a9e27751f06185a232a22","unresolved":false,"context_lines":[{"line_number":1756,"context_line":"    def test_require_primary_auth_allows_custom_method_via_config(self):"},{"line_number":1757,"context_line":"        \"\"\"An operator-registered custom auth plugin is not mistaken for a"},{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"8bc69fa9_2231124c","line":1759,"updated":"2026-08-25 17:29:14.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"9ac54130cced303e7b186d28336f3aff43e4b751"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b7d2058007f194a0ba1a9e27751f06185a232a22","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"        \"\"\"An operator-registered custom auth plugin is not mistaken for a"},{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"c94fe55b_63174363","line":1760,"updated":"2026-08-25 17:29:14.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"9ac54130cced303e7b186d28336f3aff43e4b751"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b7d2058007f194a0ba1a9e27751f06185a232a22","unresolved":false,"context_lines":[{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"},{"line_number":1764,"context_line":"        self.addCleanup("}],"source_content_type":"text/x-python","patch_set":2,"id":"bb5f2e3d_2e7a3ce2","line":1761,"updated":"2026-08-25 17:29:14.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"9ac54130cced303e7b186d28336f3aff43e4b751"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b7d2058007f194a0ba1a9e27751f06185a232a22","unresolved":false,"context_lines":[{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"},{"line_number":1764,"context_line":"        self.addCleanup("},{"line_number":1765,"context_line":"            credentials_api.CONF.clear_override,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ff93d92_0d510223","line":1762,"updated":"2026-08-25 17:29:14.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"9ac54130cced303e7b186d28336f3aff43e4b751"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9feada45b581aecc500a1709bee0c7469e69c8b5","unresolved":false,"context_lines":[{"line_number":1756,"context_line":"    def test_require_primary_auth_allows_custom_method_via_config(self):"},{"line_number":1757,"context_line":"        \"\"\"An operator-registered custom auth plugin is not mistaken for a"},{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"b9dd7761_f82ef143","line":1759,"updated":"2026-08-26 09:00:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"937f295a0b1190f13ab5ab26419f8b34c3430138"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9feada45b581aecc500a1709bee0c7469e69c8b5","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"        \"\"\"An operator-registered custom auth plugin is not mistaken for a"},{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"c5ffbbfc_5061e8d4","line":1760,"updated":"2026-08-26 09:00:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"937f295a0b1190f13ab5ab26419f8b34c3430138"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9feada45b581aecc500a1709bee0c7469e69c8b5","unresolved":false,"context_lines":[{"line_number":1758,"context_line":"        delegated credential once listed in"},{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"},{"line_number":1764,"context_line":"        self.addCleanup("}],"source_content_type":"text/x-python","patch_set":3,"id":"d9135a99_cf79a340","line":1761,"updated":"2026-08-26 09:00:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"937f295a0b1190f13ab5ab26419f8b34c3430138"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9feada45b581aecc500a1709bee0c7469e69c8b5","unresolved":false,"context_lines":[{"line_number":1759,"context_line":"        [auth] additional_primary_auth_methods."},{"line_number":1760,"context_line":"        \"\"\""},{"line_number":1761,"context_line":"        credentials_api.CONF.set_override("},{"line_number":1762,"context_line":"            \u0027additional_primary_auth_methods\u0027, [\u0027sso\u0027], group\u003d\u0027auth\u0027"},{"line_number":1763,"context_line":"        )"},{"line_number":1764,"context_line":"        self.addCleanup("},{"line_number":1765,"context_line":"            credentials_api.CONF.clear_override,"}],"source_content_type":"text/x-python","patch_set":3,"id":"cacd8dcf_447f3e66","line":1762,"updated":"2026-08-26 09:00:23.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"937f295a0b1190f13ab5ab26419f8b34c3430138"}]}
