)]}'
{"keystone/backends.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"950f8f1dc0e3d46ce1838441a3a9dc825354181e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"def load_backends():"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    # Configure and build the cache"},{"line_number":38,"context_line":"    cache.configure_cache_region(CONF, cache.REGION)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    # Ensure that the identity driver is created before the assignment manager"},{"line_number":41,"context_line":"    # and that the assignment driver is created before the resource manager."}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_ee9076ef","line":38,"updated":"2015-07-08 13:57:41.000000000","message":"Does the application really need to specify cache.REGION? Maybe the application should have to make its own REGION instead.\n\nmaybe the call should be like...\n\n region \u003d cache.create_cache_region(CONF)\n\nand then you have to pass the region on wherever cache.REGION is needed.\n\nOtherwise, oslo.cache documentation must say that the application needs to do this.","commit_id":"3f624c6e1e680b4658e605bce9075709d14ae4ac"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"49146d7c0578f61eefb2973cf934c209b377eced","unresolved":false,"context_lines":[{"line_number":35,"context_line":"def load_backends():"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    # Configure and build the cache"},{"line_number":38,"context_line":"    cache.configure_cache_region(CONF, cache.REGION)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    # Ensure that the identity driver is created before the assignment manager"},{"line_number":41,"context_line":"    # and that the assignment driver is created before the resource manager."}],"source_content_type":"text/x-python","patch_set":14,"id":"9a41bdd9_e55a2550","line":38,"in_reply_to":"ba3cc151_ee9076ef","updated":"2015-07-13 16:33:25.000000000","message":"being addressed here: https://review.openstack.org/#/c/199793/3","commit_id":"3f624c6e1e680b4658e605bce9075709d14ae4ac"}],"keystone/common/cache/backends/memcache_pool.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"47f7dc50d694717433af777119ec47c29f440ecf","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        return functools.partial(self._run_method, name)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class PooledMemcachedBackend(memcached_backend.MemcachedBackend):"},{"line_number":43,"context_line":"    # Composed from GenericMemcachedBackend\u0027s and MemcacheArgs\u0027s __init__"},{"line_number":44,"context_line":"    def __init__(self, arguments):"},{"line_number":45,"context_line":"        super(PooledMemcachedBackend, self).__init__(arguments)"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_cccb3ba3","side":"PARENT","line":42,"updated":"2015-07-08 13:58:57.000000000","message":"I think we\u0027re going to need to keep these around (deprecated) for backwards-compatibility.","commit_id":"0d84009c0cfa07219730973160422bb7cb898f17"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool\u0027,"},{"line_number":34,"context_line":"    remove_in\u003d+1,"},{"line_number":35,"context_line":"    what\u003d\u0027keystone.common.cache.backends.memcache_pool\u0027)"},{"line_number":36,"context_line":"class ClientProxy(object):"},{"line_number":37,"context_line":"    def __init__(self, client_pool):"},{"line_number":38,"context_line":"        self.client_pool \u003d client_pool"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_5eb8e629","line":36,"updated":"2015-07-23 14:35:46.000000000","message":"we don\u0027t need to deprecate internal classes.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool\u0027,"},{"line_number":34,"context_line":"    remove_in\u003d+1,"},{"line_number":35,"context_line":"    what\u003d\u0027keystone.common.cache.backends.memcache_pool\u0027)"},{"line_number":36,"context_line":"class ClientProxy(object):"},{"line_number":37,"context_line":"    def __init__(self, client_pool):"},{"line_number":38,"context_line":"        self.client_pool \u003d client_pool"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_7e5397e2","line":36,"in_reply_to":"3a50d1a3_5eb8e629","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool\u0027,"},{"line_number":51,"context_line":"    remove_in\u003d+1,"},{"line_number":52,"context_line":"    what\u003d\u0027keystone.common.cache.backends.memcache_pool\u0027)"},{"line_number":53,"context_line":"class PooledMemcachedBackend(memcached_backend.MemcachedBackend):"},{"line_number":54,"context_line":"    # Composed from GenericMemcachedBackend\u0027s and MemcacheArgs\u0027s __init__"},{"line_number":55,"context_line":"    def __init__(self, arguments):"},{"line_number":56,"context_line":"        super(PooledMemcachedBackend, self).__init__(arguments)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_1eec9e28","line":53,"updated":"2015-07-23 14:35:46.000000000","message":"this should be a subclass of oslo_cache.backends.memcache_pool and then remove the impl.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"6e3487b47edc722561cf038615ed54aa551bfb44","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool\u0027,"},{"line_number":51,"context_line":"    remove_in\u003d+1,"},{"line_number":52,"context_line":"    what\u003d\u0027keystone.common.cache.backends.memcache_pool\u0027)"},{"line_number":53,"context_line":"class PooledMemcachedBackend(memcached_backend.MemcachedBackend):"},{"line_number":54,"context_line":"    # Composed from GenericMemcachedBackend\u0027s and MemcacheArgs\u0027s __init__"},{"line_number":55,"context_line":"    def __init__(self, arguments):"},{"line_number":56,"context_line":"        super(PooledMemcachedBackend, self).__init__(arguments)"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_656131a8","line":53,"in_reply_to":"3a50d1a3_1eec9e28","updated":"2015-07-26 08:46:44.000000000","message":"++\n\nThis might be looks like,\n@versionutils.deprecated(\n    versionutils.deprecated.LIBERTY,\n    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool.PooledMemcachedBackend\u0027,\n    remove_in\u003d+1,\n    what\u003d\u0027keystone.common.cache.backends.memcache_pool.PooledMemcachedBackend\u0027)","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.memcache_pool\u0027,"},{"line_number":51,"context_line":"    remove_in\u003d+1,"},{"line_number":52,"context_line":"    what\u003d\u0027keystone.common.cache.backends.memcache_pool\u0027)"},{"line_number":53,"context_line":"class PooledMemcachedBackend(memcached_backend.MemcachedBackend):"},{"line_number":54,"context_line":"    # Composed from GenericMemcachedBackend\u0027s and MemcacheArgs\u0027s __init__"},{"line_number":55,"context_line":"    def __init__(self, arguments):"},{"line_number":56,"context_line":"        super(PooledMemcachedBackend, self).__init__(arguments)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_e1406636","line":53,"in_reply_to":"3a50d1a3_656131a8","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"8bb387d4512871bfc294e5a4eb6e78999cf78008","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    in_favor_of\u003d\u0027oslo_cache.memcache_pool backend\u0027,"},{"line_number":26,"context_line":"    remove_in\u003d+1)"},{"line_number":27,"context_line":"class PooledMemcachedBackend(memcache_pool.PooledMemcachedBackend):"},{"line_number":28,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":28,"id":"7a2fa921_970db439","line":28,"updated":"2015-10-13 03:55:37.000000000","message":"why maintain this?","commit_id":"7b611dd7a82b10a353bad69e307d470ee59cb55e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"f227877f7d92c922fe1ac95a991e0beb6cb8f2dd","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    in_favor_of\u003d\u0027oslo_cache.memcache_pool backend\u0027,"},{"line_number":26,"context_line":"    remove_in\u003d+1)"},{"line_number":27,"context_line":"class PooledMemcachedBackend(memcache_pool.PooledMemcachedBackend):"},{"line_number":28,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a2ca52d_a8519664","line":28,"in_reply_to":"7a2fa921_970db439","updated":"2015-10-13 13:54:02.000000000","message":"so that we can log the deprecated message.","commit_id":"7b611dd7a82b10a353bad69e307d470ee59cb55e"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"e2d05f1b20bde7773dcd6096c84710618a20394b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.cache.memcache_pool backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\u0027oslo_cache.memcache_pool backend\u0027,"},{"line_number":26,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_61422b6a","line":23,"updated":"2015-10-16 06:15:28.000000000","message":"is this supposed to be Mitaka?\n\nOtherwise, remove_in \u003d Liberty +1, which is this release.","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5a2ad78c99916bf8102dabfb13d96a4b41d5fd24","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.cache.memcache_pool backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\u0027oslo_cache.memcache_pool backend\u0027,"},{"line_number":26,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_e92dc146","line":23,"in_reply_to":"5a2ca52d_61422b6a","updated":"2015-10-16 06:23:29.000000000","message":"in follow on","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"}],"keystone/common/cache/backends/mongo.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":37,"context_line":"    remove_in\u003d+1,"},{"line_number":38,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":39,"context_line":"class MongoCacheBackend(api.CacheBackend):"},{"line_number":40,"context_line":"    \"\"\"A MongoDB based caching backend implementing dogpile backend APIs."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Arguments accepted in the arguments dictionary:"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_3eef1a1f","line":39,"updated":"2015-07-23 14:35:46.000000000","message":"subclass oslo_cache.backends.mongo","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":37,"context_line":"    remove_in\u003d+1,"},{"line_number":38,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":39,"context_line":"class MongoCacheBackend(api.CacheBackend):"},{"line_number":40,"context_line":"    \"\"\"A MongoDB based caching backend implementing dogpile backend APIs."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Arguments accepted in the arguments dictionary:"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_81c65266","line":39,"in_reply_to":"3a50d1a3_3eef1a1f","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":206,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":207,"context_line":"    remove_in\u003d+1,"},{"line_number":208,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":209,"context_line":"class MongoApi(object):"},{"line_number":210,"context_line":"    \"\"\"Class handling MongoDB specific functionality."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_1ed33e61","line":208,"updated":"2015-07-23 14:35:46.000000000","message":"no need to deprecate internal classes.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":206,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":207,"context_line":"    remove_in\u003d+1,"},{"line_number":208,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":209,"context_line":"class MongoApi(object):"},{"line_number":210,"context_line":"    \"\"\"Class handling MongoDB specific functionality."},{"line_number":211,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_61a8d68d","line":208,"in_reply_to":"3a50d1a3_1ed33e61","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":493,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":494,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":495,"context_line":"    remove_in\u003d+1,"},{"line_number":496,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":497,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":498,"context_line":"class AbstractManipulator(object):"},{"line_number":499,"context_line":"    \"\"\"Abstract class with methods which need to be implemented for custom"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_9ec74e95","line":496,"updated":"2015-07-23 14:35:46.000000000","message":"no need to deprecate internal classes.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":493,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":494,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":495,"context_line":"    remove_in\u003d+1,"},{"line_number":496,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":497,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":498,"context_line":"class AbstractManipulator(object):"},{"line_number":499,"context_line":"    \"\"\"Abstract class with methods which need to be implemented for custom"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_21ae5e98","line":496,"in_reply_to":"3a50d1a3_9ec74e95","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":542,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":543,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":544,"context_line":"    remove_in\u003d+1,"},{"line_number":545,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":546,"context_line":"class BaseTransform(AbstractManipulator):"},{"line_number":547,"context_line":"    \"\"\"Base transformation class to store and read dogpile cached data"},{"line_number":548,"context_line":"    from MongoDB."}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_de3f1685","line":545,"updated":"2015-07-23 14:35:46.000000000","message":"no need to deprecate internal classes.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":542,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":543,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.mongo\u0027,"},{"line_number":544,"context_line":"    remove_in\u003d+1,"},{"line_number":545,"context_line":"    what\u003d\u0027keystone.common.cache.backends.mongo\u0027)"},{"line_number":546,"context_line":"class BaseTransform(AbstractManipulator):"},{"line_number":547,"context_line":"    \"\"\"Base transformation class to store and read dogpile cached data"},{"line_number":548,"context_line":"    from MongoDB."}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_e194e643","line":545,"in_reply_to":"3a50d1a3_de3f1685","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"e2d05f1b20bde7773dcd6096c84710618a20394b","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"@versionutils.deprecated("},{"line_number":20,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":21,"context_line":"    what\u003d\u0027keystone.cache.mongo backend\u0027,"},{"line_number":22,"context_line":"    in_favor_of\u003d\u0027oslo_cache.mongo backend\u0027,"},{"line_number":23,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_21619305","line":20,"updated":"2015-10-16 06:15:28.000000000","message":"same question","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5a2ad78c99916bf8102dabfb13d96a4b41d5fd24","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"@versionutils.deprecated("},{"line_number":20,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":21,"context_line":"    what\u003d\u0027keystone.cache.mongo backend\u0027,"},{"line_number":22,"context_line":"    in_favor_of\u003d\u0027oslo_cache.mongo backend\u0027,"},{"line_number":23,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_290179af","line":20,"in_reply_to":"5a2ca52d_21619305","updated":"2015-10-16 06:23:29.000000000","message":"in follow on","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"}],"keystone/common/cache/backends/noop.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.noop\u0027,"},{"line_number":25,"context_line":"    remove_in\u003d+1,"},{"line_number":26,"context_line":"    what\u003d\u0027keystone.common.cache.backends.noop\u0027)"},{"line_number":27,"context_line":"class NoopCacheBackend(api.CacheBackend):"},{"line_number":28,"context_line":"    \"\"\"A no op backend as a default caching backend."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The no op backend is provided as the default caching backend for keystone"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_3e64fab6","line":27,"updated":"2015-07-23 14:35:46.000000000","message":"subclass oslo_cache.backends.noop and remove the implementation.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    in_favor_of\u003d\u0027oslo_cache.backends.noop\u0027,"},{"line_number":25,"context_line":"    remove_in\u003d+1,"},{"line_number":26,"context_line":"    what\u003d\u0027keystone.common.cache.backends.noop\u0027)"},{"line_number":27,"context_line":"class NoopCacheBackend(api.CacheBackend):"},{"line_number":28,"context_line":"    \"\"\"A no op backend as a default caching backend."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    The no op backend is provided as the default caching backend for keystone"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_819172f3","line":27,"in_reply_to":"3a50d1a3_3e64fab6","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    to ensure that ``dogpile.cache.memory`` is not used in any real-world"},{"line_number":32,"context_line":"    circumstances unintentionally.  ``dogpile.cache.memory`` does not have a"},{"line_number":33,"context_line":"    mechanism to cleanup it\u0027s internal dict and therefore could cause run-away"},{"line_number":34,"context_line":"    memory utilization."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    def __init__(self, *args):"},{"line_number":37,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_1e081ed9","line":34,"updated":"2015-07-23 14:35:46.000000000","message":"the docs should also say it\u0027s deprecated.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    to ensure that ``dogpile.cache.memory`` is not used in any real-world"},{"line_number":32,"context_line":"    circumstances unintentionally.  ``dogpile.cache.memory`` does not have a"},{"line_number":33,"context_line":"    mechanism to cleanup it\u0027s internal dict and therefore could cause run-away"},{"line_number":34,"context_line":"    memory utilization."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    def __init__(self, *args):"},{"line_number":37,"context_line":"        return"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_a18eeecd","line":34,"in_reply_to":"3a50d1a3_1e081ed9","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"e2d05f1b20bde7773dcd6096c84710618a20394b","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.common.cache.noop backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\"dogpile.cache\u0027s Null backend\","},{"line_number":26,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_a11a837b","line":23,"updated":"2015-10-16 06:15:28.000000000","message":"same about using M","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5a2ad78c99916bf8102dabfb13d96a4b41d5fd24","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.common.cache.noop backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\"dogpile.cache\u0027s Null backend\","},{"line_number":26,"context_line":"    remove_in\u003d+1)"}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_69fbf1c1","line":23,"in_reply_to":"5a2ca52d_a11a837b","updated":"2015-10-16 06:23:29.000000000","message":"in follow on","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"},{"author":{"_account_id":1941,"name":"Lin Hua Cheng","email":"os.lcheng@gmail.com","username":"lin-hua-cheng"},"change_message_id":"e2d05f1b20bde7773dcd6096c84710618a20394b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.common.cache.noop backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\"dogpile.cache\u0027s Null backend\","},{"line_number":26,"context_line":"    remove_in\u003d+1)"},{"line_number":27,"context_line":"class NoopCacheBackend(api.CacheBackend):"},{"line_number":28,"context_line":"    \"\"\"A no op backend as a default caching backend."}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_813e67d8","line":25,"updated":"2015-10-16 06:15:28.000000000","message":"nit: use single quote for consistency","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"5a2ad78c99916bf8102dabfb13d96a4b41d5fd24","unresolved":false,"context_lines":[{"line_number":22,"context_line":"@versionutils.deprecated("},{"line_number":23,"context_line":"    versionutils.deprecated.LIBERTY,"},{"line_number":24,"context_line":"    what\u003d\u0027keystone.common.cache.noop backend\u0027,"},{"line_number":25,"context_line":"    in_favor_of\u003d\"dogpile.cache\u0027s Null backend\","},{"line_number":26,"context_line":"    remove_in\u003d+1)"},{"line_number":27,"context_line":"class NoopCacheBackend(api.CacheBackend):"},{"line_number":28,"context_line":"    \"\"\"A no op backend as a default caching backend."}],"source_content_type":"text/x-python","patch_set":30,"id":"5a2ca52d_c911e505","line":25,"in_reply_to":"5a2ca52d_813e67d8","updated":"2015-10-16 06:23:29.000000000","message":"it has an apostrophe in \"cache\u0027s\"","commit_id":"4969f66fca37ce9bd654cf74890fa28dd011bc6e"}],"keystone/common/cache/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"47f7dc50d694717433af777119ec47c29f440ecf","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"make_region \u003d dogpile.cache.make_region"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"dogpile.cache.register_backend("},{"line_number":34,"context_line":"    \u0027keystone.common.cache.noop\u0027,"},{"line_number":35,"context_line":"    \u0027keystone.common.cache.backends.noop\u0027,"},{"line_number":36,"context_line":"    \u0027NoopCacheBackend\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"ba3cc151_ece95f1b","side":"PARENT","line":33,"updated":"2015-07-08 13:58:57.000000000","message":"I think we need to keep this. We need to register the old names so that they continue to work, but are deprecated.","commit_id":"0d84009c0cfa07219730973160422bb7cb898f17"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b33465c22bb589064b8319bd85d29d2fe6b03a9f","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"dogpile.cache.register_backend("},{"line_number":24,"context_line":"    \u0027keystone.common.cache.noop\u0027,"},{"line_number":25,"context_line":"    \u0027keystone.common.cache.backends.noop\u0027,"},{"line_number":26,"context_line":"    \u0027NoopCacheBackend\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"dogpile.cache.register_backend("}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_c8086730","line":25,"updated":"2015-07-21 00:15:08.000000000","message":"seems like we\u0027d be able to change these references to oslo_cache?","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59ae9c2df48f81f7e7ab8af345a879f13b1a6994","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"dogpile.cache.register_backend("},{"line_number":24,"context_line":"    \u0027keystone.common.cache.noop\u0027,"},{"line_number":25,"context_line":"    \u0027keystone.common.cache.backends.noop\u0027,"},{"line_number":26,"context_line":"    \u0027NoopCacheBackend\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"dogpile.cache.register_backend("}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_5bedfc23","line":25,"in_reply_to":"3a50d1a3_c8086730","updated":"2015-07-21 02:17:53.000000000","message":"Done","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# NOTE(stevemar): When memcache_pool, mongo and noop backends are removed"},{"line_number":31,"context_line":"# we no longer need to register the backends here."},{"line_number":32,"context_line":"dogpile.cache.register_backend("},{"line_number":33,"context_line":"    \u0027oslo_cache.noop\u0027,"},{"line_number":34,"context_line":"    \u0027oslo_cache.backends.noop\u0027,"},{"line_number":35,"context_line":"    \u0027NoopCacheBackend\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_feb532ec","line":33,"updated":"2015-07-23 14:35:46.000000000","message":"keystone.common.cache.noop isn\u0027t used or usable anymore, so can\u0027t we just remove them already rather than deprecating?","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e56c195dcd93bfa9d04086396f3d36740676f23f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# NOTE(stevemar): When memcache_pool, mongo and noop backends are removed"},{"line_number":31,"context_line":"# we no longer need to register the backends here."},{"line_number":32,"context_line":"dogpile.cache.register_backend("},{"line_number":33,"context_line":"    \u0027oslo_cache.noop\u0027,"},{"line_number":34,"context_line":"    \u0027oslo_cache.backends.noop\u0027,"},{"line_number":35,"context_line":"    \u0027NoopCacheBackend\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"7a2fa921_4c3391ab","line":33,"in_reply_to":"3a50d1a3_feb532ec","updated":"2015-10-08 20:42:38.000000000","message":"Done","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"}],"keystone/identity/core.py":[{"author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"change_message_id":"8bb387d4512871bfc294e5a4eb6e78999cf78008","unresolved":false,"context_lines":[{"line_number":41,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"MEMOIZE \u003d cache.get_memoization_decorator(CONF, common_cache.CACHE_REGION,"},{"line_number":44,"context_line":"                                          group\u003d\u0027identity\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"DOMAIN_CONF_FHEAD \u003d \u0027keystone.\u0027"},{"line_number":47,"context_line":"DOMAIN_CONF_FTAIL \u003d \u0027.conf\u0027"}],"source_content_type":"text/x-python","patch_set":28,"id":"7a2fa921_b7e8f017","line":44,"updated":"2015-10-13 03:55:37.000000000","message":"This is pretty repetitive. Let\u0027s create a get_memoization_decorator function in common_cache that defaults/sets these values.","commit_id":"7b611dd7a82b10a353bad69e307d470ee59cb55e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"e8b4d78f5c39b020c9387f4494689471bca20f8c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"MEMOIZE \u003d cache.get_memoization_decorator(CONF, common_cache.CACHE_REGION,"},{"line_number":44,"context_line":"                                          group\u003d\u0027identity\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"DOMAIN_CONF_FHEAD \u003d \u0027keystone.\u0027"},{"line_number":47,"context_line":"DOMAIN_CONF_FTAIL \u003d \u0027.conf\u0027"}],"source_content_type":"text/x-python","patch_set":28,"id":"5a2ca52d_8ac5648f","line":44,"in_reply_to":"7a2fa921_b7e8f017","updated":"2015-10-14 22:10:19.000000000","message":"Done","commit_id":"7b611dd7a82b10a353bad69e307d470ee59cb55e"}],"keystone/resource/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b33465c22bb589064b8319bd85d29d2fe6b03a9f","unresolved":false,"context_lines":[{"line_number":795,"context_line":"            raise exception.DomainNotFound(domain_id\u003ddomain_id)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"MEMOIZE_CONFIG \u003d cache.get_memoization_decorator(CONF, backends.CACHE_REGION,"},{"line_number":799,"context_line":"                                                 group\u003d\u0027domain_config\u0027)"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_48f21771","line":798,"updated":"2015-07-21 00:15:08.000000000","message":"common_cache","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59ae9c2df48f81f7e7ab8af345a879f13b1a6994","unresolved":false,"context_lines":[{"line_number":795,"context_line":"            raise exception.DomainNotFound(domain_id\u003ddomain_id)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":""},{"line_number":798,"context_line":"MEMOIZE_CONFIG \u003d cache.get_memoization_decorator(CONF, backends.CACHE_REGION,"},{"line_number":799,"context_line":"                                                 group\u003d\u0027domain_config\u0027)"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_7be8f810","line":798,"in_reply_to":"3a50d1a3_48f21771","updated":"2015-07-21 02:17:53.000000000","message":"Done","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"}],"keystone/server/common.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"78067250b0ac430e65e981d937fdaaafd028b940","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":"CACHE_REGION \u003d None"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def configure(version\u003dNone, config_files\u003dNone,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_77549220","line":24,"updated":"2015-07-20 22:33:01.000000000","message":"CACHE_REGION \u003d cache.create_region()","commit_id":"a921a8dcdb4a3ffed5f830e4e01b5e1c0bdcb122"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e4ae8ef0e6b1a3f0bc2ffc957d1e29ea1faa6e7e","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CONF \u003d cfg.CONF"},{"line_number":24,"context_line":"CACHE_REGION \u003d None"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"def configure(version\u003dNone, config_files\u003dNone,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_68f273d4","line":24,"in_reply_to":"3a50d1a3_77549220","updated":"2015-07-20 23:58:15.000000000","message":"Done","commit_id":"a921a8dcdb4a3ffed5f830e4e01b5e1c0bdcb122"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"78067250b0ac430e65e981d937fdaaafd028b940","unresolved":false,"context_lines":[{"line_number":50,"context_line":"def configure_cache():"},{"line_number":51,"context_line":"    # Configure and build the cache"},{"line_number":52,"context_line":"    global CACHE_REGION"},{"line_number":53,"context_line":"    CACHE_REGION \u003d cache.create_region()"},{"line_number":54,"context_line":"    cache.configure_cache_region(CONF, CACHE_REGION)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_1732ee10","line":53,"updated":"2015-07-20 22:33:01.000000000","message":"this must be done on import since it\u0027s referenced by other on-import things.","commit_id":"a921a8dcdb4a3ffed5f830e4e01b5e1c0bdcb122"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"e4ae8ef0e6b1a3f0bc2ffc957d1e29ea1faa6e7e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"def configure_cache():"},{"line_number":51,"context_line":"    # Configure and build the cache"},{"line_number":52,"context_line":"    global CACHE_REGION"},{"line_number":53,"context_line":"    CACHE_REGION \u003d cache.create_region()"},{"line_number":54,"context_line":"    cache.configure_cache_region(CONF, CACHE_REGION)"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a50d1a3_28bb0be7","line":53,"in_reply_to":"3a50d1a3_1732ee10","updated":"2015-07-20 23:58:15.000000000","message":"Done","commit_id":"a921a8dcdb4a3ffed5f830e4e01b5e1c0bdcb122"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b33465c22bb589064b8319bd85d29d2fe6b03a9f","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def configure_cache():"},{"line_number":50,"context_line":"    # Configure and build the cache"},{"line_number":51,"context_line":"    global CACHE_REGION"},{"line_number":52,"context_line":"    cache.configure_cache_region(CONF, CACHE_REGION)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_68fd9339","line":51,"updated":"2015-07-21 00:15:08.000000000","message":"remove this","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59ae9c2df48f81f7e7ab8af345a879f13b1a6994","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def configure_cache():"},{"line_number":50,"context_line":"    # Configure and build the cache"},{"line_number":51,"context_line":"    global CACHE_REGION"},{"line_number":52,"context_line":"    cache.configure_cache_region(CONF, CACHE_REGION)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_3b835058","line":51,"in_reply_to":"3a50d1a3_68fd9339","updated":"2015-07-21 02:17:53.000000000","message":"Done","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"}],"keystone/tests/unit/common/test_connection_pool.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"23717f786c62400b29bf92f742bf0f42e30c3880","unresolved":false,"context_lines":[{"line_number":14,"context_line":"import time"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"from oslo_cache import _memcache_pool"},{"line_number":18,"context_line":"import six"},{"line_number":19,"context_line":"from six.moves import queue"},{"line_number":20,"context_line":"import testtools"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_663dd4ba","line":17,"updated":"2015-06-26 19:08:28.000000000","message":"there should be a follow-on patch that doesn\u0027t do this since we shouldn\u0027t be importing private symbols.","commit_id":"90f6e2d1cc2f429a6cca8bd3aed36de28ded3255"}],"keystone/tests/unit/core.py":[{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"19222a92c143be9e27e7bbc76414d612dd3dccc9","unresolved":false,"context_lines":[{"line_number":284,"context_line":"            group\u003d\u0027cache\u0027,"},{"line_number":285,"context_line":"            backend\u003d\u0027dogpile.cache.memory\u0027,"},{"line_number":286,"context_line":"            enabled\u003dTrue,"},{"line_number":287,"context_line":"            proxies\u003d[\u0027keystone.tests.unit.test_cache.CacheIsolatingProxy\u0027])"},{"line_number":288,"context_line":"        self.config_fixture.config("},{"line_number":289,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":290,"context_line":"            driver\u003d\u0027templated\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba3cc151_ea74fb68","side":"PARENT","line":287,"updated":"2015-07-01 12:50:33.000000000","message":"the old value needs to still work.","commit_id":"9bf9d278cb7dfb4408499a3d8b5f88a33ef4a58e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"b33465c22bb589064b8319bd85d29d2fe6b03a9f","unresolved":false,"context_lines":[{"line_number":284,"context_line":"            group\u003d\u0027cache\u0027,"},{"line_number":285,"context_line":"            backend\u003d\u0027dogpile.cache.memory\u0027,"},{"line_number":286,"context_line":"            enabled\u003dTrue,"},{"line_number":287,"context_line":"            proxies\u003d[\u0027oslo_cache.tests.test_cache.CacheIsolatingProxy\u0027])"},{"line_number":288,"context_line":"        self.config_fixture.config("},{"line_number":289,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":290,"context_line":"            driver\u003d\u0027templated\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_887d7fb3","line":287,"updated":"2015-07-21 00:15:08.000000000","message":"this is referencing a private symbol.","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"59ae9c2df48f81f7e7ab8af345a879f13b1a6994","unresolved":false,"context_lines":[{"line_number":284,"context_line":"            group\u003d\u0027cache\u0027,"},{"line_number":285,"context_line":"            backend\u003d\u0027dogpile.cache.memory\u0027,"},{"line_number":286,"context_line":"            enabled\u003dTrue,"},{"line_number":287,"context_line":"            proxies\u003d[\u0027oslo_cache.tests.test_cache.CacheIsolatingProxy\u0027])"},{"line_number":288,"context_line":"        self.config_fixture.config("},{"line_number":289,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":290,"context_line":"            driver\u003d\u0027templated\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a50d1a3_3b3830a0","line":287,"in_reply_to":"3a50d1a3_887d7fb3","updated":"2015-07-21 02:17:53.000000000","message":"how is it private? and not really sure what i can do about it, aside from making it public in oslo.cache","commit_id":"7a085ff981072f8afb7ff00623e0d736635afc0e"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":284,"context_line":"            group\u003d\u0027cache\u0027,"},{"line_number":285,"context_line":"            backend\u003d\u0027dogpile.cache.memory\u0027,"},{"line_number":286,"context_line":"            enabled\u003dTrue,"},{"line_number":287,"context_line":"            proxies\u003d[\u0027oslo_cache.tests.test_cache.CacheIsolatingProxy\u0027])"},{"line_number":288,"context_line":"        self.config_fixture.config("},{"line_number":289,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":290,"context_line":"            driver\u003d\u0027templated\u0027,"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_9e70ae0c","line":287,"updated":"2015-07-23 14:35:46.000000000","message":"oslo_cache.tests isn\u0027t part of the public interface for oslo_cache. If applications have a use for it then this should be moved someplace public.\n\nI think it would be best to provide a fixture.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"9ec9358209a2f53eba84d6e65a03ebab5635e12e","unresolved":false,"context_lines":[{"line_number":411,"context_line":"            group\u003d\u0027cache\u0027,"},{"line_number":412,"context_line":"            backend\u003d\u0027dogpile.cache.memory\u0027,"},{"line_number":413,"context_line":"            enabled\u003dTrue,"},{"line_number":414,"context_line":"            proxies\u003d[\u0027oslo_cache.tests.test_cache.CacheIsolatingProxy\u0027])"},{"line_number":415,"context_line":"        self.config_fixture.config("},{"line_number":416,"context_line":"            group\u003d\u0027catalog\u0027,"},{"line_number":417,"context_line":"            driver\u003d\u0027templated\u0027,"}],"source_content_type":"text/x-python","patch_set":27,"id":"7a2fa921_ef581a33","line":414,"updated":"2015-10-09 19:59:10.000000000","message":"when 0.8.0 is release we can make this line:\n\n  oslo_cache.testing.CacheIsolatingProxy","commit_id":"1a8eaf4e7aaaab8a19b813351828bc7b73eda5fa"}],"keystone/tests/unit/ksfixtures/cache.py":[{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b9d871a346a97373502a85b35978c7ebe01ce54b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import fixtures"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_cache import core as cache"},{"line_number":17,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_022fbc88","line":14,"updated":"2015-07-08 09:01:42.000000000","message":"fixtures is third party lib.","commit_id":"202aac0b4182097a3822e969c0b3fb2d5ce65abc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fdb75479a4b1d85fd309cc0b53c5e26d494f2c04","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":12,"context_line":"# limitations under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import fixtures"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_cache import core as cache"},{"line_number":17,"context_line":"from oslo_config import cfg"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_eeee36ec","line":14,"in_reply_to":"ba3cc151_022fbc88","updated":"2015-07-08 13:48:00.000000000","message":"Done","commit_id":"202aac0b4182097a3822e969c0b3fb2d5ce65abc"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"b9d871a346a97373502a85b35978c7ebe01ce54b","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_cache import core as cache"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_9c3d7291","line":18,"updated":"2015-07-08 09:01:42.000000000","message":"need one more blank line here.","commit_id":"202aac0b4182097a3822e969c0b3fb2d5ce65abc"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"fdb75479a4b1d85fd309cc0b53c5e26d494f2c04","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_cache import core as cache"},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ba3cc151_aebb4ee4","line":18,"in_reply_to":"ba3cc151_9c3d7291","updated":"2015-07-08 13:48:00.000000000","message":"Done","commit_id":"202aac0b4182097a3822e969c0b3fb2d5ce65abc"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"77fd45f29a3063d738f5caddc8770b26f7c98993","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        # NOTE(morganfainberg):  The only way to reconfigure the CacheRegion"},{"line_number":35,"context_line":"        # object on each setUp() call is to remove the .backend property."},{"line_number":36,"context_line":"        if common_cache.CACHE_REGION.is_configured:"},{"line_number":37,"context_line":"            del common_cache.CACHE_REGION.backend"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # ensure the cache region instance is setup"}],"source_content_type":"text/x-python","patch_set":24,"id":"3a50d1a3_3ec2bae9","line":36,"updated":"2015-07-23 14:35:46.000000000","message":"we might also want to provide a test fixture for cache in general that cleans up after itself.","commit_id":"1cead34daf8544aca861c69ff772713c56dddb99"}]}
