)]}'
{"doc/source/architecture_evolution_summary.rst":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* Keep developers productive, by making it easier to continue to evolve"},{"line_number":30,"context_line":"  and maintain the code, including making it easy to add the features"},{"line_number":31,"context_line":"  our users are requesting."},{"line_number":32,"context_line":"* write down our ideas, so we can get more folks involved in the debate"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_a618151f","line":32,"updated":"2015-07-09 13:09:00.000000000","message":"write should be Write to be consistent with the bullets above","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"* Keep developers productive, by making it easier to continue to evolve"},{"line_number":30,"context_line":"  and maintain the code, including making it easy to add the features"},{"line_number":31,"context_line":"  our users are requesting."},{"line_number":32,"context_line":"* write down our ideas, so we can get more folks involved in the debate"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_1fdfb80d","line":32,"in_reply_to":"ba3cc151_a618151f","updated":"2015-07-09 17:27:28.000000000","message":"done","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This is not an easy task. There are suggestions of a Nova re-write, but that"},{"line_number":38,"context_line":"is likely to just leave us with a new class of problems that need fixing, and"},{"line_number":39,"context_line":"it would be many years before it would benefit our existing users, after years"},{"line_number":40,"context_line":"of hurting our users by not fixing things or adding the features they need."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_868dd132","line":37,"updated":"2015-07-09 13:09:00.000000000","message":"No need to mention a rewrite. You could also mention that following a neutron model would also solve many of Nova\u0027s ills","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This is not an easy task. There are suggestions of a Nova re-write, but that"},{"line_number":38,"context_line":"is likely to just leave us with a new class of problems that need fixing, and"},{"line_number":39,"context_line":"it would be many years before it would benefit our existing users, after years"},{"line_number":40,"context_line":"of hurting our users by not fixing things or adding the features they need."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_ba933aa2","line":37,"in_reply_to":"ba3cc151_868dd132","updated":"2015-07-09 17:27:28.000000000","message":"There were summit sessions recommending a Nova re-write, so I am answering that debate here.\n\nThere are two different things. Splitting stuff out would slow down the architecture evolution, its one of the key blockers to the split out. More details here:\nhttps://wiki.openstack.org/wiki/Nova/Liberty_Release_Schedule#Splitting_out_the_virt_drivers_.28or_other_bits_of_code.29","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":87,"context_line":"and come up with plans so we have even less downtime. We also need to be sure"},{"line_number":88,"context_line":"to document all our of upgrade guarantees to help our users understand what"},{"line_number":89,"context_line":"is now possible, and to help code reviewers ensure we deliver on our promises."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"For more details please see: :doc:`upgrade`"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Cells v2"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_a6f01592","line":90,"updated":"2015-07-09 13:09:00.000000000","message":"One thing worth mentioning here is that this works well with instances but anything related to volumes may certainly break.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"and come up with plans so we have even less downtime. We also need to be sure"},{"line_number":88,"context_line":"to document all our of upgrade guarantees to help our users understand what"},{"line_number":89,"context_line":"is now possible, and to help code reviewers ensure we deliver on our promises."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"For more details please see: :doc:`upgrade`"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Cells v2"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_7a985275","line":90,"in_reply_to":"ba3cc151_a6f01592","updated":"2015-07-09 17:27:28.000000000","message":"Thats news to me, whats the context there?","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"and non-cells deployments."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"For more details please see: :doc:`cells`"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Scheduler"},{"line_number":113,"context_line":"----------"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_8665d145","line":111,"updated":"2015-07-09 13:09:00.000000000","message":"I think that you should also mention the Neutron cells support here","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":108,"context_line":"and non-cells deployments."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"For more details please see: :doc:`cells`"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Scheduler"},{"line_number":113,"context_line":"----------"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_fa99c26d","line":111,"in_reply_to":"ba3cc151_8665d145","updated":"2015-07-09 17:27:28.000000000","message":"I am trying to keep this really short into, we don\u0027t have agreement on that effort yet, its more for M","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Scheduler"},{"line_number":113,"context_line":"----------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"A long standing request has been to scheduler Nova VMs near where you want"},{"line_number":116,"context_line":"to create your Cinder Volumes. When Neutron adds the concept of network"},{"line_number":117,"context_line":"segments, it will generate a very similar situation."},{"line_number":118,"context_line":"It is also widely accepted that the scheduler does not perform well when you"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_c642f9aa","line":115,"updated":"2015-07-09 13:09:00.000000000","message":"scheduler \u003d\u003e schedule","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":112,"context_line":"Scheduler"},{"line_number":113,"context_line":"----------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"A long standing request has been to scheduler Nova VMs near where you want"},{"line_number":116,"context_line":"to create your Cinder Volumes. When Neutron adds the concept of network"},{"line_number":117,"context_line":"segments, it will generate a very similar situation."},{"line_number":118,"context_line":"It is also widely accepted that the scheduler does not perform well when you"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_d0b13d02","line":115,"in_reply_to":"ba3cc151_c642f9aa","updated":"2015-07-09 17:27:28.000000000","message":"done.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":119,"context_line":"run multiple nova-scheduler processes, particularly when you have a large"},{"line_number":120,"context_line":"burst of build requests, even more so if those requests have specific NUMA"},{"line_number":121,"context_line":"requirements. The cells work also means we ideally need a single scheduler"},{"line_number":122,"context_line":"to be able to work across a whole region and not just an individual cell."},{"line_number":123,"context_line":"Ideally the nova-scheduler could become a project that is separate from the"},{"line_number":124,"context_line":"rest of Nova, so it can more quickly work on solving these hard problems."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_a61ed5b8","line":122,"updated":"2015-07-09 13:09:00.000000000","message":"This smells like it will be the bottleneck in a distributed system","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":119,"context_line":"run multiple nova-scheduler processes, particularly when you have a large"},{"line_number":120,"context_line":"burst of build requests, even more so if those requests have specific NUMA"},{"line_number":121,"context_line":"requirements. The cells work also means we ideally need a single scheduler"},{"line_number":122,"context_line":"to be able to work across a whole region and not just an individual cell."},{"line_number":123,"context_line":"Ideally the nova-scheduler could become a project that is separate from the"},{"line_number":124,"context_line":"rest of Nova, so it can more quickly work on solving these hard problems."},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_5053ede1","line":122,"in_reply_to":"ba3cc151_a61ed5b8","updated":"2015-07-09 17:27:28.000000000","message":"its not as bad as that sounds, but the cells stuff is really more about no longer hard coding one particular scheduler architecture, I should re-word that.\n\nMore details here:\nhttps://review.openstack.org/#/c/191914/","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Tasks and Error Handling"},{"line_number":150,"context_line":"-------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The extensive use of RPC cast, is leading to cases where Nova does not report"},{"line_number":153,"context_line":"to an end user that their API request has failed. In some cases, the instance"},{"line_number":154,"context_line":"get stuck in a Task state, and required manual intervention to recover."},{"line_number":155,"context_line":"In some case, we have added extra instance states to detect some of these"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_e6793dc9","line":152,"updated":"2015-07-09 13:09:00.000000000","message":"It may be worth explaining that the cast is used as the call is blocking ...","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Tasks and Error Handling"},{"line_number":150,"context_line":"-------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The extensive use of RPC cast, is leading to cases where Nova does not report"},{"line_number":153,"context_line":"to an end user that their API request has failed. In some cases, the instance"},{"line_number":154,"context_line":"get stuck in a Task state, and required manual intervention to recover."},{"line_number":155,"context_line":"In some case, we have added extra instance states to detect some of these"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_102ec542","line":152,"in_reply_to":"ba3cc151_e6793dc9","updated":"2015-07-09 17:27:28.000000000","message":"hmm, I will try reword that a little.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The extensive use of RPC cast, is leading to cases where Nova does not report"},{"line_number":153,"context_line":"to an end user that their API request has failed. In some cases, the instance"},{"line_number":154,"context_line":"get stuck in a Task state, and required manual intervention to recover."},{"line_number":155,"context_line":"In some case, we have added extra instance states to detect some of these"},{"line_number":156,"context_line":"failures, particularly for errors that occur when the nova-compute process is"},{"line_number":157,"context_line":"killed, but we should look for a more general solution."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_66c9ad25","line":154,"updated":"2015-07-09 13:09:00.000000000","message":"get \u003d\u003e gets","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":174,"context_line":"-----------------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":177,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":178,"context_line":"in private cloud scenarios, people don\u0027t like the underutilization that comes"},{"line_number":179,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":180,"context_line":"requires."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_263965f2","line":177,"updated":"2015-07-09 13:09:00.000000000","message":"One problem is that our scheduler does not enable us to do this","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":174,"context_line":"-----------------------------"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":177,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":178,"context_line":"in private cloud scenarios, people don\u0027t like the underutilization that comes"},{"line_number":179,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":180,"context_line":"requires."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_766f0a2b","line":177,"in_reply_to":"ba3cc151_263965f2","updated":"2015-07-09 17:27:28.000000000","message":"not seen it be too bad.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":177,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":178,"context_line":"in private cloud scenarios, people don\u0027t like the underutilization that comes"},{"line_number":179,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":180,"context_line":"requires."},{"line_number":181,"context_line":"In both cases, when you start adding extra options to flavors, you start to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_661a0d7f","line":178,"range":{"start_line":178,"start_character":50,"end_line":178,"end_character":66},"updated":"2015-07-09 13:09:00.000000000","message":"underutilization \u003d\u003e under utilization","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":177,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":178,"context_line":"in private cloud scenarios, people don\u0027t like the underutilization that comes"},{"line_number":179,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":180,"context_line":"requires."},{"line_number":181,"context_line":"In both cases, when you start adding extra options to flavors, you start to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_b63832ef","line":178,"range":{"start_line":178,"start_character":50,"end_line":178,"end_character":66},"in_reply_to":"ba3cc151_661a0d7f","updated":"2015-07-09 17:27:28.000000000","message":"done.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"The differences between local disks and attaching Cinder storage is still"},{"line_number":185,"context_line":"quite confusing to our API users. For example, when you boot from volume,"},{"line_number":186,"context_line":"you don\u0027t make use of some of the resources your flavor is makes available."},{"line_number":187,"context_line":"We need to make sure we properly document all the edge cases, and look to"},{"line_number":188,"context_line":"resolve any inconsistencies we find."},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_c43e72b7","line":186,"updated":"2015-07-09 13:09:00.000000000","message":"In some cases we also do not make use of the cinder flavors to actually leverage volumes properly","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"The differences between local disks and attaching Cinder storage is still"},{"line_number":185,"context_line":"quite confusing to our API users. For example, when you boot from volume,"},{"line_number":186,"context_line":"you don\u0027t make use of some of the resources your flavor is makes available."},{"line_number":187,"context_line":"We need to make sure we properly document all the edge cases, and look to"},{"line_number":188,"context_line":"resolve any inconsistencies we find."},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_f6323a0f","line":186,"in_reply_to":"ba3cc151_c43e72b7","updated":"2015-07-09 17:27:28.000000000","message":"not sure what you mean by that?","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":193,"context_line":"concept to work across all technology choices. It many cases it unnecessarily"},{"line_number":194,"context_line":"exposes deployment and technology choices to API users."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"We need a plan that can tackle all of these problems."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"Simplify Quotas"},{"line_number":199,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_2484fe5b","line":196,"updated":"2015-07-09 13:09:00.000000000","message":"Agree","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":198,"context_line":"Simplify Quotas"},{"line_number":199,"context_line":"----------------"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"There are many know races with Quotas. Some premature optimisations in the"},{"line_number":202,"context_line":"current code appear to be the most likely cause. We are looking at ways to"},{"line_number":203,"context_line":"remove those and simply the quota code, to make it harder to create the"},{"line_number":204,"context_line":"kind of bugs we are currently seeing around Quotas."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_e4793683","line":201,"updated":"2015-07-09 13:09:00.000000000","message":"optimisations \u003d\u003e optimizations (i prefer the s)","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bab09dd16144032b73c6c9c5ecab5cd557b1efd8","unresolved":false,"context_lines":[{"line_number":237,"context_line":"Identifying new Bug trends"},{"line_number":238,"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"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"The great source of ideas on where to focus comes from identify patterns in"},{"line_number":241,"context_line":"the bugs that are being reported. Often they point to a systemic issue that"},{"line_number":242,"context_line":"are causing those types of bugs. It is good to take a step back and see how"},{"line_number":243,"context_line":"we can deal with those types of problems."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_24d2be5c","line":240,"updated":"2015-07-09 13:09:00.000000000","message":"identify \u003d\u003e identifying","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4d3f0207f74f48cb6f7a434b2726948f4898f58e","unresolved":false,"context_lines":[{"line_number":237,"context_line":"Identifying new Bug trends"},{"line_number":238,"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"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"The great source of ideas on where to focus comes from identify patterns in"},{"line_number":241,"context_line":"the bugs that are being reported. Often they point to a systemic issue that"},{"line_number":242,"context_line":"are causing those types of bugs. It is good to take a step back and see how"},{"line_number":243,"context_line":"we can deal with those types of problems."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba3cc151_76ddcade","line":240,"in_reply_to":"ba3cc151_24d2be5c","updated":"2015-07-09 17:27:28.000000000","message":"done.","commit_id":"92017ac325953322e61e1c5d7f3e182b9268ffa8"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova is going through a phase of re-architecting some of its major components."},{"line_number":19,"context_line":"Really, we never stop this process, as the needs of the project change, but"},{"line_number":20,"context_line":"this current push is related to some specific goals."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Mission"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_aa15a59b","line":20,"updated":"2015-07-27 13:50:49.000000000","message":"Might be good to give a time reference here, as it is so easy for these documents to sound confusing if not updated 3-4 cycles later","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eac42f122f5542d2b91f4114aeeb69def4fa1f90","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Nova is going through a phase of re-architecting some of its major components."},{"line_number":19,"context_line":"Really, we never stop this process, as the needs of the project change, but"},{"line_number":20,"context_line":"this current push is related to some specific goals."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Mission"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da20952f_ac48f22d","line":20,"in_reply_to":"3a50d1a3_aa15a59b","updated":"2015-09-07 15:01:05.000000000","message":"Done","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"* Write down our ideas, so we can get more folks involved in the debate"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This is not an easy task. There are suggestions of a Nova re-write, but that"},{"line_number":38,"context_line":"is likely to just leave us with a new class of problems that need fixing, and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_6426f369","line":35,"updated":"2015-07-27 13:50:49.000000000","message":"\"usual obligations\" here is a little too handwavy for such a complex topic - I see you link to it below but might be good to at least mention here that there will be more discussion about it further down, or give a link to the document about upgrades here.","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eac42f122f5542d2b91f4114aeeb69def4fa1f90","unresolved":false,"context_lines":[{"line_number":32,"context_line":"* Write down our ideas, so we can get more folks involved in the debate"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"This must all be done, while keeping our usual obligations around upgrades and"},{"line_number":35,"context_line":"not breaking features our users rely on."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This is not an easy task. There are suggestions of a Nova re-write, but that"},{"line_number":38,"context_line":"is likely to just leave us with a new class of problems that need fixing, and"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da20952f_2ca622c1","line":35,"in_reply_to":"3a50d1a3_6426f369","updated":"2015-09-07 15:01:05.000000000","message":"yes, I will add in a reference.","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":137,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":138,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":139,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Interactions with Cinder"},{"line_number":142,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_4a09812b","line":139,"updated":"2015-07-27 13:50:49.000000000","message":"Very well put!","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":148,"context_line":"stability issues with some drivers."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Ideally we also need better testing, although that is likely to be address"},{"line_number":151,"context_line":"as part of the Feature Classification effort."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Future Scope"},{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_e481a390","line":151,"updated":"2015-07-27 13:50:49.000000000","message":"Might be a bit opinionated but may make sense to also point out that some of the Cinder API calls that Nova uses are not as well suited for the job as we may want them to be and cause a lot of pain especially around syncinc state across two components (attach/detach and friends).","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eac42f122f5542d2b91f4114aeeb69def4fa1f90","unresolved":false,"context_lines":[{"line_number":148,"context_line":"stability issues with some drivers."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Ideally we also need better testing, although that is likely to be address"},{"line_number":151,"context_line":"as part of the Feature Classification effort."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Future Scope"},{"line_number":154,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da20952f_4ce356a4","line":151,"in_reply_to":"3a50d1a3_e481a390","updated":"2015-09-07 15:01:05.000000000","message":"Done","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":184,"context_line":"The work on DefCore is raising some really interesting questions around how we"},{"line_number":185,"context_line":"make Nova more interoperable. We need to work with that team to identify some"},{"line_number":186,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":187,"context_line":"API in a discoverable way."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Flavors and Image properties"},{"line_number":190,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_2aabd5d7","line":187,"updated":"2015-07-27 13:50:49.000000000","message":"It would be reallly good to link to this DefCore work, or at least give some more info so that it is possible to cross reference this at a later time by a reader - it is basically useless in this form once merged. I am only -1ing because of this.","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eac42f122f5542d2b91f4114aeeb69def4fa1f90","unresolved":false,"context_lines":[{"line_number":184,"context_line":"The work on DefCore is raising some really interesting questions around how we"},{"line_number":185,"context_line":"make Nova more interoperable. We need to work with that team to identify some"},{"line_number":186,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":187,"context_line":"API in a discoverable way."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Flavors and Image properties"},{"line_number":190,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da20952f_8c416eab","line":187,"in_reply_to":"3a50d1a3_2aabd5d7","updated":"2015-09-07 15:01:05.000000000","message":"I think DefCore is quite widely know now, but a link to their git repo totally makes sense, adding that in.","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"a08363213601b8061ff3ab2fdb509a070d5736e2","unresolved":false,"context_lines":[{"line_number":233,"context_line":"A plan for nova-network and Networking APIs"},{"line_number":234,"context_line":"--------------------------------------------"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"This is a key part of the above API interoperability work that needs work."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a50d1a3_ca0351b7","line":236,"updated":"2015-07-27 13:50:49.000000000","message":"nit - awkward sounding \"work that needs work\"","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"eac42f122f5542d2b91f4114aeeb69def4fa1f90","unresolved":false,"context_lines":[{"line_number":233,"context_line":"A plan for nova-network and Networking APIs"},{"line_number":234,"context_line":"--------------------------------------------"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"This is a key part of the above API interoperability work that needs work."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da20952f_ec834ac9","line":236,"in_reply_to":"3a50d1a3_ca0351b7","updated":"2015-09-07 15:01:05.000000000","message":"Done","commit_id":"9fd09f5643674e5c87f330275040848442b8b263"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":57,"context_line":"API that are explicitly exposed as individual micro versions."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"At the same time we are being clear about the fact there is only one Nova API,"},{"line_number":60,"context_line":"and that is the upstream Nova API. There are no vendor only extensions, we are"},{"line_number":61,"context_line":"aiming to build an interoperable API."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_9154ce21","line":60,"updated":"2015-08-18 15:06:12.000000000","message":"Much love. :)","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"API that are explicitly exposed as individual micro versions."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"At the same time we are being clear about the fact there is only one Nova API,"},{"line_number":60,"context_line":"and that is the upstream Nova API. There are no vendor only extensions, we are"},{"line_number":61,"context_line":"aiming to build an interoperable API."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_0f4f906b","line":60,"in_reply_to":"fa1b9901_9154ce21","updated":"2015-09-07 15:07:34.000000000","message":":)","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Interactions with Cinder"},{"line_number":142,"context_line":"-------------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"We are starting to make progress adopting brick."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"But there are also a group of bugs relating to how we sometimes fails to"},{"line_number":147,"context_line":"make that correct API calls to Cinder, that in certain cases can cause"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_7c4c7170","line":144,"updated":"2015-08-18 15:06:12.000000000","message":"brick?  Is this a proper noun referring to a project/effort? :)","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"Interactions with Cinder"},{"line_number":142,"context_line":"-------------------------"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"We are starting to make progress adopting brick."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"But there are also a group of bugs relating to how we sometimes fails to"},{"line_number":147,"context_line":"make that correct API calls to Cinder, that in certain cases can cause"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_acff9232","line":144,"in_reply_to":"fa1b9901_7c4c7170","updated":"2015-09-07 15:07:34.000000000","message":"its real, I should link to the repo.","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":186,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":187,"context_line":"API in a discoverable way."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Flavors and Image properties"},{"line_number":190,"context_line":"-----------------------------"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_3cdef911","line":189,"updated":"2015-08-18 15:06:12.000000000","message":"consistent caps","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":186,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":187,"context_line":"API in a discoverable way."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Flavors and Image properties"},{"line_number":190,"context_line":"-----------------------------"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_2cc142e4","line":189,"in_reply_to":"fa1b9901_3cdef911","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Simplify Quotas"},{"line_number":215,"context_line":"----------------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"There are many know races with Quotas. Some premature optimizations in the"},{"line_number":218,"context_line":"current code appear to be the most likely cause. We are looking at ways to"},{"line_number":219,"context_line":"remove those and simply the quota code, to make it harder to create the"},{"line_number":220,"context_line":"kind of bugs we are currently seeing around Quotas."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_3cd4b91e","line":217,"updated":"2015-08-18 15:06:12.000000000","message":"s/know/known","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Simplify Quotas"},{"line_number":215,"context_line":"----------------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"There are many know races with Quotas. Some premature optimizations in the"},{"line_number":218,"context_line":"current code appear to be the most likely cause. We are looking at ways to"},{"line_number":219,"context_line":"remove those and simply the quota code, to make it harder to create the"},{"line_number":220,"context_line":"kind of bugs we are currently seeing around Quotas."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_6ca3ba43","line":217,"in_reply_to":"fa1b9901_3cd4b91e","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":222,"context_line":"Interactions with Neutron"},{"line_number":223,"context_line":"--------------------------"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"We have an impedance miss match in the network API that is used for Nova to"},{"line_number":226,"context_line":"talk to either nova-network or Neutron. First, the interface is focused on"},{"line_number":227,"context_line":"nova-network interactions, but really it should be focused on Neutron"},{"line_number":228,"context_line":"interactions, and we should change nova-networks interface to match."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_dce33d04","line":225,"updated":"2015-08-18 15:06:12.000000000","message":"mismatch","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":222,"context_line":"Interactions with Neutron"},{"line_number":223,"context_line":"--------------------------"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"We have an impedance miss match in the network API that is used for Nova to"},{"line_number":226,"context_line":"talk to either nova-network or Neutron. First, the interface is focused on"},{"line_number":227,"context_line":"nova-network interactions, but really it should be focused on Neutron"},{"line_number":228,"context_line":"interactions, and we should change nova-networks interface to match."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_0c4c7e9c","line":225,"in_reply_to":"fa1b9901_dce33d04","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":236,"context_line":"This is a key part of the above API interoperability work that needs work."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"},{"line_number":240,"context_line":"and neutron. Ideally we should not proxy any network APIs to Neutron, due to"},{"line_number":241,"context_line":"the bad error cases you get when being an API proxy (timeouts, and other"},{"line_number":242,"context_line":"similar issues)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_bc96894a","line":239,"updated":"2015-08-18 15:06:12.000000000","message":"stacks?","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":236,"context_line":"This is a key part of the above API interoperability work that needs work."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"},{"line_number":240,"context_line":"and neutron. Ideally we should not proxy any network APIs to Neutron, due to"},{"line_number":241,"context_line":"the bad error cases you get when being an API proxy (timeouts, and other"},{"line_number":242,"context_line":"similar issues)."}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_2c4f0293","line":239,"in_reply_to":"fa1b9901_bc96894a","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"},{"line_number":240,"context_line":"and neutron. Ideally we should not proxy any network APIs to Neutron, due to"},{"line_number":241,"context_line":"the bad error cases you get when being an API proxy (timeouts, and other"},{"line_number":242,"context_line":"similar issues)."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Interactions with Glance"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_dc781d2e","line":241,"updated":"2015-08-18 15:06:12.000000000","message":"Not sure what you mean about API proxies here?","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":238,"context_line":"There must be a single way to configure networking for all servers. But this"},{"line_number":239,"context_line":"is made very hard when we have the two competing network stats of nova-network"},{"line_number":240,"context_line":"and neutron. Ideally we should not proxy any network APIs to Neutron, due to"},{"line_number":241,"context_line":"the bad error cases you get when being an API proxy (timeouts, and other"},{"line_number":242,"context_line":"similar issues)."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Interactions with Glance"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_2c1dc272","line":241,"in_reply_to":"fa1b9901_dc781d2e","updated":"2015-09-07 15:07:34.000000000","message":"hmm, let me re-word that.","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":250,"context_line":"Nova the configuration of how to connect to shared storage. We should really"},{"line_number":251,"context_line":"look to unify that."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Identifying new Bug trends"},{"line_number":254,"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"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"The great source of ideas on where to focus comes from identifying patterns in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_dc9fbd4e","line":253,"updated":"2015-08-18 15:06:12.000000000","message":"consistent capitalization","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":250,"context_line":"Nova the configuration of how to connect to shared storage. We should really"},{"line_number":251,"context_line":"look to unify that."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Identifying new Bug trends"},{"line_number":254,"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"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"The great source of ideas on where to focus comes from identifying patterns in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_8f3c00c9","line":253,"in_reply_to":"fa1b9901_dc9fbd4e","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"The great source of ideas on where to focus comes from identifying patterns in"},{"line_number":257,"context_line":"the bugs that are being reported. Often they point to a systemic issue that"},{"line_number":258,"context_line":"are causing those types of bugs. It is good to take a step back and see how"},{"line_number":259,"context_line":"we can deal with those types of problems."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"We must continue to identify bug trends, and work to address any systemic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_1cb455cf","line":258,"updated":"2015-08-18 15:06:12.000000000","message":"s/are/is","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"121da29e029f658fcce0d8b640bd6f00870d810a","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"The great source of ideas on where to focus comes from identifying patterns in"},{"line_number":257,"context_line":"the bugs that are being reported. Often they point to a systemic issue that"},{"line_number":258,"context_line":"are causing those types of bugs. It is good to take a step back and see how"},{"line_number":259,"context_line":"we can deal with those types of problems."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"We must continue to identify bug trends, and work to address any systemic"}],"source_content_type":"text/x-rst","patch_set":6,"id":"da20952f_6f2dec8d","line":258,"in_reply_to":"fa1b9901_1cb455cf","updated":"2015-09-07 15:07:34.000000000","message":"Done","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea5879c570205b0424c02b8b687d2c2ca00570ce","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Cells v1 makes API requests go through different code paths to non-cells"},{"line_number":105,"context_line":"deployments. One of the consequences is that Cells v1 does not support all the"},{"line_number":106,"context_line":"features a non-cells deployment can support. They key point of the cells v2"},{"line_number":107,"context_line":"effort is we will refactor how cells works, such that we can have all"},{"line_number":108,"context_line":"deployments use cells. Existing non-cells deployments will be converted to a"},{"line_number":109,"context_line":"deployment with a single v2 cell. This removes any differences between cells"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_57d88d53","line":106,"updated":"2015-09-25 05:32:24.000000000","message":"s/They key point/The key point/","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"413e68ca4d25586ad1699d803d8b79c45b417557","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Cells v1 makes API requests go through different code paths to non-cells"},{"line_number":105,"context_line":"deployments. One of the consequences is that Cells v1 does not support all the"},{"line_number":106,"context_line":"features a non-cells deployment can support. They key point of the cells v2"},{"line_number":107,"context_line":"effort is we will refactor how cells works, such that we can have all"},{"line_number":108,"context_line":"deployments use cells. Existing non-cells deployments will be converted to a"},{"line_number":109,"context_line":"deployment with a single v2 cell. This removes any differences between cells"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_2e56965c","line":106,"in_reply_to":"9a1a9d01_57d88d53","updated":"2015-09-28 14:34:28.000000000","message":"Done","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea5879c570205b0424c02b8b687d2c2ca00570ce","unresolved":false,"context_lines":[{"line_number":172,"context_line":"cast to nova-compute (i.e. don\u0027t wait for a response), then complete the API"},{"line_number":173,"context_line":"request, returning a success code."},{"line_number":174,"context_line":"This leads to cases where Nova does not clearly report to an end user that"},{"line_number":175,"context_line":"the task their API API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some case, we have added extra instance states to detect some of these"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_41044f7d","line":175,"updated":"2015-09-25 05:32:24.000000000","message":"Double \u0027API\u0027 at here.","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"413e68ca4d25586ad1699d803d8b79c45b417557","unresolved":false,"context_lines":[{"line_number":172,"context_line":"cast to nova-compute (i.e. don\u0027t wait for a response), then complete the API"},{"line_number":173,"context_line":"request, returning a success code."},{"line_number":174,"context_line":"This leads to cases where Nova does not clearly report to an end user that"},{"line_number":175,"context_line":"the task their API API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some case, we have added extra instance states to detect some of these"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_ee4f3ebb","line":175,"in_reply_to":"9a1a9d01_41044f7d","updated":"2015-09-28 14:34:28.000000000","message":"Done","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea5879c570205b0424c02b8b687d2c2ca00570ce","unresolved":false,"context_lines":[{"line_number":175,"context_line":"the task their API API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some case, we have added extra instance states to detect some of these"},{"line_number":179,"context_line":"failures, particularly for errors that occur when the nova-compute process is"},{"line_number":180,"context_line":"killed, but we should look for a more general solution."},{"line_number":181,"context_line":"There are times when we revert failed actions, so the user is able to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_81f26799","line":178,"updated":"2015-09-25 05:32:24.000000000","message":"s/case/cases/","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"413e68ca4d25586ad1699d803d8b79c45b417557","unresolved":false,"context_lines":[{"line_number":175,"context_line":"the task their API API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some case, we have added extra instance states to detect some of these"},{"line_number":179,"context_line":"failures, particularly for errors that occur when the nova-compute process is"},{"line_number":180,"context_line":"killed, but we should look for a more general solution."},{"line_number":181,"context_line":"There are times when we revert failed actions, so the user is able to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_0e4b92b1","line":178,"in_reply_to":"9a1a9d01_81f26799","updated":"2015-09-28 14:34:28.000000000","message":"Done","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea5879c570205b0424c02b8b687d2c2ca00570ce","unresolved":false,"context_lines":[{"line_number":214,"context_line":"resolve any inconsistencies we find."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Flavor extra specs and image properties have been used to add many admin"},{"line_number":217,"context_line":"and user configurations that are really not very discoverable. The are very"},{"line_number":218,"context_line":"easy to add, so its easy to avoid doing the modeling needed to allow the"},{"line_number":219,"context_line":"concept to work across all technology choices. It many cases it unnecessarily"},{"line_number":220,"context_line":"exposes deployment and technology choices to API users."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_e16a431a","line":217,"updated":"2015-09-25 05:32:24.000000000","message":"s/The are very easy to add/They are very easy to add/","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"413e68ca4d25586ad1699d803d8b79c45b417557","unresolved":false,"context_lines":[{"line_number":214,"context_line":"resolve any inconsistencies we find."},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"Flavor extra specs and image properties have been used to add many admin"},{"line_number":217,"context_line":"and user configurations that are really not very discoverable. The are very"},{"line_number":218,"context_line":"easy to add, so its easy to avoid doing the modeling needed to allow the"},{"line_number":219,"context_line":"concept to work across all technology choices. It many cases it unnecessarily"},{"line_number":220,"context_line":"exposes deployment and technology choices to API users."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_cef27a6f","line":217,"in_reply_to":"9a1a9d01_e16a431a","updated":"2015-09-28 14:34:28.000000000","message":"Done","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea5879c570205b0424c02b8b687d2c2ca00570ce","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Flavor extra specs and image properties have been used to add many admin"},{"line_number":217,"context_line":"and user configurations that are really not very discoverable. The are very"},{"line_number":218,"context_line":"easy to add, so its easy to avoid doing the modeling needed to allow the"},{"line_number":219,"context_line":"concept to work across all technology choices. It many cases it unnecessarily"},{"line_number":220,"context_line":"exposes deployment and technology choices to API users."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"We need a plan that can tackle all of these problems."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_57ee4d23","line":219,"updated":"2015-09-25 05:32:24.000000000","message":"I guess this should be s/It many cases/In many cases/ ?","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"413e68ca4d25586ad1699d803d8b79c45b417557","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Flavor extra specs and image properties have been used to add many admin"},{"line_number":217,"context_line":"and user configurations that are really not very discoverable. The are very"},{"line_number":218,"context_line":"easy to add, so its easy to avoid doing the modeling needed to allow the"},{"line_number":219,"context_line":"concept to work across all technology choices. It many cases it unnecessarily"},{"line_number":220,"context_line":"exposes deployment and technology choices to API users."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"We need a plan that can tackle all of these problems."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a1a9d01_8eec8290","line":219,"in_reply_to":"9a1a9d01_57ee4d23","updated":"2015-09-28 14:34:28.000000000","message":"Done","commit_id":"16e873e3338894141f087f0da1100a928c2e1c18"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"and that is the upstream Nova API. There are no vendor only extensions, we are"},{"line_number":63,"context_line":"aiming to build an interoperable API."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"},{"line_number":66,"context_line":"later, remove the v2.0 API codebase. We also need to ensure we have good"},{"line_number":67,"context_line":"documentation tooling in place for v2.1 and some good example usage in"},{"line_number":68,"context_line":"python-novaclient."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_55b9b2ca","line":65,"updated":"2015-09-30 14:45:55.000000000","message":"It\u0027s better without the commas:\n\nWe need more work on the v2.0 compatibility mode so we can deprecate and later remove the v2.0 API codebase.","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":62,"context_line":"and that is the upstream Nova API. There are no vendor only extensions, we are"},{"line_number":63,"context_line":"aiming to build an interoperable API."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"},{"line_number":66,"context_line":"later, remove the v2.0 API codebase. We also need to ensure we have good"},{"line_number":67,"context_line":"documentation tooling in place for v2.1 and some good example usage in"},{"line_number":68,"context_line":"python-novaclient."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_7f78ed2b","line":65,"in_reply_to":"9a1a9d01_55b9b2ca","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"},{"line_number":66,"context_line":"later, remove the v2.0 API codebase. We also need to ensure we have good"},{"line_number":67,"context_line":"documentation tooling in place for v2.1 and some good example usage in"},{"line_number":68,"context_line":"python-novaclient."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Zero Downtime Upgrades"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_d5cdc266","line":67,"updated":"2015-09-30 14:45:55.000000000","message":"and usage examples in","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"We need more work on the v2.0 compatibility mode, so we can deprecate, and"},{"line_number":66,"context_line":"later, remove the v2.0 API codebase. We also need to ensure we have good"},{"line_number":67,"context_line":"documentation tooling in place for v2.1 and some good example usage in"},{"line_number":68,"context_line":"python-novaclient."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Zero Downtime Upgrades"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_1f77613b","line":67,"in_reply_to":"9a1a9d01_d5cdc266","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Users have been asking to make Nova easier to upgrade. This has required a"},{"line_number":74,"context_line":"massive multi-release effort to get the infrastructure in place to minimize"},{"line_number":75,"context_line":"the downtime. Ensuring keep running an up to date version of Nova will really"},{"line_number":76,"context_line":"help support the ecosystem around our API."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"At the end of the kilo release, we have got to the point where its possible"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_15433a6d","line":75,"updated":"2015-09-30 14:45:55.000000000","message":"Enabling users to more easily keep their version of Nova up to date will help support the project\u0027s advancement?","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Users have been asking to make Nova easier to upgrade. This has required a"},{"line_number":74,"context_line":"massive multi-release effort to get the infrastructure in place to minimize"},{"line_number":75,"context_line":"the downtime. Ensuring keep running an up to date version of Nova will really"},{"line_number":76,"context_line":"help support the ecosystem around our API."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"At the end of the kilo release, we have got to the point where its possible"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_bf85f507","line":75,"in_reply_to":"9a1a9d01_15433a6d","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":75,"context_line":"the downtime. Ensuring keep running an up to date version of Nova will really"},{"line_number":76,"context_line":"help support the ecosystem around our API."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"At the end of the kilo release, we have got to the point where its possible"},{"line_number":79,"context_line":"to do all database migrations online, while running the code from the"},{"line_number":80,"context_line":"previous release. At the same time you can run a new control plane code,"},{"line_number":81,"context_line":"talking to a mix of old and new nova-compute nodes. This means you have a"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_353d1edd","line":78,"updated":"2015-09-30 14:45:55.000000000","message":"we reached the point where it\u0027s possible","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":75,"context_line":"the downtime. Ensuring keep running an up to date version of Nova will really"},{"line_number":76,"context_line":"help support the ecosystem around our API."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"At the end of the kilo release, we have got to the point where its possible"},{"line_number":79,"context_line":"to do all database migrations online, while running the code from the"},{"line_number":80,"context_line":"previous release. At the same time you can run a new control plane code,"},{"line_number":81,"context_line":"talking to a mix of old and new nova-compute nodes. This means you have a"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_9f8271ff","line":78,"in_reply_to":"9a1a9d01_353d1edd","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The work on versioned objects, RPC versioning, and the policy around using"},{"line_number":86,"context_line":"those, have been key to making this all possible."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"We are now working hard find ways to ensure we keep this level of upgrade,"},{"line_number":89,"context_line":"and come up with plans so we have even less downtime. We also need to be sure"},{"line_number":90,"context_line":"to document all our of upgrade guarantees to help our users understand what"},{"line_number":91,"context_line":"is now possible, and to help code reviewers ensure we deliver on our promises."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_703de48d","line":88,"updated":"2015-09-30 14:45:55.000000000","message":"hard to find ways to ensure we keep this level of smoother upgrades","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The work on versioned objects, RPC versioning, and the policy around using"},{"line_number":86,"context_line":"those, have been key to making this all possible."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"We are now working hard find ways to ensure we keep this level of upgrade,"},{"line_number":89,"context_line":"and come up with plans so we have even less downtime. We also need to be sure"},{"line_number":90,"context_line":"to document all our of upgrade guarantees to help our users understand what"},{"line_number":91,"context_line":"is now possible, and to help code reviewers ensure we deliver on our promises."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_df88f924","line":88,"in_reply_to":"9a1a9d01_703de48d","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":139,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":140,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":141,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Interactions with Cinder"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_b0c29c51","line":140,"updated":"2015-09-30 14:45:55.000000000","message":"However, we need a stable API","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":139,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":140,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":141,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Interactions with Cinder"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_3f9b4574","line":140,"in_reply_to":"9a1a9d01_b0c29c51","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":139,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":140,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":141,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Interactions with Cinder"},{"line_number":144,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_d098707a","line":141,"updated":"2015-09-30 14:45:55.000000000","message":"that\u0027s","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":139,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":140,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":141,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Interactions with Cinder"},{"line_number":144,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_7f91cd51","line":141,"in_reply_to":"9a1a9d01_d098707a","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"977421a79804df51a43d93c347d747b118811fa5","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":139,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":140,"context_line":"communities independently. However, we need a good and state API between the"},{"line_number":141,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Interactions with Cinder"},{"line_number":144,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_78646721","line":141,"in_reply_to":"9a8ffd7b_7f91cd51","updated":"2015-11-26 03:00:24.000000000","message":"not Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":167,"context_line":"Tasks and Error Handling"},{"line_number":168,"context_line":"-------------------------"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Most API calls that are not a simple database read or write, follow the"},{"line_number":171,"context_line":"pattern of making database calls to update instance state, then make an RPC"},{"line_number":172,"context_line":"cast to nova-compute (i.e. don\u0027t wait for a response), then complete the API"},{"line_number":173,"context_line":"request, returning a success code."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_b0d5bce5","line":170,"updated":"2015-09-30 14:45:55.000000000","message":"Bulleted list?","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":173,"context_line":"request, returning a success code."},{"line_number":174,"context_line":"This leads to cases where Nova does not clearly report to an end user that"},{"line_number":175,"context_line":"the task their API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some cases, we have added extra instance states to detect some of these"},{"line_number":179,"context_line":"failures, particularly for errors that occur when the nova-compute process is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_9080b88c","line":176,"updated":"2015-09-30 14:45:55.000000000","message":"task","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":173,"context_line":"request, returning a success code."},{"line_number":174,"context_line":"This leads to cases where Nova does not clearly report to an end user that"},{"line_number":175,"context_line":"the task their API request started has actually failed."},{"line_number":176,"context_line":"In some cases, the instance gets stuck in a Task state, and required manual"},{"line_number":177,"context_line":"intervention is required to recover."},{"line_number":178,"context_line":"In some cases, we have added extra instance states to detect some of these"},{"line_number":179,"context_line":"failures, particularly for errors that occur when the nova-compute process is"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_5f96494d","line":176,"in_reply_to":"9a1a9d01_9080b88c","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"The work on DefCore is raising some really interesting questions around how we"},{"line_number":192,"context_line":"make Nova more interoperable. We need to work with that team to identify some"},{"line_number":193,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":194,"context_line":"API in a discoverable way."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"For more details on DefCore please see:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_503460fa","line":193,"updated":"2015-09-30 14:45:55.000000000","message":"and use API...","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"The work on DefCore is raising some really interesting questions around how we"},{"line_number":192,"context_line":"make Nova more interoperable. We need to work with that team to identify some"},{"line_number":193,"context_line":"key scenarios that need improving, and using API micro versions to evolve the"},{"line_number":194,"context_line":"API in a discoverable way."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"For more details on DefCore please see:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_dfa1d9aa","line":193,"in_reply_to":"9a1a9d01_503460fa","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":203,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":204,"context_line":"in private cloud scenarios, people don\u0027t like the under utilization that comes"},{"line_number":205,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":206,"context_line":"requires."},{"line_number":207,"context_line":"In both cases, when you start adding extra options to flavors, you start to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_3b0bcd25","line":204,"updated":"2015-09-30 14:45:55.000000000","message":"under-utiliization","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Public clouds like how flavors help them capacity plan and work to ensure"},{"line_number":203,"context_line":"the can generate the maximum revenue from the available hardware. However,"},{"line_number":204,"context_line":"in private cloud scenarios, people don\u0027t like the under utilization that comes"},{"line_number":205,"context_line":"from not having a flavor that matches the resources your specific workload"},{"line_number":206,"context_line":"requires."},{"line_number":207,"context_line":"In both cases, when you start adding extra options to flavors, you start to"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_3fc4a55d","line":204,"in_reply_to":"9a1a9d01_3b0bcd25","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"bbb8ee90fa83b34e357b31efa039d6394a4e9d6f","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"The differences between local disks and attaching Cinder storage is still"},{"line_number":211,"context_line":"quite confusing to our API users. For example, when you boot from volume,"},{"line_number":212,"context_line":"you don\u0027t make use of some of the resources your flavor is makes available."},{"line_number":213,"context_line":"We need to make sure we properly document all the edge cases, and look to"},{"line_number":214,"context_line":"resolve any inconsistencies we find."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a1a9d01_7b538517","line":212,"updated":"2015-09-30 14:45:55.000000000","message":"s/is//","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8c9b3e40050170a67d6f3c89e9f29a0d8d7e2295","unresolved":false,"context_lines":[{"line_number":209,"context_line":""},{"line_number":210,"context_line":"The differences between local disks and attaching Cinder storage is still"},{"line_number":211,"context_line":"quite confusing to our API users. For example, when you boot from volume,"},{"line_number":212,"context_line":"you don\u0027t make use of some of the resources your flavor is makes available."},{"line_number":213,"context_line":"We need to make sure we properly document all the edge cases, and look to"},{"line_number":214,"context_line":"resolve any inconsistencies we find."},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_9fab5189","line":212,"in_reply_to":"9a1a9d01_7b538517","updated":"2015-11-25 15:01:51.000000000","message":"Done","commit_id":"df10c2c4c6d9c239305eb70354bd0508b377cfc1"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"ac5260327aeefd05a6f0f919fefafb687e7a8093","unresolved":false,"context_lines":[{"line_number":140,"context_line":"Longer term, its possible that nova-scheduler could be split out of nova in"},{"line_number":141,"context_line":"a similar way to the nova-volume split, which would help scale out the two"},{"line_number":142,"context_line":"communities independently. However, we need a stable API between the"},{"line_number":143,"context_line":"scheduler and the rest of Nova before thats feasible."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Interactions with Cinder"},{"line_number":146,"context_line":"-------------------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a68dd71_6ab6018c","line":143,"range":{"start_line":143,"start_character":38,"end_line":143,"end_character":43},"updated":"2016-01-21 08:39:15.000000000","message":"s/thats/that\u0027s/ as Brian said.","commit_id":"1225c085835eaab7e1dc0cafa2008e9da4521546"}],"doc/source/index.rst":[{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"8eb1c0c66d4ed747a58fc00a9fc64e3a49dce11d","unresolved":false,"context_lines":[{"line_number":156,"context_line":".. toctree::"},{"line_number":157,"context_line":"   :maxdepth: 1"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"   architecture_evolution_summary"},{"line_number":160,"context_line":"   cells"},{"line_number":161,"context_line":"   upgrade"},{"line_number":162,"context_line":"   api_plugins"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_71fd7a39","line":159,"updated":"2015-08-18 15:06:12.000000000","message":"How do you feel about breaking this piece out into a separate section above this \"Architecture Evolution Plans.\"  Call it \"Project Direction\" and re-name the linked document.  Your architecture_evolution doc basically covers at a high-level all the areas of focus, whereas the individual plans are more of a deep-dive into each group\u0027s area of effort.","commit_id":"447beeccb0fa246b950b907e4d352e7dd2971826"}]}
