)]}'
{"keystone/middleware/core.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"44ee8ecc8e34b55e0091557d4f51fe7138059ecd","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        auth_context \u003d self._build_auth_context(request, token_id)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        request_context.user \u003d auth_context.get(\u0027user_id\u0027)"},{"line_number":219,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":220,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":221,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa1b9901_b113445c","line":218,"updated":"2015-08-17 16:42:21.000000000","message":"It would be better to pass these values to the RequestContext constructor in case we ever want to do anything with them inside that class.","commit_id":"a39807ea95e2b661484edf50e1c9024f84143f80"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"215b667332861de415232b2446658daf3330ff14","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        auth_context \u003d self._build_auth_context(request, token_id)"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        request_context.user \u003d auth_context.get(\u0027user_id\u0027)"},{"line_number":219,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":220,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":221,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa1b9901_b1dd8472","line":218,"in_reply_to":"fa1b9901_b113445c","updated":"2015-08-17 16:50:44.000000000","message":"Doug - The data aren\u0027t available when the RequestContext is constructed. If I move the RequestContext creation down here where the data are available then there\u0027s a lot of important logging that isn\u0027t going to have a request ID (or maybe it\u0027s going to have the wrong request ID if the context is left over from a previous request?).","commit_id":"a39807ea95e2b661484edf50e1c9024f84143f80"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"1fbcc27d45ac0ebfc785a490c5e694adc3b4c73d","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                      \u0027context will be set.\u0027)"},{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        request_context.user \u003d auth_context.get(\u0027user_id\u0027)"},{"line_number":317,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":318,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":319,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_1410a900","line":316,"updated":"2015-10-07 00:41:29.000000000","message":"why can\u0027t we stuff the entire auth_context in there?","commit_id":"23ae6cf2670b1159bab44fc3a69ab2b0e182be4a"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"8b60269e87216a15b5595df903447234a99132bb","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                      \u0027context will be set.\u0027)"},{"line_number":314,"context_line":"            return"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"        request_context.user \u003d auth_context.get(\u0027user_id\u0027)"},{"line_number":317,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":318,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":319,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_9c836904","line":316,"in_reply_to":"7a2fa921_1410a900","updated":"2015-10-07 13:46:15.000000000","message":"What servers like nova-api typically do is use the RequestContext rather than having their own auth_context. So what we can do in the near future is turn this over and have auth_context be RequestContext. It\u0027ll require defining our own keystone.common.RequestContext(oslo_context.RequestContext).","commit_id":"23ae6cf2670b1159bab44fc3a69ab2b0e182be4a"},{"author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"change_message_id":"fba5b3b2a0abc4b187d2c59f40306860ba8204b8","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":318,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":319,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"},{"line_number":320,"context_line":"        request_context.project_domain \u003d auth_context.get(\u0027project_domain_id\u0027)"},{"line_number":321,"context_line":"        request_context.is_admin \u003d request.environ.get(\u0027is_admin\u0027, False)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        LOG.debug(\u0027RBAC: auth_context: %s\u0027, auth_context)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7a2fa921_2260e700","line":320,"updated":"2015-10-07 15:16:12.000000000","message":"I assume the ambiguity as to whether these attributes are names or IDs has been through through and is somehow desirable? If so, L315 seems like a good place for an inline comment.","commit_id":"23ae6cf2670b1159bab44fc3a69ab2b0e182be4a"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"5870854405fc0178750d0328fc259609d28f13ee","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":318,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":319,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"},{"line_number":320,"context_line":"        request_context.project_domain \u003d auth_context.get(\u0027project_domain_id\u0027)"},{"line_number":321,"context_line":"        request_context.is_admin \u003d request.environ.get(\u0027is_admin\u0027, False)"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        LOG.debug(\u0027RBAC: auth_context: %s\u0027, auth_context)"}],"source_content_type":"text/x-python","patch_set":25,"id":"5a2ca52d_22491032","line":320,"in_reply_to":"7a2fa921_2260e700","updated":"2015-10-13 20:42:53.000000000","message":"Added a comment.","commit_id":"23ae6cf2670b1159bab44fc3a69ab2b0e182be4a"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"52599c72ec7262f14c169eba218aaed3a2cfdffb","unresolved":false,"context_lines":[{"line_number":318,"context_line":"        # projects these are IDs, so set the attributes to IDs here rather than"},{"line_number":319,"context_line":"        # the name."},{"line_number":320,"context_line":"        request_context.user \u003d auth_context.get(\u0027user_id\u0027)"},{"line_number":321,"context_line":"        request_context.tenant \u003d auth_context.get(\u0027project_id\u0027)"},{"line_number":322,"context_line":"        request_context.domain \u003d auth_context.get(\u0027domain_id\u0027)"},{"line_number":323,"context_line":"        request_context.user_domain \u003d auth_context.get(\u0027user_domain_id\u0027)"},{"line_number":324,"context_line":"        request_context.project_domain \u003d auth_context.get(\u0027project_domain_id\u0027)"}],"source_content_type":"text/x-python","patch_set":26,"id":"5a2ca52d_6d1139ac","line":321,"updated":"2015-10-13 21:37:49.000000000","message":"why set tenant instead of project?\n\noh thats why https://bugs.launchpad.net/oslo.context/+bug/1505827","commit_id":"fc9e016dfe6440ff3ff9aac69521bd6d2d627565"}]}
