)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ed601165b6512585b9c99e59162671b269b924b8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow for REMOTE_USER name in federation mapping"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I74e2599394752c75a0df3090c74f7b5c54c771e0"},{"line_number":10,"context_line":"Closes-Bug: #1390085"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a890539_289b6919","line":9,"updated":"2014-11-11 16:12:38.000000000","message":"add yourself as co-author too!","commit_id":"a2cf974b39578951f06d0c0c62907d935a820c77"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"797dca2c75d9e3faa1d860b17bead605c38221f9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow for REMOTE_USER name in federation mapping"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I74e2599394752c75a0df3090c74f7b5c54c771e0"},{"line_number":10,"context_line":"Closes-Bug: #1390085"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a890539_53822a50","line":9,"in_reply_to":"5a890539_289b6919","updated":"2014-11-11 16:22:56.000000000","message":"Done","commit_id":"a2cf974b39578951f06d0c0c62907d935a820c77"}],"keystone/auth/plugins/mapped.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"ed601165b6512585b9c99e59162671b269b924b8","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # instead of from a token, so we set token_id to None"},{"line_number":100,"context_line":"        token_id \u003d None"},{"line_number":101,"context_line":"        # NOTE(marek-denis): This variable is set to None and there is a"},{"line_number":102,"context_line":"        # possibility that it will be used in the CAFS notification. This means"},{"line_number":103,"context_line":"        # operation will not be mapped to any user (even ephemeral)."},{"line_number":104,"context_line":"        user_id \u003d None"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_c84e65c1","line":102,"updated":"2014-11-11 16:12:38.000000000","message":"CAFS/CADF","commit_id":"a2cf974b39578951f06d0c0c62907d935a820c77"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"797dca2c75d9e3faa1d860b17bead605c38221f9","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        # instead of from a token, so we set token_id to None"},{"line_number":100,"context_line":"        token_id \u003d None"},{"line_number":101,"context_line":"        # NOTE(marek-denis): This variable is set to None and there is a"},{"line_number":102,"context_line":"        # possibility that it will be used in the CAFS notification. This means"},{"line_number":103,"context_line":"        # operation will not be mapped to any user (even ephemeral)."},{"line_number":104,"context_line":"        user_id \u003d None"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a890539_73964696","line":102,"in_reply_to":"5a890539_c84e65c1","updated":"2014-11-11 16:22:56.000000000","message":"Done","commit_id":"a2cf974b39578951f06d0c0c62907d935a820c77"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"0afa845357a546b429ca2cb737f380d6217ce15f","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                                                           protocol,"},{"line_number":109,"context_line":"                                                           assertion)"},{"line_number":110,"context_line":"            user_name, user_id \u003d self._setup_username(context,"},{"line_number":111,"context_line":"                                                      mapped_properties)"},{"line_number":112,"context_line":"            group_ids \u003d mapped_properties[\u0027group_ids\u0027]"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_9f163054","line":111,"updated":"2014-11-12 18:15:34.000000000","message":"Is there any plan to use user_name?","commit_id":"85c6940d66614fe68fbc393f025a5d5216c1dff9"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"1906c2d12425987b549503cd963a0813439a8994","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                                                           protocol,"},{"line_number":109,"context_line":"                                                           assertion)"},{"line_number":110,"context_line":"            user_name, user_id \u003d self._setup_username(context,"},{"line_number":111,"context_line":"                                                      mapped_properties)"},{"line_number":112,"context_line":"            group_ids \u003d mapped_properties[\u0027group_ids\u0027]"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_d246ef20","line":111,"in_reply_to":"5a890539_9f163054","updated":"2014-11-12 18:18:28.000000000","message":"i think user_name and user_id should be stored in a federated token. https://github.com/openstack/identity-api/blob/master/v3/src/markdown/identity-api-v3-os-federation-ext.md#request-an-unscoped-os-federation-token-getpost-os-federationidentity_providersidentity_providerprotocolsprotocolauth","commit_id":"85c6940d66614fe68fbc393f025a5d5216c1dff9"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"0afa845357a546b429ca2cb737f380d6217ce15f","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            if user_name is None:"},{"line_number":176,"context_line":"                raise exception.Unauthorized(_(\"Could not map user\"))"},{"line_number":177,"context_line":"        user_id \u003d parse.quote(user_name)"},{"line_number":178,"context_line":"        return user_name, user_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_bf0ccc43","line":178,"updated":"2014-11-12 18:15:34.000000000","message":"See above comment.","commit_id":"85c6940d66614fe68fbc393f025a5d5216c1dff9"}],"keystone/tests/test_v3_federation.py":[{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8ab67b89e74401edc34d0ccd939733732fdb7d9c","unresolved":false,"context_lines":[{"line_number":613,"context_line":"        This will not match since the email in the assertion will fail"},{"line_number":614,"context_line":"        the regex test. It is set to match any @example.com address."},{"line_number":615,"context_line":"        But the incoming value is set to eviltester@example.org."},{"line_number":616,"context_line":"        RuleProcessor should return list of empty group_ids."},{"line_number":617,"context_line":""},{"line_number":618,"context_line":"        \"\"\""},{"line_number":619,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_fa848bd5","line":616,"updated":"2014-11-13 12:33:38.000000000","message":"nit: is it the group_ids that are empty, or the list that is empty, assuming it is the later, then maybe say:\n\n\"should return an empty list of group_ids\"","commit_id":"85c6940d66614fe68fbc393f025a5d5216c1dff9"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8ab67b89e74401edc34d0ccd939733732fdb7d9c","unresolved":false,"context_lines":[{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        Expect RuleProcessor to discard non string object, which"},{"line_number":758,"context_line":"        is required for a correct rule match. RuleProcessor will result with"},{"line_number":759,"context_line":"        empty list of groups."},{"line_number":760,"context_line":""},{"line_number":761,"context_line":"        \"\"\""},{"line_number":762,"context_line":"        mapping \u003d mapping_fixtures.MAPPING_SMALL"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a890539_9a4aa7aa","line":759,"updated":"2014-11-13 12:33:38.000000000","message":"++","commit_id":"85c6940d66614fe68fbc393f025a5d5216c1dff9"}]}
