)]}'
{"specs/backlog/approved/quiesce-nova.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Quiesce Nova"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/quiesce-nova"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_da7b1527","line":8,"updated":"2015-06-09 08:29:11.000000000","message":"So there is a name clash with snapshots here.\n\nWhat about:\nRead-only API mode?","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Operator feedback is that this does not always work perfectly, for example"},{"line_number":22,"context_line":"indexes can be lost. Although we are moving away from manual schema migrations"},{"line_number":23,"context_line":"to expand/contract, to paraphrase Mike Bayer this is kinda crazy. As an"},{"line_number":24,"context_line":"operator that does not put me at ease."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Operators can choose to make the API unavailable for a preceding period to"},{"line_number":27,"context_line":"attempt to reduce the outstanding activity, but without querying the DB, it\u0027s"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_bac29932","line":24,"updated":"2015-06-09 08:29:11.000000000","message":"You currently should NOT run migrations on a fully live system. Its not safe. I know rackspace turns off all services before performing the DB migrations, currently.\n\nThe new system is designed to make that a viable option, by splitting things into expand/contract.\n\nWe restrict the possible types of migrations we allow in Nova to make this possible. If I understand correctly, Mike really hates that idea, particularly from an oslo.db point of review. He wants a way to have manually tweaked generated steps, so there is the possibility of \"fixing\" things that are not possible automatically.","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Operators can choose to make the API unavailable for a preceding period to"},{"line_number":27,"context_line":"attempt to reduce the outstanding activity, but without querying the DB, it\u0027s"},{"line_number":28,"context_line":"hard for them to know how much activity is still going on. For example, live"},{"line_number":29,"context_line":"migrations can take days to complete."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_5d2ddf93","line":29,"updated":"2015-06-09 08:29:11.000000000","message":"If running the conductor, just stopping the conductor node and the API nodes would make sure there are no DB writes.\n\nWe could just focus on turning those both \"read\" only, and some how queuing and DB writes until the DB is open for write?\n\nMaybe thats silly, just trying to think though ideas.","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"As a DBA, I would like to be able to snapshot a stable database state so that"},{"line_number":38,"context_line":"if the schema migrations fail in a damaging way, I can rollback to the"},{"line_number":39,"context_line":"snapshot."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Project Priority"},{"line_number":42,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_da255509","line":39,"updated":"2015-06-09 08:29:11.000000000","message":"FWIW, It is assumed that you test out the migrations on a recent snapshot of your production database before going into production.","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This spec proposes adding two API resources. The first offers a way to set or"},{"line_number":50,"context_line":"reset a \u0027quiesce_level\u0027 state. This state may be set to \u0027none\u0027, \u0027action\u0027 or"},{"line_number":51,"context_line":"\u0027full\u0027. If set to \u0027action\u0027 or \u0027full\u0027, API servers will return HTTP 423 Locked"},{"line_number":52,"context_line":"in response to future non-GET requests. If set to \u0027full\u0027, GET requests are also"},{"line_number":53,"context_line":"affected. [need to confirm \u0027full\u0027 is a useful thing]"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_fa601103","line":51,"updated":"2015-06-09 08:29:11.000000000","message":"503 seems more appropriate to me?","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":50,"context_line":"reset a \u0027quiesce_level\u0027 state. This state may be set to \u0027none\u0027, \u0027action\u0027 or"},{"line_number":51,"context_line":"\u0027full\u0027. If set to \u0027action\u0027 or \u0027full\u0027, API servers will return HTTP 423 Locked"},{"line_number":52,"context_line":"in response to future non-GET requests. If set to \u0027full\u0027, GET requests are also"},{"line_number":53,"context_line":"affected. [need to confirm \u0027full\u0027 is a useful thing]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"[Need input on how to persist and share the \u0027quiesce_level\u0027 state. A flag in"},{"line_number":56,"context_line":"the DB sounds necessary, but which table? Also need to notify the other API"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_fa7931c9","line":53,"updated":"2015-06-09 08:29:11.000000000","message":"I would get rid of \"full\" for now really.\n\nFeels like something that should be in a config file that can be reloaded as part of some regular automation system?","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f2917c7466085eefb478911cbe6881f6f5abdfe8","unresolved":false,"context_lines":[{"line_number":65,"context_line":"Alternatives"},{"line_number":66,"context_line":"------------"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"Instead of changing the API servers, we could affect the Tasks manager. We"},{"line_number":69,"context_line":"could either not allow new requests or we could queue new requests. In the"},{"line_number":70,"context_line":"former case, we would need to be careful to provide a useful response. In the"},{"line_number":71,"context_line":"latter case, there are task queue management concerns."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3afb71cf_7a14219f","line":68,"updated":"2015-06-09 08:29:11.000000000","message":"There is no tasks manager right now.\n\nThe API could leave requests on the queue.","commit_id":"6db4a4a6f927815d02dc428e5aaf2f02e6a96a1f"}]}
