)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"50e0ab28afb90772afebffd61848261229a24ff7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     TommyLike \u003ctommylikehu@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-02 15:08:34 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP]Introduce host manager\u0027s state store to manage volume pool status"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"See above."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f7c97a3_c3fbb945","line":7,"updated":"2018-07-03 02:07:23.000000000","message":"I needed to read a ways into the spec before I could understand what this sentence was saying, so I think a better summary and longer description in the commit would be better.","commit_id":"ad04abf486f4f243e342af98f1ebd81904aa4363"}],"specs/rocky/introduce-scheduler-store-backend.rst":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Introduce scheduler store driver to manage volume pool status"},{"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\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/placeholder-for-link"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This blueprint proposes to introduce configurable scheduler store"},{"line_number":14,"context_line":"backend to manage volume pool status reported by volume service."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_915b5884","line":11,"range":{"start_line":11,"start_character":46,"end_line":11,"end_character":65},"updated":"2018-06-13 14:05:56.000000000","message":"link","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Cinder scheduler service now will store the volume backend status in"},{"line_number":20,"context_line":"memory and leverage on the calculation based on this to determine how"},{"line_number":21,"context_line":"many more resource (volume or snapshot) still can be created until"},{"line_number":22,"context_line":"volume backend update it again, thus if we have multiple scheduler"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_f1f96c4d","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":39},"updated":"2018-06-13 14:05:56.000000000","message":"In the current implementation, Cinder Scheduler stores ...","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":24,"context_line":"that schedulers will permit more create resource requests than that"},{"line_number":25,"context_line":"of backend actually can hold."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Also, the issue above means our scheduler service can not been deployed"},{"line_number":28,"context_line":"in A/A mode and the service itself could be the performance bottleneck of"},{"line_number":29,"context_line":"the whole system."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"We have been bothered by this long standing issue for several cycles"},{"line_number":32,"context_line":"and raised several ideas to centralize the backend data to resolve this,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_5109402e","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":17},"updated":"2018-06-13 14:05:56.000000000","message":"This says that the scheduler does not support A/A, which is not true. A/A is supported, but it has this bug,  that is being discussed on this spec.","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Use Cases"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"To add the ability to configure scheduler store driver which can be used to"},{"line_number":45,"context_line":"manage backend pool status reported by volume service. For the first step,"},{"line_number":46,"context_line":"there would be only one driver called ``MemoryStoreDriver`` which represents"},{"line_number":47,"context_line":"our current logic."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"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":3,"id":"5f7c97a3_d4d53e44","line":47,"range":{"start_line":44,"start_character":0,"end_line":47,"end_character":18},"updated":"2018-06-13 14:05:56.000000000","message":"This does not seem a proper description of a use case. It seems that the use case here would be \u0027to be able to use Cinder Scheduler in A/A environments without provisioning issues and having a tight control of backend resources\u0027.","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Proposed change"},{"line_number":50,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"This spec proposes to introduce a scheduler store driver and move existing"},{"line_number":53,"context_line":"backend status related operations into the new driver."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In general, the new driver is responsible for two main things:"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_3474b267","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":54},"updated":"2018-06-13 14:05:56.000000000","message":"This store driver could be Placement, DB or something else right? You mean to use the new store driver to store the backend status information?","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"In general, the new driver is responsible for two main things:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"1. Update backend status, this is generally happened on volume node and when"},{"line_number":58,"context_line":"   volume driver updates pool status or when resource has been successfully"},{"line_number":59,"context_line":"   created/deleted extended at backend."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_94b586ef","line":57,"range":{"start_line":57,"start_character":26,"end_line":57,"end_character":52},"updated":"2018-06-13 14:05:56.000000000","message":"You mean it use to happen? Or this is what the driver do?","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":58,"context_line":"   volume driver updates pool status or when resource has been successfully"},{"line_number":59,"context_line":"   created/deleted extended at backend."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2. Select valid hosts based on current backend status and request spec, consume"},{"line_number":62,"context_line":"   resource when scheduled. This is happened on scheduler node."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Based on the use case above we propose to add a new class \u0027StoreDriver\u0027 to"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_f4171aed","line":61,"range":{"start_line":61,"start_character":9,"end_line":61,"end_character":35},"updated":"2018-06-13 14:05:56.000000000","message":"So you are moving the scheduling decision from the filter_scheduler to this driver?","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1692b5cbb454433e146bea5e5672c2f653d12c76","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"TBD"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"Alternatives"},{"line_number":336,"context_line":"------------"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"TBD."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_d4bbfec0","line":335,"range":{"start_line":335,"start_character":0,"end_line":335,"end_character":12},"updated":"2018-06-13 14:05:56.000000000","message":"This should be the richest part of the spec since I believe we are discussing here at least 2 ways of solving a problem.","commit_id":"eacd55e1ceb5dde8cadf10813b680a288fea11d6"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"50e0ab28afb90772afebffd61848261229a24ff7","unresolved":false,"context_lines":[{"line_number":82,"context_line":"3. Host manager will rebuild the BackendState (and PoolState) based on data"},{"line_number":83,"context_line":"   collected from state store every time when filtering backends or getting"},{"line_number":84,"context_line":"   pool status."},{"line_number":85,"context_line":"4. Host manager will update the host\u0027s status when backend has been chosen"},{"line_number":86,"context_line":"   for placing resources."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Therefore, the minimal feature requirements for store driver would be 1) store"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_831941d2","line":85,"updated":"2018-07-03 02:07:23.000000000","message":"Both managers updating the data in the state store seems like it would be very error prone. There would need to be some synchronization between the two and multiple round trips to get and set data.","commit_id":"ad04abf486f4f243e342af98f1ebd81904aa4363"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"50e0ab28afb90772afebffd61848261229a24ff7","unresolved":false,"context_lines":[{"line_number":267,"context_line":"There is an alternative that we can move forward and integrate etcd or"},{"line_number":268,"context_line":"placement to our service and it has been described in detail [1] and [2]."},{"line_number":269,"context_line":"Both of them can address our A/A deployment concerns but the main issue is"},{"line_number":270,"context_line":"we need new components and that would make cinder service more heavy and more"},{"line_number":271,"context_line":"complicated to deploy\u0026maintain. On the contrary, we can continue using"},{"line_number":272,"context_line":"the memory based scheduler and document the inconsistent data issue on"},{"line_number":273,"context_line":"scheduler."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_a3d79dc0","line":270,"updated":"2018-07-03 02:07:23.000000000","message":"This is adding a whole new driver interface and set of drivers, so I think the same statement applies here and is perhaps worse.","commit_id":"ad04abf486f4f243e342af98f1ebd81904aa4363"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"50e0ab28afb90772afebffd61848261229a24ff7","unresolved":false,"context_lines":[{"line_number":268,"context_line":"placement to our service and it has been described in detail [1] and [2]."},{"line_number":269,"context_line":"Both of them can address our A/A deployment concerns but the main issue is"},{"line_number":270,"context_line":"we need new components and that would make cinder service more heavy and more"},{"line_number":271,"context_line":"complicated to deploy\u0026maintain. On the contrary, we can continue using"},{"line_number":272,"context_line":"the memory based scheduler and document the inconsistent data issue on"},{"line_number":273,"context_line":"scheduler."},{"line_number":274,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_834701a4","line":271,"range":{"start_line":271,"start_character":21,"end_line":271,"end_character":22},"updated":"2018-07-03 02:07:23.000000000","message":"Space before and after \u0026","commit_id":"ad04abf486f4f243e342af98f1ebd81904aa4363"}]}
