)]}'
{"keystone/assignment/backends/base.py":[{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"014a58e8c5f094c3139f16cc702fbf6267b4591d","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    \"\"\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    @abc.abstractmethod"},{"line_number":167,"context_line":"    def list_user_ids_for_project(self, tenant_id):"},{"line_number":168,"context_line":"        \"\"\"List all user IDs with a role assignment in the specified project."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"        :returns: a list of user_ids or an empty set."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a98d1f4_f793b74d","side":"PARENT","line":167,"range":{"start_line":167,"start_character":8,"end_line":167,"end_character":33},"updated":"2016-09-28 15:27:57.000000000","message":"You need to now include this method in the base class","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"354c24704779824b307177c4b58c7d82fdb007cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a98d1f4_b8ff5433","side":"PARENT","updated":"2016-09-28 18:32:00.000000000","message":"don\u0027t a bunch of these need to be brought into the base class?","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"08ec6c260af8643dc913ee537ab95d7686114c7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a98d1f4_5ad640c6","side":"PARENT","in_reply_to":"3a98d1f4_04b621dc","updated":"2016-09-28 20:53:46.000000000","message":"The AssignmentDriverV8 class is only used in V9AssignmentWrapperForV8Driver to support driver versioning. AssignmentDriverV9 inherited from the base class; not AssignmentDriverV8.","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"6e0e5020bf164057e21a43cf359856ad492f2290","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a98d1f4_04b621dc","side":"PARENT","in_reply_to":"3a98d1f4_b8ff5433","updated":"2016-09-28 19:56:08.000000000","message":"No, nothing from AssignmentDriverV8 needs to come over.","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"class AssignmentDriverV8(AssignmentDriverBase):"},{"line_number":157,"context_line":"    \"\"\"Removed or redefined methods from V8."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    Move the abstract methods of any methods removed or modified in later"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_249c765c","side":"PARENT","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":24},"updated":"2016-09-30 21:16:35.000000000","message":"the methods here were removed in Mitaka, see https://github.com/openstack/keystone/blob/8a56c161ee29e34e70c6334b048881e8fbbd7514/releasenotes/notes/Assignment_V9_driver-c22be069f7baccb0.yaml for more details","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        raise exception.NotImplemented()"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"class V9AssignmentWrapperForV8Driver(AssignmentDriverV9):"},{"line_number":298,"context_line":"    \"\"\"Wrapper class to supported a V8 legacy driver."},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    In order to support legacy drivers without having to make the manager code"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_04a93a90","side":"PARENT","line":297,"range":{"start_line":297,"start_character":6,"end_line":297,"end_character":36},"updated":"2016-09-30 21:16:35.000000000","message":"the methods here are in the base class and can safely be removed","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"}],"keystone/assignment/role_backends/base.py":[{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"abdd7a46690b6e843fd93a7f1695c7b618f130a9","unresolved":false,"context_lines":[{"line_number":125,"context_line":"    \"\"\""},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    @abc.abstractmethod"},{"line_number":128,"context_line":"    def get_implied_role(self, prior_role_id, implied_role_id):"},{"line_number":129,"context_line":"        \"\"\"Get a role inference rule."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        :raises keystone.exception.ImpliedRoleNotFound: If the implied role"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a98d1f4_d7c6bb15","side":"PARENT","line":128,"range":{"start_line":128,"start_character":8,"end_line":128,"end_character":24},"updated":"2016-09-28 15:30:26.000000000","message":"You need to add these methods to the base class","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"class V9RoleWrapperForV8Driver(RoleDriverV9):"},{"line_number":168,"context_line":"    \"\"\"Wrapper class to supported a V8 legacy driver."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    In order to support legacy drivers without having to make the manager code"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_24eab6ac","side":"PARENT","line":167,"range":{"start_line":167,"start_character":6,"end_line":167,"end_character":30},"updated":"2016-09-30 21:16:35.000000000","message":"all of these methods in the base calss","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"}],"keystone/catalog/core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"91b9348e763b338b8f97499f39b16da8d5e4d7cb","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    pass"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"Driver \u003d manager.create_legacy_driver(base.CatalogDriverV8)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_1b728e49","side":"PARENT","line":343,"range":{"start_line":343,"start_character":0,"end_line":343,"end_character":59},"updated":"2016-09-26 04:25:45.000000000","message":"i couldn\u0027t find any value in keeping these around, thoughts?","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"8744387ffe1bf4d6602bd7de9811ef4aa3adf959","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    pass"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"Driver \u003d manager.create_legacy_driver(base.CatalogDriverV8)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a98d1f4_8dc42641","side":"PARENT","line":343,"range":{"start_line":343,"start_character":0,"end_line":343,"end_character":59},"in_reply_to":"3a98d1f4_fc98fe6c","updated":"2016-09-28 15:51:48.000000000","message":"But if you feel uneasy about it, you could always remove these later.","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"1acde3b32dc34e3782fc8b08bd07167a0b851908","unresolved":false,"context_lines":[{"line_number":340,"context_line":"    pass"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"Driver \u003d manager.create_legacy_driver(base.CatalogDriverV8)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a98d1f4_fc98fe6c","side":"PARENT","line":343,"range":{"start_line":343,"start_character":0,"end_line":343,"end_character":59},"in_reply_to":"5a8bc5a2_1b728e49","updated":"2016-09-28 15:14:29.000000000","message":"This came up when we moved the abstract base class out of core. We should no longer need Driver \u003d ...  Custom driver implementations should refer to the interface.","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"}],"keystone/federation/backends/base.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"91b9348e763b338b8f97499f39b16da8d5e4d7cb","unresolved":false,"context_lines":[{"line_number":390,"context_line":"    \"\"\""},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    @abc.abstractmethod"},{"line_number":393,"context_line":"    def list_idps(self, hints):"},{"line_number":394,"context_line":"        \"\"\"List all identity providers."},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        :param hints: filter hints which the driver should"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_5bbdf6b5","side":"PARENT","line":393,"range":{"start_line":393,"start_character":8,"end_line":393,"end_character":17},"updated":"2016-09-26 04:25:45.000000000","message":"this and list_sps should go into the base class","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"1acde3b32dc34e3782fc8b08bd07167a0b851908","unresolved":false,"context_lines":[{"line_number":390,"context_line":"    \"\"\""},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"    @abc.abstractmethod"},{"line_number":393,"context_line":"    def list_idps(self, hints):"},{"line_number":394,"context_line":"        \"\"\"List all identity providers."},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"        :param hints: filter hints which the driver should"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a98d1f4_7cdb0e1c","side":"PARENT","line":393,"range":{"start_line":393,"start_character":8,"end_line":393,"end_character":17},"in_reply_to":"5a8bc5a2_5bbdf6b5","updated":"2016-09-28 15:14:29.000000000","message":"Yep, should go in the base class.","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":347,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"class FederationDriverV8(FederationDriverBase):"},{"line_number":351,"context_line":"    \"\"\"Removed or redefined methods from V8."},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"    Move the abstract methods of any methods removed or modified in later"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_040a1a79","side":"PARENT","line":350,"range":{"start_line":350,"start_character":6,"end_line":350,"end_character":24},"updated":"2016-09-30 21:16:35.000000000","message":"we re-added list_idps and list_sps to the base class","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":420,"context_line":"        raise exception.NotImplemented()  # pragma: no cover"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class V9FederationWrapperForV8Driver(FederationDriverV9):"},{"line_number":424,"context_line":"    \"\"\"Wrapper class to supported a V8 legacy driver."},{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    In order to support legacy drivers without having to make the manager code"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_64259e07","side":"PARENT","line":423,"range":{"start_line":423,"start_character":6,"end_line":423,"end_character":36},"updated":"2016-09-30 21:16:35.000000000","message":"these are all in the base class","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"}],"keystone/federation/core.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"91b9348e763b338b8f97499f39b16da8d5e4d7cb","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    what\u003d\u0027keystone.federation.FederationDriverBase\u0027,"},{"line_number":121,"context_line":"    in_favor_of\u003d\u0027keystone.federation.backends.base.FederationDriverBase\u0027,"},{"line_number":122,"context_line":"    remove_in\u003d+1)"},{"line_number":123,"context_line":"class FederationDriverBase(base.FederationDriverBase):"},{"line_number":124,"context_line":"    pass"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_bbfa7a73","side":"PARENT","line":123,"range":{"start_line":123,"start_character":6,"end_line":123,"end_character":52},"updated":"2016-09-26 04:25:45.000000000","message":"i think this was unintentionally deprecated","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"1acde3b32dc34e3782fc8b08bd07167a0b851908","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    what\u003d\u0027keystone.federation.FederationDriverBase\u0027,"},{"line_number":121,"context_line":"    in_favor_of\u003d\u0027keystone.federation.backends.base.FederationDriverBase\u0027,"},{"line_number":122,"context_line":"    remove_in\u003d+1)"},{"line_number":123,"context_line":"class FederationDriverBase(base.FederationDriverBase):"},{"line_number":124,"context_line":"    pass"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a98d1f4_fc82bec7","side":"PARENT","line":123,"range":{"start_line":123,"start_character":6,"end_line":123,"end_character":52},"in_reply_to":"5a8bc5a2_bbfa7a73","updated":"2016-09-28 15:14:29.000000000","message":"Why?  It doesn\u0027t belong in core.","commit_id":"cb2b548f6b4abb83b21bf2d09a4e983735a9d4e8"}],"keystone/resource/backends/base.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"354c24704779824b307177c4b58c7d82fdb007cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a98d1f4_0be9d41a","side":"PARENT","updated":"2016-09-28 18:32:00.000000000","message":"looks like we need to add some of the methods to the base class","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":18338,"name":"Ron De Rose","email":"ronald.de.rose@intel.com","username":"derosenet"},"change_message_id":"6e0e5020bf164057e21a43cf359856ad492f2290","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3a98d1f4_84ca314e","side":"PARENT","in_reply_to":"3a98d1f4_0be9d41a","updated":"2016-09-28 19:56:08.000000000","message":"Same for this one, no ResourceDriverV8 methods need to come over.","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"81bffd41c9691324b1ee2331575b9b7434fdc418","unresolved":false,"context_lines":[{"line_number":46,"context_line":"# class to the V8 class. Do not modify any of the method signatures in the Base"},{"line_number":47,"context_line":"# class - changes should only be made in the V8 and subsequent classes."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Starting with V9, some drivers use a special value to represent a domain_id"},{"line_number":50,"context_line":"# of None. See comment in Project class of resource/backends/sql.py for more"},{"line_number":51,"context_line":"# details."},{"line_number":52,"context_line":"NULL_DOMAIN_ID \u003d \u0027\u003c\u003ckeystone.domain.root\u003e\u003e\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_f0af13e1","side":"PARENT","line":49,"updated":"2016-10-05 14:30:22.000000000","message":"It would be nice to rephrase part of this comment. Other than mentioning V9 I think it is useful information.","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d4666b425ebd8843a60bbf7daf247655490b1db8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"# class to the V8 class. Do not modify any of the method signatures in the Base"},{"line_number":47,"context_line":"# class - changes should only be made in the V8 and subsequent classes."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Starting with V9, some drivers use a special value to represent a domain_id"},{"line_number":50,"context_line":"# of None. See comment in Project class of resource/backends/sql.py for more"},{"line_number":51,"context_line":"# details."},{"line_number":52,"context_line":"NULL_DOMAIN_ID \u003d \u0027\u003c\u003ckeystone.domain.root\u003e\u003e\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_2ebf5cfc","side":"PARENT","line":49,"in_reply_to":"1a95cdbc_f0af13e1","updated":"2016-10-05 14:52:50.000000000","message":"makes sense","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"4458e180e0ec726d53592e736599c6828d412de7","unresolved":false,"context_lines":[{"line_number":202,"context_line":"            raise exception.DomainNotFound(domain_id\u003ddomain_id)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"class ResourceDriverV8(ResourceDriverBase):"},{"line_number":206,"context_line":"    \"\"\"Removed or redefined methods from V8."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    Move the abstract methods of any methods removed or modified in later"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a98d1f4_5f122b58","side":"PARENT","line":205,"range":{"start_line":205,"start_character":6,"end_line":205,"end_character":22},"updated":"2016-09-30 21:16:35.000000000","message":"all the domain related operations are no longer in our backend, we removed them in the great domain -\u003e project migration","commit_id":"fb6ff3000921bace5b7c7c0e08d701c17fef2677"}],"keystone/token/persistence/core.py":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"81bffd41c9691324b1ee2331575b9b7434fdc418","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":228,"context_line":"class TokenDriverBase(object):"},{"line_number":229,"context_line":"    \"\"\"Interface description for a Token driver.\"\"\""},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_dd49508d","line":228,"updated":"2016-10-05 14:30:22.000000000","message":"Any reason we don\u0027t rename TrustDriverBase to just TrustDriver since it\u0027s no longer a base?","commit_id":"810e15689b200f92980e04e233523d72d885d4bd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d4666b425ebd8843a60bbf7daf247655490b1db8","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":228,"context_line":"class TokenDriverBase(object):"},{"line_number":229,"context_line":"    \"\"\"Interface description for a Token driver.\"\"\""},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    @abc.abstractmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a95cdbc_2e911c9a","line":228,"in_reply_to":"1a95cdbc_dd49508d","updated":"2016-10-05 14:52:50.000000000","message":"we totally could","commit_id":"810e15689b200f92980e04e233523d72d885d4bd"}],"tox.ini":[{"author":{"_account_id":7725,"name":"David Stanek","email":"dstanek@dstanek.com","username":"dstanek"},"change_message_id":"81bffd41c9691324b1ee2331575b9b7434fdc418","unresolved":false,"context_lines":[{"line_number":31,"context_line":"commands \u003d"},{"line_number":32,"context_line":"  # Run each legacy test separately, to avoid SQL model redefinitions"},{"line_number":33,"context_line":"  find keystone -type f -name \"*.pyc\" -delete"},{"line_number":34,"context_line":"  # TODO(stevemar): Remove this test once we remove the infra job"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"[testenv:pep8]"},{"line_number":37,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1a95cdbc_d0b5b7cd","line":34,"updated":"2016-10-05 14:30:22.000000000","message":"Is there a review already in place to to this?","commit_id":"810e15689b200f92980e04e233523d72d885d4bd"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d1506e5ccc00ca66575e37aaf120a651c75b5ea4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"commands \u003d"},{"line_number":32,"context_line":"  # Run each legacy test separately, to avoid SQL model redefinitions"},{"line_number":33,"context_line":"  find keystone -type f -name \"*.pyc\" -delete"},{"line_number":34,"context_line":"  # TODO(stevemar): Remove this test once we remove the infra job"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"[testenv:pep8]"},{"line_number":37,"context_line":"deps \u003d"}],"source_content_type":"text/x-properties","patch_set":7,"id":"1a95cdbc_ce7358b0","line":34,"in_reply_to":"1a95cdbc_d0b5b7cd","updated":"2016-10-05 14:50:58.000000000","message":"no, but i can whip something up","commit_id":"810e15689b200f92980e04e233523d72d885d4bd"}]}
