)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove parent_id in v2 token response"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"keystone v2 should be not be aware of hierarchical projects,"},{"line_number":10,"context_line":"so the parent_id should not be included in the token response."},{"line_number":11,"context_line":"This is also unnecessary data being sent making the token larger."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba7be1f8_4447a64b","line":9,"updated":"2015-03-13 22:08:53.000000000","message":"There\u0027s no such thing as keystone v2. There\u0027s an identity v2 api.","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"64d4eed222128dc365b9c024bbef64ad06c24d8f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove parent_id in v2 token response"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Identiy v2 api should be not be aware of hierarchical projects,"},{"line_number":10,"context_line":"so the parent_id should not be included in the token response."},{"line_number":11,"context_line":"This is also unnecessary data being sent making the token larger."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a80dd14_44db5f21","line":9,"updated":"2015-03-17 02:08:23.000000000","message":"change \"Identiy\" to \"Identity\"","commit_id":"e2dc5f089766bbda9b6c3679f8294fcc2970d9ed"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0d1a336e0b7f7ed03d000a09ae78005a32eb4f6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove parent_id in v2 token response"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Identiy v2 api should be not be aware of hierarchical projects,"},{"line_number":10,"context_line":"so the parent_id should not be included in the token response."},{"line_number":11,"context_line":"This is unnecessary data being sent making the token larger."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a6ced46_1bb198e1","line":9,"updated":"2015-03-23 23:44:33.000000000","message":"Change \"Identiy\" to \"Identity\"","commit_id":"876337282207dfe9cdf22d8ab78d2a3aa2e5c92c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"62b3983604ae65909f8ca59c51f9723827d4cda6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Remove parent_id in v2 token response"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Identiy v2 api should be not be aware of hierarchical projects,"},{"line_number":10,"context_line":"so the parent_id should not be included in the token response."},{"line_number":11,"context_line":"This is unnecessary data being sent making the token larger."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a6ced46_d69b57c7","line":9,"in_reply_to":"1a6ced46_1bb198e1","updated":"2015-03-24 00:03:13.000000000","message":"Done","commit_id":"876337282207dfe9cdf22d8ab78d2a3aa2e5c92c"}],"keystone/common/controller.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        return ref"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    @staticmethod"},{"line_number":226,"context_line":"    def filter_parent_id(ref):"},{"line_number":227,"context_line":"        \"\"\"Remove parent_id since v2 calls are not hierarchy-aware.\"\"\""},{"line_number":228,"context_line":"        ref.pop(\u0027parent_id\u0027, None)"},{"line_number":229,"context_line":"        return ref"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_0831c359","line":226,"updated":"2015-03-13 22:08:53.000000000","message":"change the name to filter_project_parent_id.","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6fdba79bd1ba34a4376c5b47c0260733b37374bc","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        return ref"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"    @staticmethod"},{"line_number":226,"context_line":"    def filter_parent_id(ref):"},{"line_number":227,"context_line":"        \"\"\"Remove parent_id since v2 calls are not hierarchy-aware.\"\"\""},{"line_number":228,"context_line":"        ref.pop(\u0027parent_id\u0027, None)"},{"line_number":229,"context_line":"        return ref"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_6efa4776","line":226,"in_reply_to":"9a80dd14_0831c359","updated":"2015-03-14 00:06:22.000000000","message":"Done","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def v3_to_v2_project(ref):"},{"line_number":298,"context_line":"        \"\"\"Convert a project_ref from v3 to v2 compatible."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        * v2.0 projects are not domain aware, and should have domain_id removed"},{"line_number":301,"context_line":"        * v2.0 projects are not hierarchy aware, and should have parent_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_88ce9358","line":298,"updated":"2015-03-13 22:08:53.000000000","message":"remove \"compatible\"","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6fdba79bd1ba34a4376c5b47c0260733b37374bc","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    @staticmethod"},{"line_number":297,"context_line":"    def v3_to_v2_project(ref):"},{"line_number":298,"context_line":"        \"\"\"Convert a project_ref from v3 to v2 compatible."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        * v2.0 projects are not domain aware, and should have domain_id removed"},{"line_number":301,"context_line":"        * v2.0 projects are not hierarchy aware, and should have parent_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_2efdaf6e","line":298,"in_reply_to":"9a80dd14_88ce9358","updated":"2015-03-14 00:06:22.000000000","message":"Done","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":745,"context_line":"        return ref"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    @staticmethod"},{"line_number":748,"context_line":"    def filter_parent_id(ref):"},{"line_number":749,"context_line":"        \"\"\"Override v2 filter to let parent_id out for v3 calls.\"\"\""},{"line_number":750,"context_line":"        return ref"},{"line_number":751,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_48a1fb44","line":748,"updated":"2015-03-13 22:08:53.000000000","message":"is this used for anything? Seems like we\u0027d be better off having v3_to_v2_project overridden if we need anything here.","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6fdba79bd1ba34a4376c5b47c0260733b37374bc","unresolved":false,"context_lines":[{"line_number":745,"context_line":"        return ref"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"    @staticmethod"},{"line_number":748,"context_line":"    def filter_parent_id(ref):"},{"line_number":749,"context_line":"        \"\"\"Override v2 filter to let parent_id out for v3 calls.\"\"\""},{"line_number":750,"context_line":"        return ref"},{"line_number":751,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_aed99f23","line":748,"in_reply_to":"9a80dd14_48a1fb44","updated":"2015-03-14 00:06:22.000000000","message":"I agree, not used at all. I\u0027ll remove it","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"}],"keystone/tests/unit/test_v3_assignment.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":2529,"context_line":"        expected_ref \u003d ref_no_parent.copy()"},{"line_number":2530,"context_line":""},{"line_number":2531,"context_line":"        updated_ref \u003d controller.V2Controller.filter_parent_id(ref)"},{"line_number":2532,"context_line":"        self.assertIs(ref, updated_ref)"},{"line_number":2533,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":2534,"context_line":"        # Make sure we don\u0027t error/muck up data if parent_id isn\u0027t present"},{"line_number":2535,"context_line":"        updated_ref \u003d controller.V2Controller.filter_domain_id(ref_no_parent)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_e84c6fa0","line":2532,"updated":"2015-03-13 22:08:53.000000000","message":"it\u0027s important that the same object is returned? why even return an object if the ref is going to be mutated?","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6fdba79bd1ba34a4376c5b47c0260733b37374bc","unresolved":false,"context_lines":[{"line_number":2529,"context_line":"        expected_ref \u003d ref_no_parent.copy()"},{"line_number":2530,"context_line":""},{"line_number":2531,"context_line":"        updated_ref \u003d controller.V2Controller.filter_parent_id(ref)"},{"line_number":2532,"context_line":"        self.assertIs(ref, updated_ref)"},{"line_number":2533,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":2534,"context_line":"        # Make sure we don\u0027t error/muck up data if parent_id isn\u0027t present"},{"line_number":2535,"context_line":"        updated_ref \u003d controller.V2Controller.filter_domain_id(ref_no_parent)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_b9c64766","line":2532,"in_reply_to":"9a80dd14_e84c6fa0","updated":"2015-03-14 00:06:22.000000000","message":"this is testing that object is mutated by the method and not being replaced.","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"7812e5c09ee246ee7dcc42e83566afe894781476","unresolved":false,"context_lines":[{"line_number":2549,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":2550,"context_line":""},{"line_number":2551,"context_line":"    def test_v3controller_v3_to_v2_project(self):"},{"line_number":2552,"context_line":"        # V2.0 is not domain and project hierarchy aware,"},{"line_number":2553,"context_line":"        # ensure domain_id and parent_id are popped off."},{"line_number":2554,"context_line":"        other_data \u003d uuid.uuid4().hex"},{"line_number":2555,"context_line":"        domain_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_68b23f95","line":2552,"updated":"2015-03-13 22:08:53.000000000","message":"? what does V2 have to do with the V3 controller?","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"6fdba79bd1ba34a4376c5b47c0260733b37374bc","unresolved":false,"context_lines":[{"line_number":2549,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":2550,"context_line":""},{"line_number":2551,"context_line":"    def test_v3controller_v3_to_v2_project(self):"},{"line_number":2552,"context_line":"        # V2.0 is not domain and project hierarchy aware,"},{"line_number":2553,"context_line":"        # ensure domain_id and parent_id are popped off."},{"line_number":2554,"context_line":"        other_data \u003d uuid.uuid4().hex"},{"line_number":2555,"context_line":"        domain_id \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a80dd14_39f25706","line":2552,"in_reply_to":"9a80dd14_68b23f95","updated":"2015-03-14 00:06:22.000000000","message":"over copy/paste from the test above, agreed this should be removed.","commit_id":"cf3bf4884043ac986a1831cd24577cf04eb67efe"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"d0d1a336e0b7f7ed03d000a09ae78005a32eb4f6","unresolved":false,"context_lines":[{"line_number":2901,"context_line":"    def setUp(self):"},{"line_number":2902,"context_line":"        super(AssignmentV3toV2MethodsTestCase, self).setUp()"},{"line_number":2903,"context_line":""},{"line_number":2904,"context_line":"        self.project_id \u003d uuid.uuid4().hex"},{"line_number":2905,"context_line":"        self.domain_id \u003d uuid.uuid4().hex"},{"line_number":2906,"context_line":"        self.parent_id \u003d uuid.uuid4().hex"},{"line_number":2907,"context_line":"        # Project with only domain_id in ref"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a6ced46_5b26b017","line":2904,"updated":"2015-03-23 23:44:33.000000000","message":"these are only used in a couple of the tests, so move it into a function rather than setting up these for every test.","commit_id":"876337282207dfe9cdf22d8ab78d2a3aa2e5c92c"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"62b3983604ae65909f8ca59c51f9723827d4cda6","unresolved":false,"context_lines":[{"line_number":2901,"context_line":"    def setUp(self):"},{"line_number":2902,"context_line":"        super(AssignmentV3toV2MethodsTestCase, self).setUp()"},{"line_number":2903,"context_line":""},{"line_number":2904,"context_line":"        self.project_id \u003d uuid.uuid4().hex"},{"line_number":2905,"context_line":"        self.domain_id \u003d uuid.uuid4().hex"},{"line_number":2906,"context_line":"        self.parent_id \u003d uuid.uuid4().hex"},{"line_number":2907,"context_line":"        # Project with only domain_id in ref"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a6ced46_f6a053f6","line":2904,"in_reply_to":"1a6ced46_5b26b017","updated":"2015-03-24 00:03:13.000000000","message":"Done","commit_id":"876337282207dfe9cdf22d8ab78d2a3aa2e5c92c"}],"keystone/tests/unit/test_v3_resource.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"b29af28a1ba6bf435a4eddecdab5e89fe188b088","unresolved":false,"context_lines":[{"line_number":68,"context_line":"               \u0027other_data\u0027: other_data}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        expected_ref \u003d ref.copy()"},{"line_number":71,"context_line":"        updated_ref \u003d controller.V3Controller.filter_domain_id(ref)"},{"line_number":72,"context_line":"        self.assertIs(ref, updated_ref)"},{"line_number":73,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_3c58d256","line":71,"updated":"2015-03-18 19:14:12.000000000","message":"If V3 is domain aware, how come we have a filter_domain_id method?","commit_id":"f8f98e95964ed4eece5e32149e6ab81addede3be"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"1f57f41f82b4f69e9ca4b55f2b314a4f6b7bf47e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"               \u0027other_data\u0027: other_data}"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        expected_ref \u003d ref.copy()"},{"line_number":71,"context_line":"        updated_ref \u003d controller.V3Controller.filter_domain_id(ref)"},{"line_number":72,"context_line":"        self.assertIs(ref, updated_ref)"},{"line_number":73,"context_line":"        self.assertDictEqual(ref, expected_ref)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9a80dd14_ff9b8c63","line":71,"in_reply_to":"9a80dd14_3c58d256","updated":"2015-03-18 19:25:15.000000000","message":"hmm this was moved over from the old test AssignmentV3toV2MethodsTestCase, so I didn\u0027t looked at what it does.\n\nThis validates the filter_domain_id does not perform filtering.  \n\nV3Controller.filter_domain_id() does seem used or sounds right, suggest to do it as  follow-up clean-up patch.","commit_id":"f8f98e95964ed4eece5e32149e6ab81addede3be"}]}
