)]}'
{"keystone/contrib/ec2/controllers.py":[{"author":{"_account_id":11387,"name":"Sam Leong","email":"chio-fai-sam.leong@hpe.com","username":"Chioleong"},"change_message_id":"4262313cbd1243037a5454a4d2e8ec01dc87f145","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# TODO(morganfainberg): Once the parent controllers and wsgi module no-longer"},{"line_number":54,"context_line":"# need the token_api, remove it from the requires list here. Until those"},{"line_number":55,"context_line":"# modules no longer use token_api, it is needed here for the mix-in to work."},{"line_number":56,"context_line":"@dependency.requires(\u0027assignment_api\u0027, \u0027catalog_api\u0027, \u0027credential_api\u0027,"},{"line_number":57,"context_line":"                     \u0027identity_api\u0027, \u0027token_api\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_6e38cd3b","line":54,"updated":"2014-07-24 06:26:17.000000000","message":"Just a typo here, \u0027required list\u0027","commit_id":"a81d9e41e46b0ed939c184623229d8c0eacdc898"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"116c30bd19ce838a4f80ce63f3646f09b8e8afda","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# TODO(morganfainberg): Once the parent controllers and wsgi module no-longer"},{"line_number":54,"context_line":"# need the token_api, remove it from the requires list here. Until those"},{"line_number":55,"context_line":"# modules no longer use token_api, it is needed here for the mix-in to work."},{"line_number":56,"context_line":"@dependency.requires(\u0027assignment_api\u0027, \u0027catalog_api\u0027, \u0027credential_api\u0027,"},{"line_number":57,"context_line":"                     \u0027identity_api\u0027, \u0027token_api\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_faa00844","line":54,"in_reply_to":"baada198_18a14c46","updated":"2014-07-24 13:52:59.000000000","message":"I\u0027ll add an @ to requires, but this is not a typo","commit_id":"a81d9e41e46b0ed939c184623229d8c0eacdc898"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"da39739c900052f3b205861b9a5dc5c204a98430","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"# TODO(morganfainberg): Once the parent controllers and wsgi module no-longer"},{"line_number":54,"context_line":"# need the token_api, remove it from the requires list here. Until those"},{"line_number":55,"context_line":"# modules no longer use token_api, it is needed here for the mix-in to work."},{"line_number":56,"context_line":"@dependency.requires(\u0027assignment_api\u0027, \u0027catalog_api\u0027, \u0027credential_api\u0027,"},{"line_number":57,"context_line":"                     \u0027identity_api\u0027, \u0027token_api\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_18a14c46","line":54,"in_reply_to":"baada198_6e38cd3b","updated":"2014-07-24 11:47:54.000000000","message":"not so sure, I think it is OK as is - since this relates to the @dependency.requires line below","commit_id":"a81d9e41e46b0ed939c184623229d8c0eacdc898"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"da39739c900052f3b205861b9a5dc5c204a98430","unresolved":false,"context_lines":[{"line_number":54,"context_line":"# need the token_api, remove it from the requires list here. Until those"},{"line_number":55,"context_line":"# modules no longer use token_api, it is needed here for the mix-in to work."},{"line_number":56,"context_line":"@dependency.requires(\u0027assignment_api\u0027, \u0027catalog_api\u0027, \u0027credential_api\u0027,"},{"line_number":57,"context_line":"                     \u0027identity_api\u0027, \u0027token_api\u0027)"},{"line_number":58,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":59,"context_line":"class Ec2ControllerCommon(object):"},{"line_number":60,"context_line":"    def check_signature(self, creds_ref, credentials):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_382370bf","line":57,"updated":"2014-07-24 11:47:54.000000000","message":"Do need token_provider_api in here however?","commit_id":"a81d9e41e46b0ed939c184623229d8c0eacdc898"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"116c30bd19ce838a4f80ce63f3646f09b8e8afda","unresolved":false,"context_lines":[{"line_number":54,"context_line":"# need the token_api, remove it from the requires list here. Until those"},{"line_number":55,"context_line":"# modules no longer use token_api, it is needed here for the mix-in to work."},{"line_number":56,"context_line":"@dependency.requires(\u0027assignment_api\u0027, \u0027catalog_api\u0027, \u0027credential_api\u0027,"},{"line_number":57,"context_line":"                     \u0027identity_api\u0027, \u0027token_api\u0027)"},{"line_number":58,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":59,"context_line":"class Ec2ControllerCommon(object):"},{"line_number":60,"context_line":"    def check_signature(self, creds_ref, credentials):"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_5afad443","line":57,"in_reply_to":"baada198_382370bf","updated":"2014-07-24 13:52:59.000000000","message":"Token provider API should be in this list. in next patch","commit_id":"a81d9e41e46b0ed939c184623229d8c0eacdc898"},{"author":{"_account_id":11333,"name":"David J Hu","email":"david.hu@hpe.com","username":"dhu"},"change_message_id":"45224a7e2fd1f2d61f491cf61a2d5a623033a07b","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        :param user_id: id of user"},{"line_number":309,"context_line":"        :raises exception.Forbidden: when token is invalid"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        try:"},{"line_number":313,"context_line":"            token_data \u003d self.token_provider_api.validate_token("},{"line_number":314,"context_line":"                context[\u0027token_id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_72b97515","line":311,"updated":"2014-07-24 17:14:06.000000000","message":"Got an unrelated question.  I\u0027ve noticed that the similar code snippet in wsgi checks to see if \u0027token_id\u0027 exists in context or if if it is admin token.  do we need a similar check here?","commit_id":"3d8545eaf8d024589b1a21fae3bfa06f3cff4c2c"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"66dd5c96e9d90c238a58f9460046e86c6ac9dfed","unresolved":false,"context_lines":[{"line_number":308,"context_line":"        :param user_id: id of user"},{"line_number":309,"context_line":"        :raises exception.Forbidden: when token is invalid"},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"        \"\"\""},{"line_number":312,"context_line":"        try:"},{"line_number":313,"context_line":"            token_data \u003d self.token_provider_api.validate_token("},{"line_number":314,"context_line":"                context[\u0027token_id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_e9675323","line":311,"in_reply_to":"baada198_72b97515","updated":"2014-07-24 23:10:34.000000000","message":"I don\u0027t think we need the check (we didn\u0027t have it before) -- by the time we get here, I believe wsgi.py would have bounced out the request for policy reasons.\n\nIf we\u0027re erroring here because there is a keyerror, i\u0027d like to file that as a separate bug (for tracking reasons). It isn\u0027t unreasonable to test/file a bug if this is the case though.","commit_id":"3d8545eaf8d024589b1a21fae3bfa06f3cff4c2c"}]}
