)]}'
{"keystone/auth/plugins/password.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4bccf4eeb42af1d6c57f72d25df3e452daa78751","unresolved":false,"context_lines":[{"line_number":29,"context_line":"class UserAuthInfo(object):"},{"line_number":30,"context_line":"    def __init__(self, auth_payload):"},{"line_number":31,"context_line":"        self.identity_api \u003d identity.Manager()"},{"line_number":32,"context_line":"        self.assignment_api \u003d assignment.Manager()"},{"line_number":33,"context_line":"        self.user_id \u003d None"},{"line_number":34,"context_line":"        self.password \u003d None"},{"line_number":35,"context_line":"        self.user_ref \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FjDk%3D","line":32,"updated":"2013-11-01 15:42:01.000000000","message":"Should these be injected?","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"28d1ec0684213151c4ed5e9910c82743f9ad240d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"class UserAuthInfo(object):"},{"line_number":30,"context_line":"    def __init__(self, auth_payload):"},{"line_number":31,"context_line":"        self.identity_api \u003d identity.Manager()"},{"line_number":32,"context_line":"        self.assignment_api \u003d assignment.Manager()"},{"line_number":33,"context_line":"        self.user_id \u003d None"},{"line_number":34,"context_line":"        self.password \u003d None"},{"line_number":35,"context_line":"        self.user_ref \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FUjk%3D","line":32,"in_reply_to":"AAAATn%2F%2FjDk%3D","updated":"2013-11-11 00:36:23.000000000","message":"There is a patch by Brant that solves this issue:\nhttps://review.openstack.org/#/c/55767/\n\nI\u0027ll make this patchset dependant on his to catch that change.","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"}],"keystone/identity/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5b6f56c5da0d3e9895f8a7056173a2c6b186a137","unresolved":false,"context_lines":[{"line_number":611,"context_line":"    # it as deprecated in the off-chance someone somewhere is _actually_ using"},{"line_number":612,"context_line":"    # it."},{"line_number":613,"context_line":"    @utils.deprecated(\u0027I\u0027, remove_in\u003d1)"},{"line_number":614,"context_line":"    def _get_domain_by_name(self, context, domain_name):"},{"line_number":615,"context_line":"        \"\"\"Get the domain via its unique name."},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        For use by token authentication - not for hooking to the identity"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Fkwc%3D","line":614,"updated":"2013-11-01 03:38:20.000000000","message":"i\u0027d say go ahead and axe this part","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"28d1ec0684213151c4ed5e9910c82743f9ad240d","unresolved":false,"context_lines":[{"line_number":611,"context_line":"    # it as deprecated in the off-chance someone somewhere is _actually_ using"},{"line_number":612,"context_line":"    # it."},{"line_number":613,"context_line":"    @utils.deprecated(\u0027I\u0027, remove_in\u003d1)"},{"line_number":614,"context_line":"    def _get_domain_by_name(self, context, domain_name):"},{"line_number":615,"context_line":"        \"\"\"Get the domain via its unique name."},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        For use by token authentication - not for hooking to the identity"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FUjg%3D","line":614,"in_reply_to":"AAAATn%2F%2FjCc%3D","updated":"2013-11-11 00:36:23.000000000","message":"Done","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4bccf4eeb42af1d6c57f72d25df3e452daa78751","unresolved":false,"context_lines":[{"line_number":611,"context_line":"    # it as deprecated in the off-chance someone somewhere is _actually_ using"},{"line_number":612,"context_line":"    # it."},{"line_number":613,"context_line":"    @utils.deprecated(\u0027I\u0027, remove_in\u003d1)"},{"line_number":614,"context_line":"    def _get_domain_by_name(self, context, domain_name):"},{"line_number":615,"context_line":"        \"\"\"Get the domain via its unique name."},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"        For use by token authentication - not for hooking to the identity"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FjCc%3D","line":614,"in_reply_to":"AAAATn%2F%2Fkwc%3D","updated":"2013-11-01 15:42:01.000000000","message":"++","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"}],"keystone/identity/core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5b6f56c5da0d3e9895f8a7056173a2c6b186a137","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        return self.assignment_api.update_domain(domain_id, domain)"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    def list_domains(self):"},{"line_number":473,"context_line":"        return self.assignment_api.list_domains()"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FkxA%3D","side":"PARENT","line":473,"updated":"2013-11-01 03:38:20.000000000","message":"++ on this, nice to finally move these out","commit_id":"5e24b7627a1287c1cd9e879e6e521b8e690df3b0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"28d1ec0684213151c4ed5e9910c82743f9ad240d","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        return self.assignment_api.update_domain(domain_id, domain)"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    def list_domains(self):"},{"line_number":473,"context_line":"        return self.assignment_api.list_domains()"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"@six.add_metaclass(abc.ABCMeta)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FUjE%3D","side":"PARENT","line":473,"in_reply_to":"AAAATn%2F%2FkxA%3D","updated":"2013-11-11 00:36:23.000000000","message":"As per the design summit, they are coming back... but as @deprecated until Icehouse is released.","commit_id":"5e24b7627a1287c1cd9e879e6e521b8e690df3b0"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"4bccf4eeb42af1d6c57f72d25df3e452daa78751","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        if driver:"},{"line_number":280,"context_line":"            return driver"},{"line_number":281,"context_line":"        else:"},{"line_number":282,"context_line":"            self.assignment_api.get_domain(domain_id)"},{"line_number":283,"context_line":"            return self.driver"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def _get_domain_conf(self, domain_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FjAI%3D","line":282,"updated":"2013-11-01 15:42:01.000000000","message":"Is this just here to raise an exception if the domain doesn\u0027t exist?  It would be nice to be able to get rid of the circular dependency between identity and assignment.","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"28d1ec0684213151c4ed5e9910c82743f9ad240d","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        if driver:"},{"line_number":280,"context_line":"            return driver"},{"line_number":281,"context_line":"        else:"},{"line_number":282,"context_line":"            self.assignment_api.get_domain(domain_id)"},{"line_number":283,"context_line":"            return self.driver"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"    def _get_domain_conf(self, domain_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FUjQ%3D","line":282,"in_reply_to":"AAAATn%2F%2FjAI%3D","updated":"2013-11-11 00:36:23.000000000","message":"That is correct.  I\u0027d like to make that kind of change a separate patchset so we can chase down all circular dependancies instead of catching them as a side-effect of other patches.","commit_id":"9a93532037dee9c51340ebe9f0f438f4c326ca04"},{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"ed26ce13b78f9be920c6d089c7a21458863e5d38","unresolved":false,"context_lines":[{"line_number":454,"context_line":"        domain_id, driver \u003d self._get_domain_id_and_driver(domain_scope)"},{"line_number":455,"context_line":"        return driver.check_user_in_group(user_id, group_id)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    # TODO(morganfainberg): Remove following deprecated methods once Icehouse"},{"line_number":458,"context_line":"    # is released.  Maintain identity -\u003e assignment proxy for 1 release."},{"line_number":459,"context_line":"    @utils.deprecated(\u0027I\u0027, in_favor_of\u003d\u0027assignment_api.get_domain_by_name\u0027,"},{"line_number":460,"context_line":"                      remove_in\u003d1, what\u003d\u0027identity_api.get_domain_by_name\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FDTc%3D","line":457,"updated":"2013-11-15 06:10:28.000000000","message":"Remove the following?","commit_id":"3e0cc37cf46cb1d512049cc23bea2e9b2f78daa8"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"f7985552df5b2b02ac4dc3e3ec95b4d8ea743ec0","unresolved":false,"context_lines":[{"line_number":454,"context_line":"        domain_id, driver \u003d self._get_domain_id_and_driver(domain_scope)"},{"line_number":455,"context_line":"        return driver.check_user_in_group(user_id, group_id)"},{"line_number":456,"context_line":""},{"line_number":457,"context_line":"    # TODO(morganfainberg): Remove following deprecated methods once Icehouse"},{"line_number":458,"context_line":"    # is released.  Maintain identity -\u003e assignment proxy for 1 release."},{"line_number":459,"context_line":"    @utils.deprecated(\u0027I\u0027, in_favor_of\u003d\u0027assignment_api.get_domain_by_name\u0027,"},{"line_number":460,"context_line":"                      remove_in\u003d1, what\u003d\u0027identity_api.get_domain_by_name\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2FAko%3D","line":457,"in_reply_to":"AAAATn%2F%2FDTc%3D","updated":"2013-11-15 19:08:49.000000000","message":"Done","commit_id":"3e0cc37cf46cb1d512049cc23bea2e9b2f78daa8"}],"keystone/token/controllers.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5b6f56c5da0d3e9895f8a7056173a2c6b186a137","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        domain_name \u003d auth.get(\u0027domainName\u0027, None)"},{"line_number":351,"context_line":"        if domain_name:"},{"line_number":352,"context_line":"            try:"},{"line_number":353,"context_line":"                domain_ref \u003d self.identity_api._get_domain_by_name("},{"line_number":354,"context_line":"                    domain_name)"},{"line_number":355,"context_line":"                domain_id \u003d domain_ref[\u0027id\u0027]"},{"line_number":356,"context_line":"            except exception.DomainNotFound as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2Fkwk%3D","side":"PARENT","line":353,"updated":"2013-11-01 03:38:20.000000000","message":"just did a quick search, and this was the only place where _get_domain_by_name was being used, so I think you can completely remove that funciton from identity/controllers.py","commit_id":"5e24b7627a1287c1cd9e879e6e521b8e690df3b0"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"28d1ec0684213151c4ed5e9910c82743f9ad240d","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        domain_name \u003d auth.get(\u0027domainName\u0027, None)"},{"line_number":351,"context_line":"        if domain_name:"},{"line_number":352,"context_line":"            try:"},{"line_number":353,"context_line":"                domain_ref \u003d self.identity_api._get_domain_by_name("},{"line_number":354,"context_line":"                    domain_name)"},{"line_number":355,"context_line":"                domain_id \u003d domain_ref[\u0027id\u0027]"},{"line_number":356,"context_line":"            except exception.DomainNotFound as e:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATn%2F%2FUjA%3D","side":"PARENT","line":353,"in_reply_to":"AAAATn%2F%2Fkwk%3D","updated":"2013-11-11 00:36:23.000000000","message":"I found the same thing.","commit_id":"5e24b7627a1287c1cd9e879e6e521b8e690df3b0"}]}
