)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"ff9804f230be889f7d5be9720eaf48c58f6b5e52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fd8ca41d_072c18a4","updated":"2022-02-17 12:51:39.000000000","message":"I will push a follow-up with the ideas that Dmitry mentioned","commit_id":"4ea8df8e21ff8a30b92ed68b3a95d7297736ee2c"}],"ironic_lib/json_rpc/server.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"58cbc984373ebdc2f8efb43e3b87cb5dc1bab52b","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        if json_rpc.auth_strategy() \u003d\u003d \u0027keystone\u0027:"},{"line_number":148,"context_line":"            roles \u003d (request.headers.get(\u0027X-Roles\u0027) or \u0027\u0027).split(\u0027,\u0027)"},{"line_number":149,"context_line":"            allowed_roles \u003d cfg.CONF.json_rpc.allowed_roles"},{"line_number":150,"context_line":"            if set(roles).isdisjoint(allowed_roles):"},{"line_number":151,"context_line":"                LOG.debug(\u0027Roles %s do not contain any of %s, rejecting \u0027"},{"line_number":152,"context_line":"                          \u0027request\u0027, roles, allowed_roles)"}],"source_content_type":"text/x-python","patch_set":2,"id":"fdfac27a_35f78bcc","line":149,"updated":"2022-01-28 09:35:01.000000000","message":"nit: s/cfg.//","commit_id":"4ea8df8e21ff8a30b92ed68b3a95d7297736ee2c"}],"ironic_lib/tests/test_json_rpc.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"58cbc984373ebdc2f8efb43e3b87cb5dc1bab52b","unresolved":false,"context_lines":[{"line_number":293,"context_line":"        self._request(\u0027success\u0027, {\u0027context\u0027: self.ctx, \u0027x\u0027: 42},"},{"line_number":294,"context_line":"                      expected_error\u003d401)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    def test_authenticated_with_alloed_role(self):"},{"line_number":297,"context_line":"        self.config(auth_strategy\u003d\u0027keystone\u0027, group\u003d\u0027json_rpc\u0027)"},{"line_number":298,"context_line":"        self.config(allowed_roles\u003d[\u0027allowed\u0027, \u0027ignored\u0027], group\u003d\u0027json_rpc\u0027)"},{"line_number":299,"context_line":"        self.service \u003d server.WSGIService(FakeManager(), self.serializer,"}],"source_content_type":"text/x-python","patch_set":2,"id":"0a0e9127_9d77f0df","line":296,"updated":"2022-01-28 09:35:01.000000000","message":"nit: allowed","commit_id":"4ea8df8e21ff8a30b92ed68b3a95d7297736ee2c"}],"releasenotes/notes/json_rpc-allowed_roles-3bee50b5936c2be3.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"58cbc984373ebdc2f8efb43e3b87cb5dc1bab52b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"40153ae7_7000f207","updated":"2022-01-28 09:35:01.000000000","message":"nit: we have some release notes in-tree, but I don\u0027t think we publish them","commit_id":"4ea8df8e21ff8a30b92ed68b3a95d7297736ee2c"}]}
