)]}'
{"specs/pike/approved/live-migration-force-after-timeout.rst":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/live-migration-force-after-timeout"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The existing progress monitoring for live-migration does not work due, and"},{"line_number":14,"context_line":"can\u0027t be fixed using the existing data from libvirt and QEMU. Last cycle we"},{"line_number":15,"context_line":"deprecated that configuration, and so it should be removed in Pike."},{"line_number":16,"context_line":"The automatic Post Copy is using the same flawed data, and should be removed."}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_8dfe9e36","line":13,"range":{"start_line":13,"start_character":65,"end_line":13,"end_character":70},"updated":"2017-03-01 21:20:33.000000000","message":",","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Nova currently optimizes for limited guest downtime, over ensuring the"},{"line_number":54,"context_line":"live-migration operation always succeeds. This makes live-migration in Nova"},{"line_number":55,"context_line":"look much less \"reliable\" that live-migration offered in other cloud and"},{"line_number":56,"context_line":"server virt systems. We should examine if there is a better trade-off we can"},{"line_number":57,"context_line":"make \"out of the box\"."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_edc71a10","line":55,"range":{"start_line":55,"start_character":26,"end_line":55,"end_character":30},"updated":"2017-03-01 21:20:33.000000000","message":"than","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Operator wants to never allow more than CONF.libvirt.live_migration_downtime"},{"line_number":65,"context_line":"  milliseconds of guest downtime (default is 500 ms). As such we timeout any"},{"line_number":66,"context_line":"  live-migration operation that would need more than that downtime to"},{"line_number":67,"context_line":"  complete. This is what happens today."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Operator would prefer to pause the VM to ensure the VM moves."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_4d7106e0","line":67,"updated":"2017-03-01 21:20:33.000000000","message":"after we reach live_migration_downtime_steps?","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e9b5ecea2b0398aa7dffde865451c01515ed7bfa","unresolved":false,"context_lines":[{"line_number":64,"context_line":"* Operator wants to never allow more than CONF.libvirt.live_migration_downtime"},{"line_number":65,"context_line":"  milliseconds of guest downtime (default is 500 ms). As such we timeout any"},{"line_number":66,"context_line":"  live-migration operation that would need more than that downtime to"},{"line_number":67,"context_line":"  complete. This is what happens today."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* Operator would prefer to pause the VM to ensure the VM moves."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_708a1dc1","line":67,"in_reply_to":"ba2be162_4d7106e0","updated":"2017-03-01 21:34:09.000000000","message":"I\u0027d say it\u0027s mostly about live_migration_completion_timeout.\np.s.  too many config options for the l-m...","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":69,"context_line":"* Operator would prefer to pause the VM to ensure the VM moves."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Operator wants all operations to fall back to post copy if the timeout is"},{"line_number":72,"context_line":"  hit, because they find the risk of possibly needing to reboot the VM more"},{"line_number":73,"context_line":"  acceptable than pausing the VM for longer when the timeout is reached,"},{"line_number":74,"context_line":"  and better than having the operation fail."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Operator knows how long live-migration usually takes for a given VM"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_50451915","line":73,"range":{"start_line":72,"start_character":7,"end_line":73,"end_character":71},"updated":"2017-03-01 21:20:33.000000000","message":"shouldn\u0027t this be other way around?","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e9b5ecea2b0398aa7dffde865451c01515ed7bfa","unresolved":false,"context_lines":[{"line_number":69,"context_line":"* Operator would prefer to pause the VM to ensure the VM moves."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Operator wants all operations to fall back to post copy if the timeout is"},{"line_number":72,"context_line":"  hit, because they find the risk of possibly needing to reboot the VM more"},{"line_number":73,"context_line":"  acceptable than pausing the VM for longer when the timeout is reached,"},{"line_number":74,"context_line":"  and better than having the operation fail."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Operator knows how long live-migration usually takes for a given VM"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_30450570","line":73,"range":{"start_line":72,"start_character":7,"end_line":73,"end_character":71},"in_reply_to":"ba2be162_50451915","updated":"2017-03-01 21:34:09.000000000","message":"I think the main point of this is that there are 2 ways for the libvirt driver to force l-m to converge, first one is to pause vm, and the second one is a switch to post-copy, so that\u0027s the problem of choice definitely.","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  acceptable than pausing the VM for longer when the timeout is reached,"},{"line_number":74,"context_line":"  and better than having the operation fail."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"* Operator knows how long live-migration usually takes for a given VM"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"What use cases does this address? What impact on actors does this change have?"},{"line_number":79,"context_line":"Ensure you are clear about the actors in each use case: Developer, End User,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_7073fd80","line":76,"range":{"start_line":76,"start_character":2,"end_line":76,"end_character":69},"updated":"2017-03-01 21:20:33.000000000","message":"I don\u0027t get a use case from here.","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"6af2157244a3be0e57df3d022efa7c582c9bf537","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"TODO"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"New configuration: libvirt.live_migration_force_on_timeout"},{"line_number":88,"context_line":"Defaults to True."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_714b4ab1","line":87,"range":{"start_line":87,"start_character":19,"end_line":87,"end_character":58},"updated":"2017-02-28 14:38:35.000000000","message":"do we really need addtional flag here? Need to check this carefully","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"TODO"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"New configuration: libvirt.live_migration_force_on_timeout"},{"line_number":88,"context_line":"Defaults to True."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_d0ff49a8","line":87,"range":{"start_line":87,"start_character":27,"end_line":87,"end_character":58},"updated":"2017-03-01 21:20:33.000000000","message":"force post copy?","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e9b5ecea2b0398aa7dffde865451c01515ed7bfa","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"TODO"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"New configuration: libvirt.live_migration_force_on_timeout"},{"line_number":88,"context_line":"Defaults to True."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_f060cd37","line":87,"range":{"start_line":87,"start_character":27,"end_line":87,"end_character":58},"in_reply_to":"ba2be162_d0ff49a8","updated":"2017-03-01 21:34:09.000000000","message":"it\u0027s not only post_copy","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"8b7e8b3174b3cc18b9f59997d2881cddaa22ca11","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"New configuration: libvirt.live_migration_force_on_timeout"},{"line_number":88,"context_line":"Defaults to True."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Alternatives"},{"line_number":91,"context_line":"------------"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_d01669f0","line":89,"updated":"2017-03-01 21:20:33.000000000","message":"How about new API for LM with params for timeout?","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"e9b5ecea2b0398aa7dffde865451c01515ed7bfa","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"New configuration: libvirt.live_migration_force_on_timeout"},{"line_number":88,"context_line":"Defaults to True."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Alternatives"},{"line_number":91,"context_line":"------------"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_90695128","line":89,"in_reply_to":"ba2be162_d01669f0","updated":"2017-03-01 21:34:09.000000000","message":"see bellow, there will be new api param","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"6af2157244a3be0e57df3d022efa7c582c9bf537","unresolved":false,"context_lines":[{"line_number":100,"context_line":"REST API impact"},{"line_number":101,"context_line":"---------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"live_migration --force-after-mins 30"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba2be162_11b04e8b","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":36},"updated":"2017-02-28 14:38:35.000000000","message":"as already discusses, let\u0027s do this in generic way, so operator could specify smth. like:\nlive_migration --cancel-after-mins 30","commit_id":"ddc42357ad00e2fddbd1e433fd00d8aa3795c4ce"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"35bf2a882219b9b0fcf64b9b0ec49dfb50d20c82","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Proposed change"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Add new configuration option ``libvirt.live_migration_action_on_timeout``."},{"line_number":79,"context_line":"This option will have choices to ``abort`` (default), ``pause`` or"},{"line_number":80,"context_line":"``post-copy``. This option will determine what actions will be taken againt a"},{"line_number":81,"context_line":"VM after ``live_migration_completion_timeout `` expires. Currently nova just"},{"line_number":82,"context_line":"abort the LM operation after completion timeout expires."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_0a208d47","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":13},"updated":"2017-03-02 22:00:28.000000000","message":"hm, as  ``abort`` is default one it\u0027s useless, and the decision is made by the API per request, right? the behavior of the pause/post-copy is determined by the live_migration_permit_post_copy option, I wonder, do we really need a new config flag then?","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"8d53720cbc3511382d01f58f47406fd3ad464dfd","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Add new configuration option ``libvirt.live_migration_action_on_timeout``."},{"line_number":79,"context_line":"This option will have choices to ``abort`` (default), ``pause`` or"},{"line_number":80,"context_line":"``post-copy``. This option will determine what actions will be taken againt a"},{"line_number":81,"context_line":"VM after ``live_migration_completion_timeout `` expires. Currently nova just"},{"line_number":82,"context_line":"abort the LM operation after completion timeout expires."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_4ae36533","line":80,"range":{"start_line":80,"start_character":69,"end_line":80,"end_character":75},"updated":"2017-03-02 21:57:26.000000000","message":"s/against","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5273df2796aa6cffb8f0ce9cd4080a272af2cc39","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Proposed change"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Add new configuration option ``libvirt.live_migration_action_on_timeout``."},{"line_number":79,"context_line":"This option will have choices to ``abort`` (default), ``pause`` or"},{"line_number":80,"context_line":"``post-copy``. This option will determine what actions will be taken againt a"},{"line_number":81,"context_line":"VM after ``live_migration_completion_timeout `` expires. Currently nova just"},{"line_number":82,"context_line":"abort the LM operation after completion timeout expires."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_a96d3d34","line":80,"range":{"start_line":78,"start_character":0,"end_line":80,"end_character":13},"in_reply_to":"ba2be162_0a208d47","updated":"2017-03-07 14:14:29.000000000","message":"So...\n\nWhen you call \"force\" with either pause the VM, or we post_copy, depending on if post_copy is enabled.\n\nWhen you call \"abort\" we cancel the live-migration.\n\nToday when you hit the completion timeout, we \"abort\" the live-migration. This option allows you to \"force\" instead.\n\n... this is to replace how we used the progress tracking to trigger post-copy automatically in the past, thats a non-sense operation right now, as we were not really tracking progress at all.","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"8d53720cbc3511382d01f58f47406fd3ad464dfd","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Add a new microversion to Live-Migrate Server to add support for following"},{"line_number":85,"context_line":"parameters:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* ``force-after-mins`` - Time after which nova will take actions on on-going"},{"line_number":88,"context_line":"  live-migration. This will override the timer in config option"},{"line_number":89,"context_line":"  ``libvirt.live_migration_completion_timeout ``. Action will be based on"},{"line_number":90,"context_line":"  other parameter listed below or ``libvirt.live_migration_action_on_timeout``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_0ac40d8f","line":87,"range":{"start_line":87,"start_character":2,"end_line":87,"end_character":22},"updated":"2017-03-02 21:57:26.000000000","message":"what if we rename this to ``timeout_interval``","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"bfdfc6084fcc638a70e1b43f33ac16c247f13908","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Add a new microversion to Live-Migrate Server to add support for following"},{"line_number":85,"context_line":"parameters:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* ``force-after-mins`` - Time after which nova will take actions on on-going"},{"line_number":88,"context_line":"  live-migration. This will override the timer in config option"},{"line_number":89,"context_line":"  ``libvirt.live_migration_completion_timeout ``. Action will be based on"},{"line_number":90,"context_line":"  other parameter listed below or ``libvirt.live_migration_action_on_timeout``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_788f7f23","line":87,"range":{"start_line":87,"start_character":2,"end_line":87,"end_character":22},"in_reply_to":"9a30ddce_c96a711a","updated":"2017-03-07 18:54:30.000000000","message":"timeout and timeout-action looks simple","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5273df2796aa6cffb8f0ce9cd4080a272af2cc39","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Add a new microversion to Live-Migrate Server to add support for following"},{"line_number":85,"context_line":"parameters:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* ``force-after-mins`` - Time after which nova will take actions on on-going"},{"line_number":88,"context_line":"  live-migration. This will override the timer in config option"},{"line_number":89,"context_line":"  ``libvirt.live_migration_completion_timeout ``. Action will be based on"},{"line_number":90,"context_line":"  other parameter listed below or ``libvirt.live_migration_action_on_timeout``"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_c96a711a","line":87,"range":{"start_line":87,"start_character":2,"end_line":87,"end_character":22},"in_reply_to":"ba2be162_0ac40d8f","updated":"2017-03-07 14:14:29.000000000","message":"Yeah, +1","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"bfdfc6084fcc638a70e1b43f33ac16c247f13908","unresolved":false,"context_lines":[{"line_number":88,"context_line":"  live-migration. This will override the timer in config option"},{"line_number":89,"context_line":"  ``libvirt.live_migration_completion_timeout ``. Action will be based on"},{"line_number":90,"context_line":"  other parameter listed below or ``libvirt.live_migration_action_on_timeout``"},{"line_number":91,"context_line":"  config option. API parameter will take percedence."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"* ``action_on_timeout`` - "},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_384c2770","line":91,"range":{"start_line":91,"start_character":41,"end_line":91,"end_character":51},"updated":"2017-03-07 18:54:30.000000000","message":"s/precedence. \n\nWas curious to know what would happen if libvirt.live_migration_action_on_timeout or force-after-mins is set to 0 and action is set to force. Would it trigger post copy or pausing the VM right away ?","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"8d53720cbc3511382d01f58f47406fd3ad464dfd","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  other parameter listed below or ``libvirt.live_migration_action_on_timeout``"},{"line_number":91,"context_line":"  config option. API parameter will take percedence."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"* ``action_on_timeout`` - "},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_2abd5102","line":93,"range":{"start_line":93,"start_character":2,"end_line":93,"end_character":23},"updated":"2017-03-02 21:57:26.000000000","message":"and this rename to ``timeout_policy`` - which now is enum actually that has 2 values: \n-abort\n-force","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"8d53720cbc3511382d01f58f47406fd3ad464dfd","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Alternatives"},{"line_number":97,"context_line":"------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Currently nova just aborts the live-migration operation after completion"},{"line_number":100,"context_line":"timeout expires."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Data model impact"},{"line_number":103,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_6a3909a4","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":16},"updated":"2017-03-02 21:57:26.000000000","message":"why is it in alternatives?","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5273df2796aa6cffb8f0ce9cd4080a272af2cc39","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Alternatives"},{"line_number":97,"context_line":"------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Currently nova just aborts the live-migration operation after completion"},{"line_number":100,"context_line":"timeout expires."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Data model impact"},{"line_number":103,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_a9db7dec","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":16},"in_reply_to":"ba2be162_6a3909a4","updated":"2017-03-07 14:14:29.000000000","message":"Doing the existing thing is the alternative.","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"bfdfc6084fcc638a70e1b43f33ac16c247f13908","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Other deployer impact"},{"line_number":135,"context_line":"---------------------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Developer impact"},{"line_number":140,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_7b1219b6","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":4},"updated":"2017-03-07 18:54:30.000000000","message":"Shouldn\u0027t this talk about the options that going to be deprecated like live_migration_progress_timeout ?","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"8d53720cbc3511382d01f58f47406fd3ad464dfd","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Work Items"},{"line_number":157,"context_line":"----------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"* Add new conf and force timeout"},{"line_number":160,"context_line":"* Add API to expose per operation force-timeout and actions"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Dependencies"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba2be162_0a4b2d2b","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":59},"updated":"2017-03-02 21:57:26.000000000","message":"tbh, I\u0027d just rephrase this","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"bfdfc6084fcc638a70e1b43f33ac16c247f13908","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Need new tempest tests for the new API."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"Look into busy workloads inside VMs to test the above API in the gate\u0027s"},{"line_number":173,"context_line":"live-migration job."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Documentation Impact"},{"line_number":176,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a30ddce_782bffeb","line":173,"range":{"start_line":172,"start_character":0,"end_line":173,"end_character":19},"updated":"2017-03-07 18:54:30.000000000","message":"currently none of the gate job uses libvirt 1.3.3 to test post copy. so we wouldn\u0027t be able to fully test all possible actions that can be defined in action_on_timeout right ?","commit_id":"edffeffd6c3616a0c712f55f928050e5d2310319"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"28f8c87007424b514c5e244481dbc0f9cdc7df96","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"REST API impact"},{"line_number":104,"context_line":"---------------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"None"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_94f3170a","line":106,"range":{"start_line":103,"start_character":0,"end_line":106,"end_character":4},"updated":"2017-03-07 21:24:34.000000000","message":"Am I missed something? the original idea is to do things per live-migration, so we need rest api change, right?","commit_id":"ea11c70ddcdfe00020ccd1d5f37fd67a151005ec"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d82d091b98973c2eb09dc1b82bd6583394ef7b1f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Options ``libvirt.live_migration_progress_timeout`` and"},{"line_number":80,"context_line":"``libvirt.live_migration_permit_post_copy`` will be deprecated and removed in"},{"line_number":81,"context_line":"future in favor of a new configuration option"},{"line_number":82,"context_line":"``libvirt.live_migration_timeout_action``. This new option will have choice"},{"line_number":83,"context_line":"to ``abort`` (default) or ``force_complete``. This option will determine what"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a1ff146_938e0626","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":43},"updated":"2017-03-14 15:41:33.000000000","message":"I think we need to keep this option. It affects the \"force\" API, and that should stay the same.\n\nIts just the auto trigger logic that should die.","commit_id":"88c6e57581662a55237c106b04de48423fdea590"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d82d091b98973c2eb09dc1b82bd6583394ef7b1f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"actions will be taken against a VM after ``live_migration_completion_timeout``"},{"line_number":85,"context_line":"expires. Currently nova just abort the LM operation after completion timeout"},{"line_number":86,"context_line":"expires. ``force_complete`` will ensure VM moves to destination. It will use"},{"line_number":87,"context_line":"post-copy when permitted. If post-copy mode is not available,"},{"line_number":88,"context_line":"``force_complete`` falls back to pausing the VM to ensure the live-migration"},{"line_number":89,"context_line":"operation will complete."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a1ff146_13f8567c","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":25},"updated":"2017-03-14 15:41:33.000000000","message":"This is done by using live_migration_permit_post_copy. We should add that here.\n\nSo its both available in the verison of libvirt, and explicitly allowed by the operator. Thats because of the risk of needing to reboot the VM when networking is lost.","commit_id":"88c6e57581662a55237c106b04de48423fdea590"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f2f3f1211f930089cb7aa7fed5f1c150b1fde3e","unresolved":false,"context_lines":[{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Config option ``libvirt.live_migration_progress_timeout`` will be deprecated"},{"line_number":80,"context_line":"and removed in future in favor of a new configuration option"},{"line_number":81,"context_line":"``libvirt.live_migration_timeout_action``. This new option will have choice"},{"line_number":82,"context_line":"to ``abort`` (default) or ``force_complete``. This option will determine what"},{"line_number":83,"context_line":"actions will be taken against a VM after ``live_migration_completion_timeout``"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_1579f3fc","line":80,"updated":"2017-03-17 18:29:41.000000000","message":"its not really \"replaced\", I would separate these two things.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"9d86858f6ba85c1445da8eb9c8bcb5ddde82314b","unresolved":false,"context_lines":[{"line_number":77,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Config option ``libvirt.live_migration_progress_timeout`` will be deprecated"},{"line_number":80,"context_line":"and removed in future in favor of a new configuration option"},{"line_number":81,"context_line":"``libvirt.live_migration_timeout_action``. This new option will have choice"},{"line_number":82,"context_line":"to ``abort`` (default) or ``force_complete``. This option will determine what"},{"line_number":83,"context_line":"actions will be taken against a VM after ``live_migration_completion_timeout``"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_a8b0c1de","line":80,"in_reply_to":"1a1ced50_1579f3fc","updated":"2017-03-17 21:22:05.000000000","message":"Done","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f2f3f1211f930089cb7aa7fed5f1c150b1fde3e","unresolved":false,"context_lines":[{"line_number":82,"context_line":"to ``abort`` (default) or ``force_complete``. This option will determine what"},{"line_number":83,"context_line":"actions will be taken against a VM after ``live_migration_completion_timeout``"},{"line_number":84,"context_line":"expires. Currently nova just abort the LM operation after completion timeout"},{"line_number":85,"context_line":"expires. ``force_complete`` will ensure VM moves to destination. It will use"},{"line_number":86,"context_line":"post-copy when permitted. If post-copy mode is not available,"},{"line_number":87,"context_line":"``force_complete`` falls back to pausing the VM to ensure the live-migration"},{"line_number":88,"context_line":"operation will complete."},{"line_number":89,"context_line":"Curent logic in libvirt driver to auto trigger post-copy will be removed and"},{"line_number":90,"context_line":"now it will be based on config option"},{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_b5ff3f33","line":88,"range":{"start_line":85,"start_character":9,"end_line":88,"end_character":24},"updated":"2017-03-17 18:29:41.000000000","message":"I would say \"force_compelete\" are the same as if the operator called those existing API calls, i.e. it either pauses the VM or triggers post_copy depending on if post copy is allowed and available. The rest is correct, its just it sounds like you invented a new thing.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"9d86858f6ba85c1445da8eb9c8bcb5ddde82314b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"to ``abort`` (default) or ``force_complete``. This option will determine what"},{"line_number":83,"context_line":"actions will be taken against a VM after ``live_migration_completion_timeout``"},{"line_number":84,"context_line":"expires. Currently nova just abort the LM operation after completion timeout"},{"line_number":85,"context_line":"expires. ``force_complete`` will ensure VM moves to destination. It will use"},{"line_number":86,"context_line":"post-copy when permitted. If post-copy mode is not available,"},{"line_number":87,"context_line":"``force_complete`` falls back to pausing the VM to ensure the live-migration"},{"line_number":88,"context_line":"operation will complete."},{"line_number":89,"context_line":"Curent logic in libvirt driver to auto trigger post-copy will be removed and"},{"line_number":90,"context_line":"now it will be based on config option"},{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_c8b5fdcd","line":88,"range":{"start_line":85,"start_character":9,"end_line":88,"end_character":24},"in_reply_to":"1a1ced50_b5ff3f33","updated":"2017-03-17 21:22:05.000000000","message":"Done","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f2f3f1211f930089cb7aa7fed5f1c150b1fde3e","unresolved":false,"context_lines":[{"line_number":86,"context_line":"post-copy when permitted. If post-copy mode is not available,"},{"line_number":87,"context_line":"``force_complete`` falls back to pausing the VM to ensure the live-migration"},{"line_number":88,"context_line":"operation will complete."},{"line_number":89,"context_line":"Curent logic in libvirt driver to auto trigger post-copy will be removed and"},{"line_number":90,"context_line":"now it will be based on config option"},{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"NOTE: In order to use post-copy ``libvirt.live_migration_permit_post_copy`` has"},{"line_number":94,"context_line":"to be set to ``True`` and it requires libvirt\u003e\u003d1.3.3 and QEMU\u003e\u003d2.5.0."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_35650f45","line":91,"range":{"start_line":89,"start_character":0,"end_line":91,"end_character":42},"updated":"2017-03-17 18:29:41.000000000","message":"I would move this text into a separate paragraph with lines 79-80, at the top of this.\n\nThat was there is a clear flow of:\n\n* remove these few things\n* add these things","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"9d86858f6ba85c1445da8eb9c8bcb5ddde82314b","unresolved":false,"context_lines":[{"line_number":86,"context_line":"post-copy when permitted. If post-copy mode is not available,"},{"line_number":87,"context_line":"``force_complete`` falls back to pausing the VM to ensure the live-migration"},{"line_number":88,"context_line":"operation will complete."},{"line_number":89,"context_line":"Curent logic in libvirt driver to auto trigger post-copy will be removed and"},{"line_number":90,"context_line":"now it will be based on config option"},{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"NOTE: In order to use post-copy ``libvirt.live_migration_permit_post_copy`` has"},{"line_number":94,"context_line":"to be set to ``True`` and it requires libvirt\u003e\u003d1.3.3 and QEMU\u003e\u003d2.5.0."}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_e8cab94e","line":91,"range":{"start_line":89,"start_character":0,"end_line":91,"end_character":42},"in_reply_to":"1a1ced50_35650f45","updated":"2017-03-17 21:22:05.000000000","message":"Done","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f2f3f1211f930089cb7aa7fed5f1c150b1fde3e","unresolved":false,"context_lines":[{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"NOTE: In order to use post-copy ``libvirt.live_migration_permit_post_copy`` has"},{"line_number":94,"context_line":"to be set to ``True`` and it requires libvirt\u003e\u003d1.3.3 and QEMU\u003e\u003d2.5.0."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Alternatives"},{"line_number":97,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_d5fcbb40","line":94,"updated":"2017-03-17 18:29:41.000000000","message":"I would note this is not new, it just works like it did before. Its tempting to leave that detail out really.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"9d86858f6ba85c1445da8eb9c8bcb5ddde82314b","unresolved":false,"context_lines":[{"line_number":91,"context_line":"``libvirt.live_migration_timeout_action``."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"NOTE: In order to use post-copy ``libvirt.live_migration_permit_post_copy`` has"},{"line_number":94,"context_line":"to be set to ``True`` and it requires libvirt\u003e\u003d1.3.3 and QEMU\u003e\u003d2.5.0."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Alternatives"},{"line_number":97,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_08c8f554","line":94,"in_reply_to":"1a1ced50_d5fcbb40","updated":"2017-03-17 21:22:05.000000000","message":"Done","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"0aa793c0a338aa025640600676d04b95189643b1","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Notifications impact"},{"line_number":119,"context_line":"--------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Add new notification for when we trigger the timeout."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Other end user impact"},{"line_number":124,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a1ff146_56a3929e","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":52},"updated":"2017-03-14 19:54:26.000000000","message":"currently there are no notifications for any of these events. If added, it can be done for all libvirt events but as separate effort.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"9d86858f6ba85c1445da8eb9c8bcb5ddde82314b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Notifications impact"},{"line_number":119,"context_line":"--------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Add new notification for when we trigger the timeout."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Other end user impact"},{"line_number":124,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_48c2ed34","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":52},"in_reply_to":"1a1ced50_b53c9f30","updated":"2017-03-17 21:22:05.000000000","message":"Done","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0f2f3f1211f930089cb7aa7fed5f1c150b1fde3e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Notifications impact"},{"line_number":119,"context_line":"--------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Add new notification for when we trigger the timeout."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Other end user impact"},{"line_number":124,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_b53c9f30","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":52},"in_reply_to":"1a1ced50_da9308f9","updated":"2017-03-17 18:29:41.000000000","message":"Hmm, I see. I am not sure really.\n\nI am tempted to say we don\u0027t touch the notifications at all here. Lets deal with that in a separate spec.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"3aac34d811f00e394498ff136cef5ff6ff13e01d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Notifications impact"},{"line_number":119,"context_line":"--------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Add new notification for when we trigger the timeout."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Other end user impact"},{"line_number":124,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a1ced50_da9308f9","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":52},"in_reply_to":"3a1ff146_3a75f0f8","updated":"2017-03-17 17:58:32.000000000","message":"I think my comment was not clear, I was mentioning about these events _live_migration_monitor https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L6405-#L6429 which are currently being monitored. I thought it would be good to have notifications for these ones as well","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6bbd8e6cd6eb2e1e403d3295cd05c584280109e7","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Notifications impact"},{"line_number":119,"context_line":"--------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Add new notification for when we trigger the timeout."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Other end user impact"},{"line_number":124,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a1ff146_3a75f0f8","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":52},"in_reply_to":"3a1ff146_56a3929e","updated":"2017-03-17 16:08:35.000000000","message":"This section of the spec is about Nova notifications, not libvirt events.","commit_id":"bb0c57e94b14bf182f971fdaad80846a0a87d497"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cf18e89e2d1bcb91eda4e1c79f9a57037ca677a8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"The existing progress monitoring for live-migration does not work, and"},{"line_number":14,"context_line":"can\u0027t be fixed using the existing data from libvirt and QEMU. Last cycle we"},{"line_number":15,"context_line":"deprecated that configuration, and so it should be removed in Pike."},{"line_number":16,"context_line":"The automatic Post Copy is using the same flawed data, and should be removed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The remaining (scaled) completion timeout is not really sufficient for"},{"line_number":19,"context_line":"operators wanting to make good use of live-migration. To aid operators we"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_032a7c2c","line":16,"range":{"start_line":16,"start_character":14,"end_line":16,"end_character":23},"updated":"2017-03-20 09:05:44.000000000","message":"Nit: post-copy? to be consistent.","commit_id":"86cbf7952b1dbb7a2533777c855cfb872bc3eaca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cf18e89e2d1bcb91eda4e1c79f9a57037ca677a8","unresolved":false,"context_lines":[{"line_number":15,"context_line":"deprecated that configuration, and so it should be removed in Pike."},{"line_number":16,"context_line":"The automatic Post Copy is using the same flawed data, and should be removed."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The remaining (scaled) completion timeout is not really sufficient for"},{"line_number":19,"context_line":"operators wanting to make good use of live-migration. To aid operators we"},{"line_number":20,"context_line":"introduce the ability to force complete any live-migration after a given"},{"line_number":21,"context_line":"timeout."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_63f250d4","line":18,"range":{"start_line":18,"start_character":23,"end_line":18,"end_character":41},"updated":"2017-03-20 09:05:44.000000000","message":"Nit: abort on completion timeout","commit_id":"86cbf7952b1dbb7a2533777c855cfb872bc3eaca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cf18e89e2d1bcb91eda4e1c79f9a57037ca677a8","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The remaining (scaled) completion timeout is not really sufficient for"},{"line_number":19,"context_line":"operators wanting to make good use of live-migration. To aid operators we"},{"line_number":20,"context_line":"introduce the ability to force complete any live-migration after a given"},{"line_number":21,"context_line":"timeout."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_83ed8cf1","line":20,"range":{"start_line":20,"start_character":25,"end_line":20,"end_character":39},"updated":"2017-03-20 09:05:44.000000000","message":"Nit: maybe \"force-complete\"?","commit_id":"86cbf7952b1dbb7a2533777c855cfb872bc3eaca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cf18e89e2d1bcb91eda4e1c79f9a57037ca677a8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"enough information from QEMU and libvirt to correctly detect this case."},{"line_number":34,"context_line":"In parallel we should work with those communities to fix that, but in the"},{"line_number":35,"context_line":"meantime, we need to offer our operators a better experience with"},{"line_number":36,"context_line":"live-migration. This means we must remove the existing progress timeout"},{"line_number":37,"context_line":"logic and the related automatic post-copy trigger logic."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"A key observation is that the trade off between guest liveness and how long"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_c392244b","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":26},"updated":"2017-03-20 09:05:44.000000000","message":"Not sure those two statements are related?","commit_id":"86cbf7952b1dbb7a2533777c855cfb872bc3eaca"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cf18e89e2d1bcb91eda4e1c79f9a57037ca677a8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"live-migration. This means we must remove the existing progress timeout"},{"line_number":37,"context_line":"logic and the related automatic post-copy trigger logic."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"A key observation is that the trade off between guest liveness and how long"},{"line_number":40,"context_line":"you are willing to wait for a live-migration to complete is not the same for"},{"line_number":41,"context_line":"every instance, nor for each live-migration API call made on the same"},{"line_number":42,"context_line":"instance. If a failed live-migration means the guest now has to stay on the"},{"line_number":43,"context_line":"host you are in the process of patching and rebooting, the guest will have"},{"line_number":44,"context_line":"significantly more downtime than if you forced the live-migration to complete"},{"line_number":45,"context_line":"by pausing the VM."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"The force-complete (and cancel) live-migration operations help operators"},{"line_number":48,"context_line":"better control what happens. However the current APIs are a little awkward"}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_a388c823","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":18},"updated":"2017-03-20 09:05:44.000000000","message":"This is correct, but not actually helped in spec right?","commit_id":"86cbf7952b1dbb7a2533777c855cfb872bc3eaca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a7426ec0adfe2bb03b49c56c1d75183130612749","unresolved":false,"context_lines":[{"line_number":21,"context_line":"timeout. Sadly we do not get enough information from QEMU and libvirt to"},{"line_number":22,"context_line":"correctly detect this case. As we were were sampling a saw tooth wave, it was"},{"line_number":23,"context_line":"possible for us to think little progress was being made, when in fact that"},{"line_number":24,"context_line":"was not the case. In addition, only memory was being monitoring, so large"},{"line_number":25,"context_line":"block_migrations always looked like they were making no progress."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Last cycle we deprecated that progress timeout, and disabled it by default."}],"source_content_type":"text/x-rst","patch_set":11,"id":"dfeb2761_0e06611e","line":24,"updated":"2017-04-04 20:42:14.000000000","message":"s/was being monitoring/was monitored/","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a7426ec0adfe2bb03b49c56c1d75183130612749","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Automatic post-copy used to be able to help with this use case, ensuring Nova"},{"line_number":40,"context_line":"does its best to ensure the live-migration completes, at the cost of a little"},{"line_number":41,"context_line":"more VM downtime. We should look at a replacement for automatic post-copy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dfeb2761_ee069d1c","line":41,"updated":"2017-04-04 20:42:14.000000000","message":"The cost is more than just more VM downtime. There is a definite increased risk of corrupting or losing the VM when using post-copy vs. pre-copy live migration.","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"49962a88938df58ee077445355eb593306668ae2","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Automatic post-copy used to be able to help with this use case, ensuring Nova"},{"line_number":40,"context_line":"does its best to ensure the live-migration completes, at the cost of a little"},{"line_number":41,"context_line":"more VM downtime. We should look at a replacement for automatic post-copy."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7ffa3b31_e4f52e85","line":41,"in_reply_to":"dfeb2761_ee069d1c","updated":"2017-04-13 21:18:37.000000000","message":"++ with what Jay said.","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a7426ec0adfe2bb03b49c56c1d75183130612749","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Operators wants to patch a host and want to move all the VM\u0027s out of that"},{"line_number":47,"context_line":"  host, with minimal impact to the VMs, so they use live-migration. If the VM"},{"line_number":48,"context_line":"  isn\u0027t live-migrated there will be significant VM downtime, so its better to"},{"line_number":49,"context_line":"  take a little more VM downtime during the live-migration so the VM is able"},{"line_number":50,"context_line":"  to avoid the much larger amount of downtime should the VM not get moved"},{"line_number":51,"context_line":"  by the live-migration."}],"source_content_type":"text/x-rst","patch_set":11,"id":"dfeb2761_ce0bd921","line":48,"updated":"2017-04-04 20:42:14.000000000","message":"s/so its/so it\u0027s/","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a7426ec0adfe2bb03b49c56c1d75183130612749","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Config option ``libvirt.live_migration_progress_timeout`` was deprecated in"},{"line_number":57,"context_line":"  Ocata, and can now be removed."},{"line_number":58,"context_line":"* Curent logic in libvirt driver to auto trigger post-copy will be removed."},{"line_number":59,"context_line":"* A new configuration option ``libvirt.live_migration_timeout_action`` will be"},{"line_number":60,"context_line":"  added. This new option will have choice to ``abort`` (default) or"},{"line_number":61,"context_line":"  ``force_complete``. This option will determine what actions will be taken"}],"source_content_type":"text/x-rst","patch_set":11,"id":"dfeb2761_ae141545","line":58,"updated":"2017-04-04 20:42:14.000000000","message":"s/Curent/Current/","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"49962a88938df58ee077445355eb593306668ae2","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* Config option ``libvirt.live_migration_progress_timeout`` was deprecated in"},{"line_number":57,"context_line":"  Ocata, and can now be removed."},{"line_number":58,"context_line":"* Curent logic in libvirt driver to auto trigger post-copy will be removed."},{"line_number":59,"context_line":"* A new configuration option ``libvirt.live_migration_timeout_action`` will be"},{"line_number":60,"context_line":"  added. This new option will have choice to ``abort`` (default) or"},{"line_number":61,"context_line":"  ``force_complete``. This option will determine what actions will be taken"},{"line_number":62,"context_line":"  against a VM after ``live_migration_completion_timeout`` expires. Currently"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7ffa3b31_a444c6b8","line":59,"range":{"start_line":59,"start_character":31,"end_line":59,"end_character":70},"updated":"2017-04-13 21:18:37.000000000","message":"nit: [libvirt]/live_migration_timeout_action","commit_id":"39b127d35306d9086378f17d16f674b24ca2913b"}]}
