)]}'
{"specs/liberty/glance-store-refactor.rst":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The current API is basically based on public functions that need to be called"},{"line_number":25,"context_line":"to do everything - from registering stores, to deleting images from stores."},{"line_number":26,"context_line":"This abstraction leaks many internal details that users of this libraries"},{"line_number":27,"context_line":"shouldn\u0027t care about. Furthermore, they shouldn\u0027t, by any means, use this"},{"line_number":28,"context_line":"leaked abstractions."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_dce4533d","line":26,"updated":"2015-07-08 11:55:10.000000000","message":"\"this library\"","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"The current API is basically based on public functions that need to be called"},{"line_number":25,"context_line":"to do everything - from registering stores, to deleting images from stores."},{"line_number":26,"context_line":"This abstraction leaks many internal details that users of this libraries"},{"line_number":27,"context_line":"shouldn\u0027t care about. Furthermore, they shouldn\u0027t, by any means, use this"},{"line_number":28,"context_line":"leaked abstractions."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_fdd45520","line":26,"in_reply_to":"ba3cc151_dce4533d","updated":"2015-08-04 09:50:04.000000000","message":"Done","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"The current API is basically based on public functions that need to be called"},{"line_number":25,"context_line":"to do everything - from registering stores, to deleting images from stores."},{"line_number":26,"context_line":"This abstraction leaks many internal details that users of this libraries"},{"line_number":27,"context_line":"shouldn\u0027t care about. Furthermore, they shouldn\u0027t, by any means, use this"},{"line_number":28,"context_line":"leaked abstractions."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"While what has been said above may/may not be bad depending on the context, it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_5cc7e397","line":27,"updated":"2015-07-08 11:55:10.000000000","message":"\"Furthermore, they shoudn\u0027t by any means use these\" or \"Furthermore, they should by no means use these\" Either way, too many commas and need of plural this.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"The current API is basically based on public functions that need to be called"},{"line_number":25,"context_line":"to do everything - from registering stores, to deleting images from stores."},{"line_number":26,"context_line":"This abstraction leaks many internal details that users of this libraries"},{"line_number":27,"context_line":"shouldn\u0027t care about. Furthermore, they shouldn\u0027t, by any means, use this"},{"line_number":28,"context_line":"leaked abstractions."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"While what has been said above may/may not be bad depending on the context, it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_1dd82152","line":27,"in_reply_to":"ba3cc151_5cc7e397","updated":"2015-08-04 09:50:04.000000000","message":"Done","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"While what has been said above may/may not be bad depending on the context, it"},{"line_number":31,"context_line":"does makes the usage of this library hard and it prevents new features from"},{"line_number":32,"context_line":"being developed - Copy on Writes, for example."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_fa4b7b29","line":32,"updated":"2015-07-07 19:02:53.000000000","message":"We do not need to consider the case of copy on writes for this refactor implementation.\n\nIf you want to mention a specific feature that needs this refactor you should define it in brief to better understand why we really need such refactor. What\u0027s blocking such features and how this new API would help.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"While what has been said above may/may not be bad depending on the context, it"},{"line_number":31,"context_line":"does makes the usage of this library hard and it prevents new features from"},{"line_number":32,"context_line":"being developed - Copy on Writes, for example."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_baf95e50","line":32,"in_reply_to":"ba3cc151_fa4b7b29","updated":"2015-07-08 06:02:57.000000000","message":"I have to disagree but I\u0027m ok with the mention of the feature being removed. Using examples helps giving an idea of what things could benefit from it. It does not mean that the refactor is happening because of that feature.\n\nWe could have bullet points with other examples too. *shrugs*","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":31,"context_line":"does makes the usage of this library hard and it prevents new features from"},{"line_number":32,"context_line":"being developed - Copy on Writes, for example."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"},{"line_number":36,"context_line":"a well documented or readable base implementation. Furthermore, it currently"},{"line_number":37,"context_line":"doesn\u0027t take advantage of, the already supported, stevedore\u0027s plugin model."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_5a294736","line":34,"updated":"2015-07-07 19:02:53.000000000","message":"Please put these two problems in bullet points and say what new drivers are planned and finding _what_ issues.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"does makes the usage of this library hard and it prevents new features from"},{"line_number":32,"context_line":"being developed - Copy on Writes, for example."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"},{"line_number":36,"context_line":"a well documented or readable base implementation. Furthermore, it currently"},{"line_number":37,"context_line":"doesn\u0027t take advantage of, the already supported, stevedore\u0027s plugin model."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_9a9b3a18","line":34,"in_reply_to":"ba3cc151_5a294736","updated":"2015-07-08 06:02:57.000000000","message":"I don\u0027t think she means that new drivers are planned but rather that there are issues related to the existing plugin model. I agree that a bullet list of issues would help.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"},{"line_number":36,"context_line":"a well documented or readable base implementation. Furthermore, it currently"},{"line_number":37,"context_line":"doesn\u0027t take advantage of, the already supported, stevedore\u0027s plugin model."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\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":"ba3cc151_da1557e5","line":37,"updated":"2015-07-07 19:02:53.000000000","message":"To add: What does this plugin model do and why this refactor would help?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"In addition to the problems mentioned above, the current API makes implementing"},{"line_number":35,"context_line":"new drivers quite dificult and it does not encourage new addition by not having"},{"line_number":36,"context_line":"a well documented or readable base implementation. Furthermore, it currently"},{"line_number":37,"context_line":"doesn\u0027t take advantage of, the already supported, stevedore\u0027s plugin model."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\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":"ba3cc151_3c253f08","line":37,"in_reply_to":"ba3cc151_da1557e5","updated":"2015-07-08 11:55:10.000000000","message":"Bit further on, why should we utilize stevedore\u0027s plugin model?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This spec proposes a complete refactor of the existing library by implementing"},{"line_number":43,"context_line":"a new backwards-compatible API."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The new implementation will consist on a mostly private implementation, in terms of what is"},{"line_number":46,"context_line":"actually exposed to the user of the library. The refactoring will create an"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_bcc2afe7","line":43,"updated":"2015-07-08 11:55:10.000000000","message":"First issue you mention is the exposed abstractions and how this refactoring should address that. Now how do you plan to combine these two? Backwards compatibility and hiding the abstractions the current API is exposing?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"This spec proposes a complete refactor of the existing library by implementing"},{"line_number":43,"context_line":"a new backwards-compatible API."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The new implementation will consist on a mostly private implementation, in terms of what is"},{"line_number":46,"context_line":"actually exposed to the user of the library. The refactoring will create an"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_7d7e051a","line":43,"in_reply_to":"ba3cc151_bcc2afe7","updated":"2015-08-04 09:50:04.000000000","message":"The abstractions will remain the same, but it some will not be accesible. I will update with some examples of the code.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":76,"context_line":"objects, one will be in used for writing data and the other will"},{"line_number":77,"context_line":"be used only for reading data. This will secure that data is not"},{"line_number":78,"context_line":"accidentally written when attempting to read data and expose only"},{"line_number":79,"context_line":"the part of the API to the users that will be use. These classes"},{"line_number":80,"context_line":"will have the knowledge as to what the best way to access data for"},{"line_number":81,"context_line":"that backend and they will also access the data when it\u0027s actually"},{"line_number":82,"context_line":"needed. An example of the API proposed for the backend drivers:::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_fc003704","line":79,"updated":"2015-07-08 11:55:10.000000000","message":"How about just having file-like object that will be initiated either read, write or rw modes like any other file-like object?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":76,"context_line":"objects, one will be in used for writing data and the other will"},{"line_number":77,"context_line":"be used only for reading data. This will secure that data is not"},{"line_number":78,"context_line":"accidentally written when attempting to read data and expose only"},{"line_number":79,"context_line":"the part of the API to the users that will be use. These classes"},{"line_number":80,"context_line":"will have the knowledge as to what the best way to access data for"},{"line_number":81,"context_line":"that backend and they will also access the data when it\u0027s actually"},{"line_number":82,"context_line":"needed. An example of the API proposed for the backend drivers:::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_9d519164","line":79,"in_reply_to":"ba3cc151_fc003704","updated":"2015-08-04 09:50:04.000000000","message":"I\u0027m not sure I understand your suggestion. Are you suggesting just one file-like object instead of a separate option?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        def __init__(self, location, connection\u003dNone):"},{"line_number":87,"context_line":"            self.__location \u003d location"},{"line_number":88,"context_line":"            self.__connection \u003d connection"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        def __enter__(self):"},{"line_number":91,"context_line":"            pass"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_da723711","line":88,"updated":"2015-07-07 19:02:53.000000000","message":"How and where are authZ and authN being handled?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        def __init__(self, location, connection\u003dNone):"},{"line_number":87,"context_line":"            self.__location \u003d location"},{"line_number":88,"context_line":"            self.__connection \u003d connection"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        def __enter__(self):"},{"line_number":91,"context_line":"            pass"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_fdef7584","line":88,"in_reply_to":"ba3cc151_da723711","updated":"2015-08-04 09:50:04.000000000","message":"That\u0027s a good question that will further need to be discussed.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":127,"context_line":"config options and reduce to the minimum the dependency on"},{"line_number":128,"context_line":"oslo.config."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"More changes will likely be required. Nontheless, the above clearly"},{"line_number":131,"context_line":"shows the need of a complete rewrite and that\u0027s what is being proposed"},{"line_number":132,"context_line":"here. The existing code will be kept and marked as deprecated. Each"},{"line_number":133,"context_line":"one of the publicly available functions will provide enough"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_3ae7a3e5","line":130,"updated":"2015-07-07 19:02:53.000000000","message":"Create a list of history section here that will have bullet points with list that shows what new additions were made to the library refactor.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":133,"context_line":"one of the publicly available functions will provide enough"},{"line_number":134,"context_line":"documentation showing how the same thing can be achieved using the new"},{"line_number":135,"context_line":"API."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_7a88cb22","line":136,"updated":"2015-07-07 19:02:53.000000000","message":"You need to add all the methods that are expected out of this library. get, save, delete are the basic ones. There were request for map functions too.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":133,"context_line":"one of the publicly available functions will provide enough"},{"line_number":134,"context_line":"documentation showing how the same thing can be achieved using the new"},{"line_number":135,"context_line":"API."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_ba55de1e","line":136,"in_reply_to":"ba3cc151_7a88cb22","updated":"2015-07-08 06:02:57.000000000","message":"I think having a complete list of *public methods* that will be added is the exact example of what I mentioned in the glance-drivers meeting and the email thread. To have a complete list, the implementation should be complete, which we shouldn\u0027t require for specs. Did I misunderstand your request?\n\nI think this refactor should focus on the basic/existing functionalities. The addition of new methods can come as an improvement of the library.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":9096,"name":"Cindy Pallares","email":"u1@cindy.sh","username":"cpallares"},"change_message_id":"ce2b9fb2c0732fa50153e443c0afebaa7566b62d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"one of the publicly available functions will provide enough"},{"line_number":134,"context_line":"documentation showing how the same thing can be achieved using the new"},{"line_number":135,"context_line":"API."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a50d1a3_bd0fad37","line":136,"in_reply_to":"ba3cc151_7a88cb22","updated":"2015-08-04 09:50:04.000000000","message":"Perhaps we should leave this until we are done and add it to the documentation.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"one of the publicly available functions will provide enough"},{"line_number":134,"context_line":"documentation showing how the same thing can be achieved using the new"},{"line_number":135,"context_line":"API."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_37c3188b","line":136,"in_reply_to":"ba3cc151_ba55de1e","updated":"2015-07-08 11:55:10.000000000","message":"This is tricky one. The refactoring proposes new API which should be able to leverage new approaches. On the other hand I 100% agree that demanding full list of *public* methods (shrug, all methods and variables are effectively public in python) is not productive.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Don\u0027t do anything and pay the consequences in the future :D"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Data model impact"},{"line_number":143,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_9a2eeff8","line":140,"updated":"2015-07-07 19:02:53.000000000","message":"Please remove this line.\n\nI think the alternative should be what other refactor possibilities are. The proposed change indicates some of the methods that are being planned to be implemented. As an alternative to evolve this library in future we need another design pattern.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":137,"context_line":"Alternatives"},{"line_number":138,"context_line":"------------"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Don\u0027t do anything and pay the consequences in the future :D"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Data model impact"},{"line_number":143,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_57233c58","line":140,"in_reply_to":"ba3cc151_9a2eeff8","updated":"2015-07-08 11:55:10.000000000","message":"Nikhil, do you have other options in mind than refactoring the glance_store?\n\nI do agree that we can disagree the plan how it\u0027s done, but the line above is accurate reflection of the reality what comes to the main point of this spec, refactoring.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Other than that, it\u0027ll make many devs happy and fewer kittens will"},{"line_number":190,"context_line":"die. (We cannot guarantee the immortality of kittens, no kittens"},{"line_number":191,"context_line":"were harmed in the making of this refactoring.)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Implementation"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_f5138c5a","line":191,"updated":"2015-07-07 19:02:53.000000000","message":"Please remove the above lines.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Other than that, it\u0027ll make many devs happy and fewer kittens will"},{"line_number":190,"context_line":"die. (We cannot guarantee the immortality of kittens, no kittens"},{"line_number":191,"context_line":"were harmed in the making of this refactoring.)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Implementation"},{"line_number":194,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_cdb34e4c","line":191,"in_reply_to":"ba3cc151_f5138c5a","updated":"2015-07-08 06:02:57.000000000","message":"pooooooooor kittens :( :D +1","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":208,"context_line":"Core reviewer(s):"},{"line_number":209,"context_line":"    flaper87"},{"line_number":210,"context_line":"    sigmavirus24"},{"line_number":211,"context_line":"    lzy-dev"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Other reviewer(s):"},{"line_number":214,"context_line":"    jbernard"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_d518c877","line":211,"updated":"2015-07-07 19:02:53.000000000","message":"Is lzy-dev going to be able to review this?","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":208,"context_line":"Core reviewer(s):"},{"line_number":209,"context_line":"    flaper87"},{"line_number":210,"context_line":"    sigmavirus24"},{"line_number":211,"context_line":"    lzy-dev"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Other reviewer(s):"},{"line_number":214,"context_line":"    jbernard"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_6d000202","line":211,"in_reply_to":"ba3cc151_d518c877","updated":"2015-07-08 06:02:57.000000000","message":"I don\u0027t think he is, we should remove him","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    lzy-dev"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Other reviewer(s):"},{"line_number":214,"context_line":"    jbernard"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_75269cbb","line":214,"updated":"2015-07-07 19:02:53.000000000","message":"ditto","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    lzy-dev"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Other reviewer(s):"},{"line_number":214,"context_line":"    jbernard"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_8d054612","line":214,"in_reply_to":"ba3cc151_75269cbb","updated":"2015-07-08 06:02:57.000000000","message":"ditto","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":223,"context_line":"* Write documentation for the Store implementation and the driver APIs."},{"line_number":224,"context_line":"* Mark the old API as deprecated"},{"line_number":225,"context_line":"* More cleanups, as needed."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Dependencies"},{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_b5e7443f","line":226,"updated":"2015-07-07 19:02:53.000000000","message":"Please list the APIs that are being added and those that are changed. This is necessary as it\u0027s a refactor change for the API. It would be good to keep track of such.\n\nWork items should include testing changes.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"5d9991f38e5ef78efb668f588f39184c7e782ae9","unresolved":false,"context_lines":[{"line_number":223,"context_line":"* Write documentation for the Store implementation and the driver APIs."},{"line_number":224,"context_line":"* Mark the old API as deprecated"},{"line_number":225,"context_line":"* More cleanups, as needed."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Dependencies"},{"line_number":228,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_0dae16e6","line":226,"in_reply_to":"ba3cc151_b5e7443f","updated":"2015-07-08 06:02:57.000000000","message":"+1 for testing changes.\n\nWith regards to the APIs, I already mentioned above that requiring *all* the public APIs to be listed is likely to fail because some will be discovered during the implementation. However, having a list of the ones that we know about sounds like a good thing to have. +1","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"80e5ed15e35bd8c64b16144e9e989dc86bf3c5d4","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"Mostly unittests and integration tests with glance. Once glance\u0027s usage of"},{"line_number":236,"context_line":"glance-store is updated, it\u0027ll be automatically tested functionally along with"},{"line_number":237,"context_line":"all Glance\u0027s tests."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Documentation Impact"},{"line_number":240,"context_line":"\u003d\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":"ba3cc151_57ad7c82","line":237,"updated":"2015-07-08 11:55:10.000000000","message":"\"all\" Is bit strong word here. We have lots of Glance tests that does not exercise glance_store.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"50627b30ff9f96cc0171ffa5ff500f2c4141ffdc","unresolved":false,"context_lines":[{"line_number":239,"context_line":"Documentation Impact"},{"line_number":240,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"New developers documentation will be needed."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"References"},{"line_number":245,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba3cc151_95d3205f","line":242,"updated":"2015-07-07 19:02:53.000000000","message":"This will need user documentation too given it\u0027s a public API.","commit_id":"068aa8bb3068e8562ec2c69df9f22f81cdf141a3"},{"author":{"_account_id":13997,"name":"SHIGEMATSU Mitsuhiro","email":"shigematsu.mitsuhiro@lab.ntt.co.jp","username":"pshige"},"change_message_id":"1c889e3026bbc0b9cd4833c493f65d9fb5b736e3","unresolved":false,"context_lines":[{"line_number":142,"context_line":"config options and reduce to the minimum the dependency on"},{"line_number":143,"context_line":"oslo.config."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Perhaps more changes within the drivers will be required. Nontheless, the"},{"line_number":146,"context_line":"above clearly shows the need of a complete rewrite and that\u0027s what is being"},{"line_number":147,"context_line":"proposed here. The existing code will be kept and marked as deprecated. Each"},{"line_number":148,"context_line":"one of the publicly available functions will provide enough"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da20952f_bd449072","line":145,"updated":"2015-09-08 06:59:08.000000000","message":"s/Nontheless/Nonetheless/","commit_id":"a07509f1fb711041b70156910450760806b36798"}]}
