)]}'
{"specs/juno/index.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0400db3bda40cc9a9c8da76711e3acc97426fd65","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Juno Specifications"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_e9bf10ce","line":2,"updated":"2014-07-14 20:02:39.000000000","message":"This looks like an accidental edit or bad merge?","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"8c7d358fc3dd011d1331f3e310e58fd786ba473e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Juno Specifications"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. toctree::"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_30ef6eeb","line":2,"in_reply_to":"baada198_e9bf10ce","updated":"2014-07-16 01:05:39.000000000","message":"Bad Merge, will revert.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"}],"specs/juno/oslo-cache-using-dogpile.rst":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2cd35ebb73dfcf2c6e9e5c02b577628e40c0ce38","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003chttps://git.openstack.org/cgit/openstack/oslo-incubator/openstack/common/"},{"line_number":73,"context_line":"cache\u003e`_"},{"line_number":74,"context_line":"would be replaced with an implementation that leverages ``dogpile.cache``"},{"line_number":75,"context_line":"library instead of a custom-built system."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with. The system will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_68942a43","line":75,"updated":"2014-06-03 18:26:00.000000000","message":"Will the API be different? Do we need to use a different name in the incubator to avoid collisions while people are porting to the new implementation?","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e1c1ce727e67196f60707c808f5cb202499ce7f5","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003chttps://git.openstack.org/cgit/openstack/oslo-incubator/openstack/common/"},{"line_number":73,"context_line":"cache\u003e`_"},{"line_number":74,"context_line":"would be replaced with an implementation that leverages ``dogpile.cache``"},{"line_number":75,"context_line":"library instead of a custom-built system."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with. The system will"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b0fa0741","line":75,"in_reply_to":"1ae5cdf2_68942a43","updated":"2014-06-04 05:35:03.000000000","message":"I\u0027ll do a spot check to see if anyone is using the current implementation. I would hope no one has gotten to it yet, but if it is used, i\u0027ll make sure this runs side-by-side without conflicts.","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2cd35ebb73dfcf2c6e9e5c02b577628e40c0ce38","unresolved":false,"context_lines":[{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with. The system will"},{"line_number":79,"context_line":"also include (optionally) cryptographic signing and/or full encryption of"},{"line_number":80,"context_line":"data stored in external services (e.g. Memcached)."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The Base backends that will be supported are:"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_0881e6fa","line":80,"updated":"2014-06-03 18:26:00.000000000","message":"Signing and encrypting is an interesting option here. We don\u0027t do that with the database. Why do we need that for the cache?","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e1c1ce727e67196f60707c808f5cb202499ce7f5","unresolved":false,"context_lines":[{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with. The system will"},{"line_number":79,"context_line":"also include (optionally) cryptographic signing and/or full encryption of"},{"line_number":80,"context_line":"data stored in external services (e.g. Memcached)."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The Base backends that will be supported are:"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_f0656f1e","line":80,"in_reply_to":"1ae5cdf2_0881e6fa","updated":"2014-06-04 05:35:03.000000000","message":"The DB is in theory secured at the DB level (e.g. credentials for the DB), often times memcache (and similar) clusters are shared among many applications. While access to the service can be secured, often once authenticated it is possible to modify any/all values.\n\nThis is to allow us to keep the memcache_crypt functionality in auth_token middleware (which is heavily used) and convert over to dogpile.cache.\n\nI\u0027ll add a little more clarification here.","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2cd35ebb73dfcf2c6e9e5c02b577628e40c0ce38","unresolved":false,"context_lines":[{"line_number":109,"context_line":"it requires specific knowledge of the various (or OpenStack specific) caching"},{"line_number":110,"context_line":"system to implement a custom backend. With ``dogpile.cache`` it is possible to"},{"line_number":111,"context_line":"implement a very simple backend and configure it for use with all OpenStack"},{"line_number":112,"context_line":"services that make use of the ``oslocache`` module."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Impact on Existing APIs"},{"line_number":115,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_68d0aaf6","line":112,"updated":"2014-06-03 18:26:00.000000000","message":"Would the oslocache be a module to help configure dogpile, or would it include something that wraps dogpile for runtime use?","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e1c1ce727e67196f60707c808f5cb202499ce7f5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"it requires specific knowledge of the various (or OpenStack specific) caching"},{"line_number":110,"context_line":"system to implement a custom backend. With ``dogpile.cache`` it is possible to"},{"line_number":111,"context_line":"implement a very simple backend and configure it for use with all OpenStack"},{"line_number":112,"context_line":"services that make use of the ``oslocache`` module."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Impact on Existing APIs"},{"line_number":115,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_70279fca","line":112,"in_reply_to":"1ae5cdf2_68d0aaf6","updated":"2014-06-04 05:35:03.000000000","message":"oslocache would do 3 things (I\u0027ll clarify in the next patchset):\n\n* Provide configuration\n\n* Provide some run-time wrapping on the more raw bits of dogpile that don\u0027t make sense to fix upstream. (e.g. wrapping the @cache_on_arguments decorator [memoization] to not raise an exception if the region is not configured). In most cases by the time you get to the memoization part, you would already have created the python-object Cache Region (which controls all interactions through dogpile).\n\n* Stevedore loading of the backend modules instead of direct import. (I plan on discussing this with upstream, but it isn\u0027t a guarantee to be accepted).","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2cd35ebb73dfcf2c6e9e5c02b577628e40c0ce38","unresolved":false,"context_lines":[{"line_number":184,"context_line":"  decorators)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Implement cryptographic signing and encryption mechanisms for validating and"},{"line_number":187,"context_line":"  securing the data stored in the cache."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":190,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_c8c9be27","line":187,"updated":"2014-06-03 18:26:00.000000000","message":"Would it make sense to have this as a separate blueprint, and get something basic working without blocking on it?","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e1c1ce727e67196f60707c808f5cb202499ce7f5","unresolved":false,"context_lines":[{"line_number":184,"context_line":"  decorators)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Implement cryptographic signing and encryption mechanisms for validating and"},{"line_number":187,"context_line":"  securing the data stored in the cache."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":190,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b02da7aa","line":187,"in_reply_to":"1ae5cdf2_c8c9be27","updated":"2014-06-04 05:35:03.000000000","message":"I\u0027ll split this out separately. Yes, it should be separate.","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"2cd35ebb73dfcf2c6e9e5c02b577628e40c0ce38","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Library"},{"line_number":215,"context_line":"-------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"The Library will graduate into a top-level ``oslocache`` library."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Anticipated API Stabilization"},{"line_number":220,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_08d006c8","line":217,"updated":"2014-06-03 18:26:00.000000000","message":"I think we would want it to be oslo.cache, based on the naming rules we usually follow.","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"e1c1ce727e67196f60707c808f5cb202499ce7f5","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Library"},{"line_number":215,"context_line":"-------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"The Library will graduate into a top-level ``oslocache`` library."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Anticipated API Stabilization"},{"line_number":220,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_f01acf7b","line":217,"in_reply_to":"1ae5cdf2_08d006c8","updated":"2014-06-04 05:35:03.000000000","message":"++ oslo.cache it is","commit_id":"6a438ec0e97697d36aedbaddcb20486cfd0b0804"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"07b0b9a9c7c587cfc98ce995daa383f554a6c825","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Currently the various OpenStack projects implement caching (memoization,"},{"line_number":33,"context_line":"key-value-store, etc) in a number of various ways. All of the mechanisms for"},{"line_number":34,"context_line":"caching should be unified under a single Oslo library ``oslocache``."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Problem description"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_d6582633","line":34,"updated":"2014-06-13 16:57:33.000000000","message":"I think it would be oslo.cache because it\u0027s a runtime dep, but since this isn\u0027t a graduation I\u0027m not too concerned about it.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Currently the various OpenStack projects implement caching (memoization,"},{"line_number":33,"context_line":"key-value-store, etc) in a number of various ways. All of the mechanisms for"},{"line_number":34,"context_line":"caching should be unified under a single Oslo library ``oslocache``."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Problem description"},{"line_number":37,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_a4ff2b33","line":34,"in_reply_to":"1ae5cdf2_d6582633","updated":"2014-07-12 23:35:31.000000000","message":"Done","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"0bd1167048498df11639ffec19b3dda02fe9e55b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"would be replaced with an implementation that leverages ``dogpile.cache``"},{"line_number":75,"context_line":"library instead of a custom-built system."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The Base backends that will be supported are:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_eb44c675","line":77,"updated":"2014-06-11 00:48:08.000000000","message":"mechianism -\u003e mechanism","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":74,"context_line":"would be replaced with an implementation that leverages ``dogpile.cache``"},{"line_number":75,"context_line":"library instead of a custom-built system."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"This new implementation will provide a mechianism to handle key-value-store"},{"line_number":78,"context_line":"(e.g. traditional Memcached) and memoization to begin with."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The Base backends that will be supported are:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_c4f89f4c","line":77,"in_reply_to":"1ae5cdf2_eb44c675","updated":"2014-07-12 23:35:31.000000000","message":"Done","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"eee88568d60ea2586c45694049eeb47ea09fcce1","unresolved":false,"context_lines":[{"line_number":94,"context_line":"* MongoDB"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"The ``oslocache`` module is indented to provide 3 distinct features above"},{"line_number":98,"context_line":"and beyond raw use of ``dogpile.cache``:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* OpenStack style configuration of ``dogpile.cache``. It is not expected that"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_c0c72e63","line":97,"updated":"2014-06-09 14:54:26.000000000","message":"\"indented\" -\u003e \"intended\"","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":94,"context_line":"* MongoDB"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"The ``oslocache`` module is indented to provide 3 distinct features above"},{"line_number":98,"context_line":"and beyond raw use of ``dogpile.cache``:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"* OpenStack style configuration of ``dogpile.cache``. It is not expected that"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_e4f5a351","line":97,"in_reply_to":"1ae5cdf2_c0c72e63","updated":"2014-07-12 23:35:31.000000000","message":"Done","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"577caeaaccfb7cd649eeda06b091793d229c9d5d","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Wrappers around the memoization decorators to allow for cleaner handling of"},{"line_number":106,"context_line":"  disabled caching. Some of the decorators within ``dogpile.cache`` expect"},{"line_number":107,"context_line":"  configuration to be complete before use. It is genuinely beneficial to"},{"line_number":108,"context_line":"  enforce this in some use-cases of the library. The OpenStack decorator(s)"},{"line_number":109,"context_line":"  will have a little bit of extra logic to help handle the harder-enforcement"},{"line_number":110,"context_line":"  of configuration requirements that are appropriate in the general purpose"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_f0fa8abb","line":107,"updated":"2014-06-13 16:41:29.000000000","message":"The CacheRegion object was designed with this case in mind, so to the extent that it needs more functionality, I\u0027d like to be liberal in upstream enhancement consideration.   CacheRegion has a two-step configuration process.  The constructor receives only a few arguments that are all specific to how the region will be used in Python; the arguments are pretty much all callables that are mostly involved with generating cache keys.  At that stage, the CacheRegion is a first class Python object and the decorators are available.   The second step is that the .configure() method is called, that\u0027s where most everything else happens, including selection of backend and backend configuration.  This whole thing was a key design goal so if it\u0027s lacking, I\u0027d like to fix it.\n\nWe have a PR ready to go at https://bitbucket.org/zzzeek/dogpile.cache/pull-request/18/add-dummy-cache-backend/diff that adds a \"dummy\" backend, which effectively is a \"disable caching\" backend, so I think this case is suited.\n\nOverall, dogpile\u0027s goal is that the decorators should be very high functioning without additional wrapping, so while dogpile wouldn\u0027t have any \"oslo.config\" dependencies directly, its goal is to support these use cases so we should feel free to emphasize upstream improvements in order to suit the new system.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"914c6556c21640244890c1fb220d4d6fdc7d9134","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Wrappers around the memoization decorators to allow for cleaner handling of"},{"line_number":106,"context_line":"  disabled caching. Some of the decorators within ``dogpile.cache`` expect"},{"line_number":107,"context_line":"  configuration to be complete before use. It is genuinely beneficial to"},{"line_number":108,"context_line":"  enforce this in some use-cases of the library. The OpenStack decorator(s)"},{"line_number":109,"context_line":"  will have a little bit of extra logic to help handle the harder-enforcement"},{"line_number":110,"context_line":"  of configuration requirements that are appropriate in the general purpose"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_f39fef4d","line":107,"in_reply_to":"1ae5cdf2_f0fa8abb","updated":"2014-06-13 18:57:46.000000000","message":"Good to know, then I know what needs to be submitted to dogpile instead of here.\n\nThanks for the comments! This helps a lot.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"577caeaaccfb7cd649eeda06b091793d229c9d5d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  explored with the upstream library, but (at least in the near term) the"},{"line_number":115,"context_line":"  entry-point based loading and backend lookup will likely reside within"},{"line_number":116,"context_line":"  the ``oslocache`` module."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Each project that implements either it\u0027s own version of caching using"},{"line_number":120,"context_line":"``dogpile.cache`` or other implementations of caching will be converted to use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_163e0eb8","line":117,"updated":"2014-06-13 16:41:29.000000000","message":"There\u0027s two approaches here; the more rudimental, if you pass the CacheRegion to the config system, it can then call upon region.configure(\u003cwhatever\u003e) to set up the backend as needed, at any time.  For more dramatic interventions we have a ProxyBackend (see https://bitbucket.org/zzzeek/dogpile.cache/src/30685d06840e18f28e7c88d1bc251e7e5e8a130d/dogpile/cache/proxy.py?at\u003dmaster), which can be used to provide virtually any kind of configurational or behavioral sequence, including anything mentioned earlier about disabling caching, etc.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"914c6556c21640244890c1fb220d4d6fdc7d9134","unresolved":false,"context_lines":[{"line_number":114,"context_line":"  explored with the upstream library, but (at least in the near term) the"},{"line_number":115,"context_line":"  entry-point based loading and backend lookup will likely reside within"},{"line_number":116,"context_line":"  the ``oslocache`` module."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Each project that implements either it\u0027s own version of caching using"},{"line_number":120,"context_line":"``dogpile.cache`` or other implementations of caching will be converted to use"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_33a6b7ab","line":117,"in_reply_to":"1ae5cdf2_163e0eb8","updated":"2014-06-13 18:57:46.000000000","message":"++ yep.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"07b0b9a9c7c587cfc98ce995daa383f554a6c825","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"The current ``oslocache`` module will remain available but be marked as"},{"line_number":142,"context_line":"deprecated. The new ``oslocache`` implementation will be provided side-by-side"},{"line_number":143,"context_line":"for a period of time to allow time for any current consumers of ``oslocache``"},{"line_number":144,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_36530ae3","line":143,"updated":"2014-06-13 16:57:33.000000000","message":"Yikes, do we have consumers of the current module?  That\u0027s a little scary given that it\u0027s only the basic in-memory implementation right now, which isn\u0027t production-ready.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"914c6556c21640244890c1fb220d4d6fdc7d9134","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"The current ``oslocache`` module will remain available but be marked as"},{"line_number":142,"context_line":"deprecated. The new ``oslocache`` implementation will be provided side-by-side"},{"line_number":143,"context_line":"for a period of time to allow time for any current consumers of ``oslocache``"},{"line_number":144,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_93aeab7f","line":143,"in_reply_to":"1ae5cdf2_36530ae3","updated":"2014-06-13 18:57:46.000000000","message":"I really hope not, but to be sure, i wont remove it / will retrofit it. Someone might be using it...lets not rip the rug out from under them (also mark it with the @deprecated stuff)","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"The current ``oslocache`` module will remain available but be marked as"},{"line_number":142,"context_line":"deprecated. The new ``oslocache`` implementation will be provided side-by-side"},{"line_number":143,"context_line":"for a period of time to allow time for any current consumers of ``oslocache``"},{"line_number":144,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_24507b31","line":143,"in_reply_to":"1ae5cdf2_489dc056","updated":"2014-07-12 23:35:31.000000000","message":"The API will change, but i\u0027ll provide a transition layer and help Marconi update to the new API with the (planned) rich configuration featursets.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"ed623f9c124083326d62b9e4b602eab05bc305f9","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"The current ``oslocache`` module will remain available but be marked as"},{"line_number":142,"context_line":"deprecated. The new ``oslocache`` implementation will be provided side-by-side"},{"line_number":143,"context_line":"for a period of time to allow time for any current consumers of ``oslocache``"},{"line_number":144,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_489dc056","line":143,"in_reply_to":"1ae5cdf2_93aeab7f","updated":"2014-06-18 09:05:55.000000000","message":"Marconi is using oslo.cache. If the API remains the same, I don\u0027t think it\u0027ll be an issue.\n\nI think there are some calls that we can get rid of. `append_tails` for example. This kind of more specific \"features\" can be added later on based on project\u0027s needs.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"577caeaaccfb7cd649eeda06b091793d229c9d5d","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  Morgan Fainberg \u003cmdrnstm\u003e"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Other contributors:"},{"line_number":195,"context_line":"  TBD"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Milestones"},{"line_number":198,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_f697e28d","line":195,"updated":"2014-06-13 16:41:29.000000000","message":"I\u0027d like to be a contributor.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"ed623f9c124083326d62b9e4b602eab05bc305f9","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  Morgan Fainberg \u003cmdrnstm\u003e"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Other contributors:"},{"line_number":195,"context_line":"  TBD"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Milestones"},{"line_number":198,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_e80bec7a","line":195,"in_reply_to":"1ae5cdf2_b3b1e7e1","updated":"2014-06-18 09:05:55.000000000","message":"You can also add me. I worked on the original implementation and I\u0027d like to follow this one too.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  Morgan Fainberg \u003cmdrnstm\u003e"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Other contributors:"},{"line_number":195,"context_line":"  TBD"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Milestones"},{"line_number":198,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_c4541f24","line":195,"in_reply_to":"1ae5cdf2_e80bec7a","updated":"2014-07-12 23:35:31.000000000","message":"Done","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"914c6556c21640244890c1fb220d4d6fdc7d9134","unresolved":false,"context_lines":[{"line_number":192,"context_line":"  Morgan Fainberg \u003cmdrnstm\u003e"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Other contributors:"},{"line_number":195,"context_line":"  TBD"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"Milestones"},{"line_number":198,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_b3b1e7e1","line":195,"in_reply_to":"1ae5cdf2_f697e28d","updated":"2014-06-13 18:57:46.000000000","message":"In next patch, will add you! Thanks!!!","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"07b0b9a9c7c587cfc98ce995daa383f554a6c825","unresolved":false,"context_lines":[{"line_number":240,"context_line":"Library"},{"line_number":241,"context_line":"-------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The Library will graduate into a top-level ``oslo.cache`` library."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Anticipated API Stabilization"},{"line_number":246,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_36d94a22","line":243,"updated":"2014-06-13 16:57:33.000000000","message":"Okay, so this takes care of my earlier comment. :-)","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"6cf8190504cd27b57e80b8ffd857e7e4b2993a28","unresolved":false,"context_lines":[{"line_number":240,"context_line":"Library"},{"line_number":241,"context_line":"-------"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"The Library will graduate into a top-level ``oslo.cache`` library."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Anticipated API Stabilization"},{"line_number":246,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_e4512331","line":243,"in_reply_to":"1ae5cdf2_36d94a22","updated":"2014-07-12 23:35:31.000000000","message":"I updated the name throughout the document.","commit_id":"4745de326dc6b0c1bbdf489e47ae5c06ed620db5"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"57e3d14b0763979563a1f971e2bce87279aaa164","unresolved":false,"context_lines":[{"line_number":79,"context_line":"This new implementation will provide a mechanism to handle key-value-store"},{"line_number":80,"context_line":"(e.g. traditional Memcached) and memoization to begin with."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The Base backends that will be supported are:"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* Memcached"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_3a889270","line":82,"updated":"2014-07-13 05:05:07.000000000","message":"These different backends likely have different capabilities in what they can store correctly. Memcache for example can only have up to 1MB keys, other caching systems can have more. How will oslo.cache (or dogpile?) handle this, someone may go from storing objects in the memory-cache and then only realize later they can\u0027t switch to other backends due to the fact that raw objects can\u0027t be stored in them...","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2976928806978a6e11177cce19cb791cb3a3f496","unresolved":false,"context_lines":[{"line_number":79,"context_line":"This new implementation will provide a mechanism to handle key-value-store"},{"line_number":80,"context_line":"(e.g. traditional Memcached) and memoization to begin with."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The Base backends that will be supported are:"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* Memcached"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_fa19bad1","line":82,"in_reply_to":"baada198_3a889270","updated":"2014-07-13 06:18:50.000000000","message":"The consumers of the library will need to be aware (if relevant) of the backends they wish to support. We can\u0027t solve 100% of deployment / deployer related issues, only document. In most cases (all current cases?), the profile of what we are storing should/will not exceed the least featureful/capable which is Memcached. It should be easy to document and let the consumers of the library determine what their datasets will entail and what backends they document as being viable.\n\nThe \u003e 1MB page limit is a runtime option of the memcached server, which can be alleviated by restarting memcached with other options.\n\nThe Key-size limit is handled by the key_mangler (key size is much smaller limit than value size limit) which does hashing to ensure a fixed (known good) size key.\n\nFrom the Key-Value-Store perspective, we will need to simply document that using it for excessively large data sets could cause issues (the kvs use-case is still typically a cache-implementation, just not a memoization implementation).\n\nThe in-memory (dict-based) cache should probably _never_ be used. It has a number of limitations and issues that simply make it a bad choice in almost every scenario. It is sufficient for testing / POC but is a poor choice for a real production system.\n\n[Ack this response ended up a bit long-winded, sorry!]\n\nTL;DR, we document (see comment below).","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"57e3d14b0763979563a1f971e2bce87279aaa164","unresolved":false,"context_lines":[{"line_number":104,"context_line":"The ``oslo.cache`` module is intended to provide 3 distinct features above"},{"line_number":105,"context_line":"and beyond raw use of ``dogpile.cache``:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* OpenStack style configuration of ``dogpile.cache``. It is not expected that"},{"line_number":108,"context_line":"  ``dogpile.cache`` would accept patches that include ``oslo.config`` as the"},{"line_number":109,"context_line":"  basis. Use of ``oslo.config`` would not be appropriate in the case of"},{"line_number":110,"context_line":"  a more general-purpose library such as ``dogpile.cache``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_9a96fe92","line":107,"updated":"2014-07-13 05:05:07.000000000","message":"So if I want to use the in-memory cache but I don\u0027t want to depend on oslo.config how would that be possible? Would all the backends listed above be avaiable in dogpile itself? Then oslo.cache is just a tiny configuration/helper module that translates oslo.config values into dogpile objects? Is that the idea?","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2976928806978a6e11177cce19cb791cb3a3f496","unresolved":false,"context_lines":[{"line_number":104,"context_line":"The ``oslo.cache`` module is intended to provide 3 distinct features above"},{"line_number":105,"context_line":"and beyond raw use of ``dogpile.cache``:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* OpenStack style configuration of ``dogpile.cache``. It is not expected that"},{"line_number":108,"context_line":"  ``dogpile.cache`` would accept patches that include ``oslo.config`` as the"},{"line_number":109,"context_line":"  basis. Use of ``oslo.config`` would not be appropriate in the case of"},{"line_number":110,"context_line":"  a more general-purpose library such as ``dogpile.cache``."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_9a6d1e35","line":107,"in_reply_to":"baada198_9a96fe92","updated":"2014-07-13 06:18:50.000000000","message":"Correct. This is the helper-library to make it easier to consume dogpile.cache in a consistent way and configure in a consistent way. This is meant to be openstack-specific. If a non-oslo based system is desired, I would recommend using dogpile.cache directly.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0400db3bda40cc9a9c8da76711e3acc97426fd65","unresolved":false,"context_lines":[{"line_number":152,"context_line":"The current ``oslo.cache`` module will remain available but be marked as"},{"line_number":153,"context_line":"deprecated. The new ``oslo.cache`` implementation will be provided side-by-side"},{"line_number":154,"context_line":"for a period of time to allow time for any current consumers of ``oslo.cache``"},{"line_number":155,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Security impact"},{"line_number":158,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_899134f3","line":155,"updated":"2014-07-14 20:02:39.000000000","message":"Will any part of the dogpile.cache package be exposed through oslo.cache, or will an application developer need to use oslo.cache to set up the cache and then dogpile APIs to use it?","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"8c7d358fc3dd011d1331f3e310e58fd786ba473e","unresolved":false,"context_lines":[{"line_number":152,"context_line":"The current ``oslo.cache`` module will remain available but be marked as"},{"line_number":153,"context_line":"deprecated. The new ``oslo.cache`` implementation will be provided side-by-side"},{"line_number":154,"context_line":"for a period of time to allow time for any current consumers of ``oslo.cache``"},{"line_number":155,"context_line":"to change-over to the ``dogpile.cache`` based implementation."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Security impact"},{"line_number":158,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_b0b29e04","line":155,"in_reply_to":"baada198_899134f3","updated":"2014-07-16 01:05:39.000000000","message":"I was envisioning a simple-ish constructor that passed through the configuration from oslo.cache. So the interface would be 100% via oslo.cache (for convenience).\n\nThere would be the option to receive the configuration dict and pass that to dogpile directly if the developer *knows* what they are doing.\n\nI can expand that info if needed.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"57e3d14b0763979563a1f971e2bce87279aaa164","unresolved":false,"context_lines":[{"line_number":185,"context_line":"----------------"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Developers will need to become familiar with ``dogpile.cache`` and how to"},{"line_number":188,"context_line":"implement usage of memoization and/or key-value-store regions."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Implementation"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_9add1e73","line":188,"updated":"2014-07-13 05:05:07.000000000","message":"Whats the saying:\n\n\"\"\"\nThere are only two hard things in Computer Science: cache invalidation and naming things.\n\"\"\"","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2976928806978a6e11177cce19cb791cb3a3f496","unresolved":false,"context_lines":[{"line_number":185,"context_line":"----------------"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Developers will need to become familiar with ``dogpile.cache`` and how to"},{"line_number":188,"context_line":"implement usage of memoization and/or key-value-store regions."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Implementation"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ba6ae217","line":188,"in_reply_to":"baada198_9add1e73","updated":"2014-07-13 06:18:50.000000000","message":"Yep. But we can\u0027t solve that problem, we can just make the decision to use caching available :).\n\nAnd i always heard it as \"cache coherency and naming things\"","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"0400db3bda40cc9a9c8da76711e3acc97426fd65","unresolved":false,"context_lines":[{"line_number":222,"context_line":"  decorators)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":225,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* Ensure design allows for future expansion into cryptographic signing and/or"},{"line_number":228,"context_line":"  encryption of data stored within the key-value-store backend."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_e94f1090","line":225,"updated":"2014-07-14 20:02:39.000000000","message":"It\u0027s not clear this is needed. If dogpile has some way to specify the cache backends, we could just use that. stevedore is meant more for building our own plugin systems, and doesn\u0027t have to replace existing systems in third-party dependencies.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"8c7d358fc3dd011d1331f3e310e58fd786ba473e","unresolved":false,"context_lines":[{"line_number":222,"context_line":"  decorators)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":225,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* Ensure design allows for future expansion into cryptographic signing and/or"},{"line_number":228,"context_line":"  encryption of data stored within the key-value-store backend."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_30c68e69","line":225,"in_reply_to":"baada198_e94f1090","updated":"2014-07-16 01:05:39.000000000","message":"Will remove in next patch.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"57e3d14b0763979563a1f971e2bce87279aaa164","unresolved":false,"context_lines":[{"line_number":224,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":225,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* Ensure design allows for future expansion into cryptographic signing and/or"},{"line_number":228,"context_line":"  encryption of data stored within the key-value-store backend."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_da8cf682","line":227,"updated":"2014-07-13 05:05:07.000000000","message":"This should be done in dogpile right? not in oslo.cache. I doubt openstack is the only project that wants this feature.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2976928806978a6e11177cce19cb791cb3a3f496","unresolved":false,"context_lines":[{"line_number":224,"context_line":"* Provide Stevedore loading of any/all ``dogpile.cache`` backends and entry"},{"line_number":225,"context_line":"  point standardization for 3rd-party (out-of-tree) backends."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"* Ensure design allows for future expansion into cryptographic signing and/or"},{"line_number":228,"context_line":"  encryption of data stored within the key-value-store backend."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_fa70da09","line":227,"in_reply_to":"baada198_da8cf682","updated":"2014-07-13 06:18:50.000000000","message":"Dogpile already has a mechanism to handle this, it is a question of submitting the specific crypto work upstream or maintain our own tightly-coupled-to-openstack method. This is something I would be discussing with Michael Bayer as development continues. (Crypto work is slated to be a separate spec as it needs more dedicated security eyes on it).","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"57e3d14b0763979563a1f971e2bce87279aaa164","unresolved":false,"context_lines":[{"line_number":267,"context_line":"* Documentation on configuring the cache region will be required."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"* Developer documentation on implementing key-value-store and memoization"},{"line_number":270,"context_line":"  within an OpenStack project will be needed."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Dependencies"},{"line_number":273,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_3aefb21f","line":270,"updated":"2014-07-13 05:05:07.000000000","message":"I\u0027d also like a section on what type of backend to use and which backends are good for what things and what they are not good for. The backends are not 1:1 transferable (I can\u0027t use memory-cache and the just expect memcache to work) due to how the actual backends operate (and the restrictions they have) so it would be great to have a \u0027how-to\u0027 kind of guide as well.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"2976928806978a6e11177cce19cb791cb3a3f496","unresolved":false,"context_lines":[{"line_number":267,"context_line":"* Documentation on configuring the cache region will be required."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"* Developer documentation on implementing key-value-store and memoization"},{"line_number":270,"context_line":"  within an OpenStack project will be needed."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Dependencies"},{"line_number":273,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_9a543e55","line":270,"in_reply_to":"baada198_3aefb21f","updated":"2014-07-13 06:18:50.000000000","message":"I assumed that would be part of this documentation, similar to what we have in Keystone but expanded. If you want a specific bullet point here to remove the -1, i am happy to oblige.","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"afd08307a2183b7beced782d0e8e5f640b5f0869","unresolved":false,"context_lines":[{"line_number":267,"context_line":"* Documentation on configuring the cache region will be required."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"* Developer documentation on implementing key-value-store and memoization"},{"line_number":270,"context_line":"  within an OpenStack project will be needed."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"Dependencies"},{"line_number":273,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_59455141","line":270,"in_reply_to":"baada198_9a543e55","updated":"2014-07-13 15:55:04.000000000","message":"Will remove -1; seems like we are all on the same page. Thanks :)","commit_id":"94e86f3763f0bd493e58652774548ccc5e90b437"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"1478513a388fab28b5bd8c2744dd2b62b27ab55a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Assignee(s)"},{"line_number":198,"context_line":"-----------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Who is leading the writing of the code? Or is this a blueprint where you\u0027re"},{"line_number":201,"context_line":"throwing it out there to see who picks it up?"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"If more than one person is working on the implementation, please designate the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_0e9ebb07","line":200,"updated":"2014-07-16 12:13:19.000000000","message":"you can get rid of these paragraphs","commit_id":"5030081a105cb9c15f04de34b5ad876434cd58a9"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"474e814440972eb2a0f190dfd811486172fc6ace","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Assignee(s)"},{"line_number":198,"context_line":"-----------"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Who is leading the writing of the code? Or is this a blueprint where you\u0027re"},{"line_number":201,"context_line":"throwing it out there to see who picks it up?"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"If more than one person is working on the implementation, please designate the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_2a5c444c","line":200,"in_reply_to":"baada198_0e9ebb07","updated":"2014-07-16 14:38:31.000000000","message":"Sure! Let me remove them in the next patch.\n\nMaybe these should be converted over to a RST comment instead of full-text so they can be left in and not make the spec hard to read when rendered.","commit_id":"5030081a105cb9c15f04de34b5ad876434cd58a9"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"81a191b12007ac5c57b84b850dec539944bdd255","unresolved":false,"context_lines":[{"line_number":1,"context_line":".."},{"line_number":2,"context_line":"  This template should be in ReSTructured text.  For help with syntax,"},{"line_number":3,"context_line":"  see http://sphinx-doc.org/rest.html"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  To test out your formatting, build the docs using tox, or see:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7ac7a964_cfa7504e","line":2,"updated":"2014-08-15 20:10:16.000000000","message":"Nit: Template boilerplate","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"7d0bfa9b9158f78fb50d62c6a6d6b78ace927613","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  supported at the time of implementation. If the backend is not accepted"},{"line_number":100,"context_line":"  by the ``dogpile.cache`` library, it will be maintained in the"},{"line_number":101,"context_line":"  to-be-determined method of maintaining OpenStack specific backend modules."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The ``oslo.cache`` module is intended to provide 3 distinct features above"},{"line_number":105,"context_line":"and beyond raw use of ``dogpile.cache``:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"baada198_d7becfad","line":102,"updated":"2014-07-17 18:54:29.000000000","message":"+1.   a mongodb backend, well I\u0027d have to see it.  if it\u0027s totally uncontroversial then sure.  though I don\u0027t have the resources to run CI for it, so in that sense having it on the OS side is a plus.","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"81a191b12007ac5c57b84b850dec539944bdd255","unresolved":false,"context_lines":[{"line_number":173,"context_line":"is implemented."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"It is likely ``dogpile.cache`` will have a better performance profile than"},{"line_number":176,"context_line":"the current ``MemoryCache`` module."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Configuration Impact"},{"line_number":179,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7ac7a964_ddfd263d","line":176,"updated":"2014-08-15 20:10:16.000000000","message":"I would certainly hope so. :-)","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"d633318ea55850184ccbf764f6031f0b34a55b2a","unresolved":false,"context_lines":[{"line_number":208,"context_line":"----------"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Target Milestone for completion:"},{"line_number":211,"context_line":"  Juno-3"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"baada198_c5a499bb","line":211,"updated":"2014-07-16 14:48:19.000000000","message":"I do not think this is a reasonable expectation anymore. I cannot commit to hitting this target, If I\u0027m doing the majority of the work, I\u0027m thinking this is more likely a K1 or K2 target now.","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"fe797bd8570794b84912c54d3c47834f1939d0be","unresolved":false,"context_lines":[{"line_number":208,"context_line":"----------"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Target Milestone for completion:"},{"line_number":211,"context_line":"  Juno-3"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"baada198_a94f7fbd","line":211,"in_reply_to":"baada198_201e230e","updated":"2014-07-16 15:55:39.000000000","message":"++","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"9a454f5fff3df1d8c46ec70a9fb338a963472ddc","unresolved":false,"context_lines":[{"line_number":208,"context_line":"----------"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Target Milestone for completion:"},{"line_number":211,"context_line":"  Juno-3"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"baada198_201e230e","line":211,"in_reply_to":"baada198_c5a499bb","updated":"2014-07-16 15:07:24.000000000","message":"I think that\u0027s a realistic assessment. Let\u0027s continue the conversation, and when approval is granted we can just wait to merge until we have a name for the K release (that should be this week).","commit_id":"6c0aa61279fb493209291f567d9e09b3c3865e23"}]}
