)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"2bcf6d4d1f85e1d7e3d55da131e2250157184b72","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move json_home \"extension\" rel functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the json_home \"extension\" rel functiond to a common location"},{"line_number":10,"context_line":"so that they may be shared as needed between apis. Since there"},{"line_number":11,"context_line":"are no new extensions for keystone, once keystone is moved to being"},{"line_number":12,"context_line":"100% flask dispatched, no new relation functions will need to be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_10ffee67","line":9,"range":{"start_line":9,"start_character":35,"end_line":9,"end_character":44},"updated":"2018-08-19 12:22:32.000000000","message":"(nit) typo","commit_id":"41f23eed512f3629dc38246adbbfc7bae3a912d2"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"2bcf6d4d1f85e1d7e3d55da131e2250157184b72","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Move json_home \"extension\" rel functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the json_home \"extension\" rel functiond to a common location"},{"line_number":10,"context_line":"so that they may be shared as needed between apis. Since there"},{"line_number":11,"context_line":"are no new extensions for keystone, once keystone is moved to being"},{"line_number":12,"context_line":"100% flask dispatched, no new relation functions will need to be"},{"line_number":13,"context_line":"added to keystone.api._shared.json_home_relations."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_700ae28a","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":49},"updated":"2018-08-19 12:22:32.000000000","message":"example? why is this needed exactly?","commit_id":"41f23eed512f3629dc38246adbbfc7bae3a912d2"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"4fc06160b90f57ce0634d0f1774493da75a21f2f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Move json_home \"extension\" rel functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the json_home \"extension\" rel functiond to a common location"},{"line_number":10,"context_line":"so that they may be shared as needed between apis. Since there"},{"line_number":11,"context_line":"are no new extensions for keystone, once keystone is moved to being"},{"line_number":12,"context_line":"100% flask dispatched, no new relation functions will need to be"},{"line_number":13,"context_line":"added to keystone.api._shared.json_home_relations."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_06d2c6d1","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":49},"in_reply_to":"3f79a3b5_09f804c2","updated":"2018-08-24 17:31:28.000000000","message":"As Lance pointed out, but mostly because we have some weirdness in the cross-subsystem JSON HOME we are unwinding related to how \"extensions\" work. Since we still have \"extension\"-like details, the solution was to centralize the builder functions.","commit_id":"41f23eed512f3629dc38246adbbfc7bae3a912d2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d40ee4da807f6947b0404b28c61f31ab6e05a8c5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Move json_home \"extension\" rel functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Move the json_home \"extension\" rel functiond to a common location"},{"line_number":10,"context_line":"so that they may be shared as needed between apis. Since there"},{"line_number":11,"context_line":"are no new extensions for keystone, once keystone is moved to being"},{"line_number":12,"context_line":"100% flask dispatched, no new relation functions will need to be"},{"line_number":13,"context_line":"added to keystone.api._shared.json_home_relations."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_09f804c2","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":49},"in_reply_to":"3f79a3b5_700ae28a","updated":"2018-08-21 12:15:07.000000000","message":"For example the policy and endpoint APIs have a common dependency [0]. This might not be the case for all resource relations though.\n\n\n\n[0] https://review.openstack.org/#/c/589950/5/keystone/api/policy.py@30","commit_id":"41f23eed512f3629dc38246adbbfc7bae3a912d2"}],"keystone/api/_shared/json_home_relations.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"7a8fc8c1bbbba41d9c8f8569e188f5e56de38b28","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import functools"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from keystone.common import json_home"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"# OS-EP-FILTER \"extension\""},{"line_number":23,"context_line":"os_ep_filter_resource_rel_func \u003d functools.partial("},{"line_number":24,"context_line":"    json_home.build_v3_extension_resource_relation,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_289bfe17","line":21,"updated":"2018-08-15 06:33:36.000000000","message":"Oh - nice... using the generic _build_resource_relation bit was kinda confusing in all these cases.","commit_id":"24e12691bd20f5077edea14aa72a93c21aa517dc"}]}
