)]}'
{"specs/queens/count-resource-to-check-quota.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9dd8b23cf9c19140ca45616a7fdb3d500316b151","unresolved":false,"context_lines":[{"line_number":44,"context_line":"which can\u0027t be easily maintained now or future to record and refresh the quota"},{"line_number":45,"context_line":"usage."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"3. There is a possibility that we could have multiplies quota usage records"},{"line_number":48,"context_line":"for the identical resource `[2]`_."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"4. We could have quota_usage record whose resource name is longer than"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_7ae056fb","line":47,"range":{"start_line":47,"start_character":45,"end_line":47,"end_character":55},"updated":"2017-09-25 19:32:13.000000000","message":"multiple","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ee768f1cdba6228e40d961e7ee1b928140bf8ba8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"which can\u0027t be easily maintained now or future to record and refresh the quota"},{"line_number":45,"context_line":"usage."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"3. There is a possibility that we could have multiplies quota usage records"},{"line_number":48,"context_line":"for the identical resource `[2]`_."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"4. We could have quota_usage record whose resource name is longer than"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_b2cca461","line":47,"range":{"start_line":47,"start_character":45,"end_line":47,"end_character":55},"in_reply_to":"7f515b1d_7ae056fb","updated":"2017-09-26 07:56:05.000000000","message":"Done","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9dd8b23cf9c19140ca45616a7fdb3d500316b151","unresolved":false,"context_lines":[{"line_number":109,"context_line":"But the question is if we switch all of the resources to the count ones,"},{"line_number":110,"context_line":"it will destroy our current quota system, in order to have these two systems"},{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_3a909e4e","line":112,"range":{"start_line":112,"start_character":52,"end_line":112,"end_character":58},"updated":"2017-09-25 19:32:13.000000000","message":"created a","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9dd8b23cf9c19140ca45616a7fdb3d500316b151","unresolved":false,"context_lines":[{"line_number":109,"context_line":"But the question is if we switch all of the resources to the count ones,"},{"line_number":110,"context_line":"it will destroy our current quota system, in order to have these two systems"},{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_7aae1699","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":13},"updated":"2017-09-25 19:32:13.000000000","message":"rather than","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ee768f1cdba6228e40d961e7ee1b928140bf8ba8","unresolved":false,"context_lines":[{"line_number":109,"context_line":"But the question is if we switch all of the resources to the count ones,"},{"line_number":110,"context_line":"it will destroy our current quota system, in order to have these two systems"},{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_f2033c72","line":112,"range":{"start_line":112,"start_character":52,"end_line":112,"end_character":58},"in_reply_to":"7f515b1d_3a909e4e","updated":"2017-09-26 07:56:05.000000000","message":"Done","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ee768f1cdba6228e40d961e7ee1b928140bf8ba8","unresolved":false,"context_lines":[{"line_number":109,"context_line":"But the question is if we switch all of the resources to the count ones,"},{"line_number":110,"context_line":"it will destroy our current quota system, in order to have these two systems"},{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_92f40888","line":112,"range":{"start_line":112,"start_character":7,"end_line":112,"end_character":13},"in_reply_to":"7f515b1d_7aae1699","updated":"2017-09-26 07:56:05.000000000","message":"Done","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9dd8b23cf9c19140ca45616a7fdb3d500316b151","unresolved":false,"context_lines":[{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"* volumes_new(CountableResource)"},{"line_number":117,"context_line":"* per_volume_gigabytes_new(AbsoluteResource)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_fa720649","line":114,"updated":"2017-09-25 19:32:13.000000000","message":"Not sure I like the extra bloat this is going to cause with trying to do both the old and new at the same time. Seems to me like we should just switch over to the new way. Or stick with what we have.","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ee768f1cdba6228e40d961e7ee1b928140bf8ba8","unresolved":false,"context_lines":[{"line_number":111,"context_line":"running together, we would like to introduce the new copies of these existing"},{"line_number":112,"context_line":"quotas rather replace them, that is to say, once we create new volume, then"},{"line_number":113,"context_line":"we will both check ``volume`` in our existing quota system and ``volume_new``"},{"line_number":114,"context_line":"in count resource system."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"* volumes_new(CountableResource)"},{"line_number":117,"context_line":"* per_volume_gigabytes_new(AbsoluteResource)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f515b1d_522c5001","line":114,"in_reply_to":"7f515b1d_fa720649","updated":"2017-09-26 07:56:05.000000000","message":"Ok, I would like to put this into alternative section","commit_id":"94dc9e8a6618e036aec6560a9ac725fda7173ccf"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Count resources to check quota  in API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/count-resource-to-check-quota"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_eadd14e0","line":8,"range":{"start_line":8,"start_character":30,"end_line":8,"end_character":32},"updated":"2017-09-29 16:25:04.000000000","message":"Extra space here.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"We could have several issues for our current quota usage/reservation system:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"1. Cinder use ``FOR UPDATE`` to lock the quota usage records which means it"},{"line_number":40,"context_line":"will have a negative performance impact when batch requests on same project"},{"line_number":41,"context_line":"and same resource are handled."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_8adea0d7","line":39,"range":{"start_line":39,"start_character":10,"end_line":39,"end_character":13},"updated":"2017-09-29 16:25:04.000000000","message":"uses","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":40,"context_line":"will have a negative performance impact when batch requests on same project"},{"line_number":41,"context_line":"and same resource are handled."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"2. In order to keep the correctness of the resource usage, we add lot of codes"},{"line_number":44,"context_line":"which can\u0027t be easily maintained now or future to record and refresh the quota"},{"line_number":45,"context_line":"usage."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"3. There is a possibility that we could have multiple quota usage records"},{"line_number":48,"context_line":"for the identical resource `[2]`_."}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_ea8bd4bf","line":45,"range":{"start_line":43,"start_character":3,"end_line":45,"end_character":5},"updated":"2017-09-29 16:25:04.000000000","message":"This sentence is pretty rough.  Can we update to:  In order to keep the correctness of the resource usage, we added a lot of code\nthat can\u0027t be easily maintained now or in the future to record and refresh the quota\nusage.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":47,"context_line":"3. There is a possibility that we could have multiple quota usage records"},{"line_number":48,"context_line":"for the identical resource `[2]`_."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"4. We could have quota_usage record whose resource name is longer than"},{"line_number":51,"context_line":"255 `[3]`_."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_8a8c60d7","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":28},"updated":"2017-09-29 16:25:04.000000000","message":"have a quota_usage","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6c1d371c0f19c81aea3509499ac728367ca2fa45","unresolved":false,"context_lines":[{"line_number":56,"context_line":"The main use case of this change is to make cinder more adaptive for"},{"line_number":57,"context_line":"large deployment and more efficient for batch operations."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Proposed change"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"1. We would add new system to check consumed resources"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f9dbf25_3e567c2b","line":59,"updated":"2018-03-01 11:02:43.000000000","message":"How does this impact nested quotas? That\u0027s something nova didn\u0027t have to deal with since we don\u0027t support nested quotas yet.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Proposed change"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"1. We would add new system to check consumed resources"},{"line_number":63,"context_line":"while keeping the existing one."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* New quota checks will consist of reading the quota limits from the API"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_4ac428f5","line":62,"range":{"start_line":62,"start_character":12,"end_line":62,"end_character":20},"updated":"2017-09-29 16:25:04.000000000","message":"add a new","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":124,"context_line":"Alternatives"},{"line_number":125,"context_line":"------------"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"During Queen PTG, we discussed this topic and thought it might be good"},{"line_number":128,"context_line":"to running the two systems for a while to see whether the"},{"line_number":129,"context_line":"new one can beat the old one, so this might be an alternative solution."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Data model impact"},{"line_number":132,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_aa583c55","line":129,"range":{"start_line":127,"start_character":54,"end_line":129,"end_character":28},"updated":"2017-09-29 16:25:04.000000000","message":"I vaguely remember this discussion but what does it mean to have the two systems running for a while?  I think we need to define what that means.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6c1d371c0f19c81aea3509499ac728367ca2fa45","unresolved":false,"context_lines":[{"line_number":131,"context_line":"Data model impact"},{"line_number":132,"context_line":"-----------------"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"We would not use the reservations and quota_usages tables start from this"},{"line_number":135,"context_line":"change, and may remove them in the future."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"REST API impact"},{"line_number":138,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f9dbf25_deef5885","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":42},"updated":"2018-03-01 11:02:43.000000000","message":"I think it was pointed out during the Rocky PTG that cinder is missing some key table indexes which are already causing performance issues, so you could also do those, or just fix those as bugs really irrespective of this spec.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6c1d371c0f19c81aea3509499ac728367ca2fa45","unresolved":false,"context_lines":[{"line_number":137,"context_line":"REST API impact"},{"line_number":138,"context_line":"---------------"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"With this feature we could have a slight API impact on ``quota-usage``,"},{"line_number":141,"context_line":"the ``reserved`` attribute will always be zero."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Security impact"},{"line_number":144,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f9dbf25_5e034843","line":141,"range":{"start_line":140,"start_character":0,"end_line":141,"end_character":47},"updated":"2018-03-01 11:02:43.000000000","message":"True, but this isn\u0027t a breaking API change as there is no guarantee that the user is going to see reserved resource usage anyway.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Performance will be adversely affected in the case of counting resources"},{"line_number":162,"context_line":"twice (before and after the creation of resource) as"},{"line_number":163,"context_line":"well as keep using current\u0027s quota system."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Other deployer impact"},{"line_number":166,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_ca2258b9","line":163,"range":{"start_line":163,"start_character":13,"end_line":163,"end_character":28},"updated":"2017-09-29 16:25:04.000000000","message":"using the current","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b8ebe730133b7f81cf173aec321a511caaa086af","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Developer impact"},{"line_number":171,"context_line":"----------------"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Cinder developers will both call quota ``reserve``,"},{"line_number":174,"context_line":"``commit`` or ``rollback`` and the quota ``check_resource_count`` or similar"},{"line_number":175,"context_line":"when adding new API that will consume quota until we decide to remove one"},{"line_number":176,"context_line":"of them."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Implementation"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f515b1d_ea107459","line":176,"range":{"start_line":173,"start_character":1,"end_line":176,"end_character":8},"updated":"2017-09-29 16:25:04.000000000","message":"Ok, so I think this answers my question above about what it means to have both systems, but how are we going to decide which one is working better then?","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6c1d371c0f19c81aea3509499ac728367ca2fa45","unresolved":false,"context_lines":[{"line_number":197,"context_line":"Testing"},{"line_number":198,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"New unit tests will be added to cover the new resource counting scenarios."},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f9dbf25_3e8f5ccd","line":200,"updated":"2018-03-01 11:02:43.000000000","message":"I\u0027d recommend some performance and scale testing before and after the counting quotas change to compare the systems. I wish we would have done this in nova (or that someone would do it and report back). I know Tommy has already done some testing on his Cinder PoC and the results were not great.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6c1d371c0f19c81aea3509499ac728367ca2fa45","unresolved":false,"context_lines":[{"line_number":203,"context_line":"Documentation Impact"},{"line_number":204,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"None"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"References"},{"line_number":209,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f9dbf25_bebccc69","line":206,"updated":"2018-03-01 11:02:43.000000000","message":"Does Cinder have any documentation about quotas (outside of the API reference)? If so, those would need to be updated.","commit_id":"367140688de5b38e441b1ea0ce88da5e7c2226e9"}]}
