)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"29b64af66993dfaa3d88388ea88a8ef40e7f4247","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: John Garbutt \u003cjohn@johngarbutt.com\u003e"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"blueprint live-migration-force-after-timeout"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Iad04f7031ab1fac5cce02053cc26fef6354b4966"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_ea3acf95","line":17,"range":{"start_line":17,"start_character":10,"end_line":17,"end_character":44},"updated":"2018-09-07 19:39:14.000000000","message":"The spec filename needs to match this.","commit_id":"0a133b86ddc48cb522261bfb21c4a77b07763c58"}],"specs/stein/approved/live-migration-force-after-timeout-stein.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c4ffcafe","line":20,"range":{"start_line":20,"start_character":20,"end_line":20,"end_character":47},"updated":"2018-09-07 18:04:55.000000000","message":"? Maybe this was supposed to be \"than the completion timeout\", which refers to https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.live_migration_completion_timeout - would be good to link to these options for reference.","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_a40e4ee1","line":20,"range":{"start_line":20,"start_character":20,"end_line":20,"end_character":47},"in_reply_to":"3f79a3b5_c4ffcafe","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_841eb25c","line":21,"range":{"start_line":20,"start_character":49,"end_line":21,"end_character":8},"updated":"2018-09-07 18:04:55.000000000","message":"I guess this is referring to https://docs.openstack.org/nova/latest/configuration/config.html#libvirt.live_migration_progress_timeout which is still deprecated but not yet removed, and the \"serious bug\" referred to there is bug 1644248 where it would incorrectly timeout the live migration even though it was progressing.","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_44f97ac5","line":21,"range":{"start_line":20,"start_character":49,"end_line":21,"end_character":8},"in_reply_to":"3f79a3b5_841eb25c","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_84531216","line":22,"range":{"start_line":22,"start_character":34,"end_line":22,"end_character":43},"updated":"2018-09-07 18:04:55.000000000","message":"were","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":19,"context_line":"In an ideal world, we could tell when a VM looks unable to move, and warn"},{"line_number":20,"context_line":"the operator sooner that the completion timeout. This was the progress"},{"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."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_24fa3eb9","line":22,"range":{"start_line":22,"start_character":34,"end_line":22,"end_character":43},"in_reply_to":"3f79a3b5_84531216","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","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":2,"id":"3f79a3b5_a4564e04","line":24,"range":{"start_line":24,"start_character":53,"end_line":24,"end_character":63},"updated":"2018-09-07 18:04:55.000000000","message":"monitored","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","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":2,"id":"3f79a3b5_04ff02ab","line":24,"range":{"start_line":24,"start_character":53,"end_line":24,"end_character":63},"in_reply_to":"3f79a3b5_a4564e04","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c476eaa4","line":25,"updated":"2018-09-07 18:04:55.000000000","message":"I believe John / OSIC had an article and summit session about this, we should refer to those because the way this is written, it\u0027s kind of hard to know the context this much later without the original people involved.\n\nhttp://superuser.openstack.org/wp-content/uploads/2017/06/ha-livemigrate-whitepaper.pdf\n\nhttps://www.openstack.org/videos/boston-2017/openstack-in-motion-live-migration","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_84d9d256","line":25,"in_reply_to":"3f79a3b5_c476eaa4","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."},{"line_number":29,"context_line":"The automatic post-copy is using the same flawed data, so that logic should"},{"line_number":30,"context_line":"also be removed."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_24b0fe3f","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":10},"updated":"2018-09-07 18:04:55.000000000","message":"This should say in Ocata we deprecated it via https://review.openstack.org/#/c/431635/.","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."},{"line_number":29,"context_line":"The automatic post-copy is using the same flawed data, so that logic should"},{"line_number":30,"context_line":"also be removed."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_44e73a13","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":10},"in_reply_to":"3f79a3b5_24b0fe3f","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."},{"line_number":29,"context_line":"The automatic post-copy is using the same flawed data, so that logic should"},{"line_number":30,"context_line":"also be removed."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c484aa60","line":28,"range":{"start_line":28,"start_character":68,"end_line":28,"end_character":75},"updated":"2018-09-07 18:04:55.000000000","message":"now","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"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."},{"line_number":28,"context_line":"Given there is no quick way to make that work, it should be removed in Pike."},{"line_number":29,"context_line":"The automatic post-copy is using the same flawed data, so that logic should"},{"line_number":30,"context_line":"also be removed."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_64e27603","line":28,"range":{"start_line":28,"start_character":68,"end_line":28,"end_character":75},"in_reply_to":"3f79a3b5_c484aa60","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_e4ec462a","line":46,"range":{"start_line":46,"start_character":59,"end_line":46,"end_character":63},"updated":"2018-09-07 18:04:55.000000000","message":"VMs","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_2489de6d","line":46,"range":{"start_line":46,"start_character":12,"end_line":46,"end_character":17},"updated":"2018-09-07 18:04:55.000000000","message":"want","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_84b23205","line":46,"range":{"start_line":46,"start_character":12,"end_line":46,"end_character":17},"in_reply_to":"3f79a3b5_2489de6d","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Use Cases"},{"line_number":44,"context_line":"---------"},{"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"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_e4bf66cd","line":46,"range":{"start_line":46,"start_character":59,"end_line":46,"end_character":63},"in_reply_to":"3f79a3b5_e4ec462a","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","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":2,"id":"3f79a3b5_04e38235","line":58,"range":{"start_line":58,"start_character":2,"end_line":58,"end_character":8},"updated":"2018-09-07 18:04:55.000000000","message":"Current","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","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":2,"id":"3f79a3b5_a4b5eeee","line":58,"range":{"start_line":58,"start_character":2,"end_line":58,"end_character":8},"in_reply_to":"3f79a3b5_04e38235","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"58c2a775cba6629543f5259c2aaaed81c496db08","unresolved":false,"context_lines":[{"line_number":146,"context_line":"Testing"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Add tempest and unit tests to test new logic."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation Impact"},{"line_number":152,"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":2,"id":"3f79a3b5_24b79e23","line":149,"range":{"start_line":149,"start_character":4,"end_line":149,"end_character":11},"updated":"2018-09-07 18:04:55.000000000","message":"We likely can\u0027t test this in tempest, it would be too racy. So maybe just in-tree functional tests where we can control the flow of events to make sure the logic is correct when we hit the timeout and what happens based on the config.","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f99d4626ad06d736ec5dd7976b7d45bf25536f08","unresolved":false,"context_lines":[{"line_number":146,"context_line":"Testing"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Add tempest and unit tests to test new logic."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation Impact"},{"line_number":152,"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":2,"id":"3f79a3b5_44d09a1f","line":149,"range":{"start_line":149,"start_character":4,"end_line":149,"end_character":11},"in_reply_to":"3f79a3b5_24b79e23","updated":"2018-09-07 18:18:52.000000000","message":"Done","commit_id":"8d58a2fc293f9bbb3899473d3f8fa702fa86d9eb"}],"specs/stein/approved/live-migration-force-after-timeout.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3cb5d75c3cd0766de6833fddf16bc82c92e9f381","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* Operators want to patch a host and want to move all the VMs out of that"},{"line_number":52,"context_line":"  host, with minimal impact to the VMs, so they use live-migration. If the VM"},{"line_number":53,"context_line":"  isn\u0027t live-migrated there will be significant VM downtime, so its better to"},{"line_number":54,"context_line":"  take a little more VM downtime during the live-migration so the VM is able"},{"line_number":55,"context_line":"  to avoid the much larger amount of downtime should the VM not get moved"},{"line_number":56,"context_line":"  by the live-migration."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_7f8d0a2f","line":53,"range":{"start_line":53,"start_character":64,"end_line":53,"end_character":67},"updated":"2018-09-09 18:32:55.000000000","message":"it\u0027s","commit_id":"c974aa1bbe830fef818b91857839f2d67a42fd1a"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3cb5d75c3cd0766de6833fddf16bc82c92e9f381","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* Config option ``libvirt.live_migration_progress_timeout`` was deprecated in"},{"line_number":62,"context_line":"  Ocata, and can now be removed."},{"line_number":63,"context_line":"* Current logic in libvirt driver to auto trigger post-copy will be removed."},{"line_number":64,"context_line":"* A new configuration option ``libvirt.live_migration_timeout_action`` will be"},{"line_number":65,"context_line":"  added. This new option will have choice to ``abort`` (default) or"},{"line_number":66,"context_line":"  ``force_complete``. This option will determine what actions will be taken"},{"line_number":67,"context_line":"  against a VM after ``live_migration_completion_timeout`` expires. Currently"},{"line_number":68,"context_line":"  nova just aborts the LM operation after completion timeout expires."},{"line_number":69,"context_line":"  By default, we keep the same behavior of aborting after completion timeout."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_3f831205","line":66,"range":{"start_line":64,"start_character":2,"end_line":66,"end_character":21},"updated":"2018-09-09 18:32:55.000000000","message":"So presumably I may want this to be \"abort\" most of the time, but if I need to evacuate a host, I switch it to \"force_complete\", restart nova-compute, and then start with my host evac. Makes sense to me.\n\nPresumably this could easily be a hot-reloadable config option since we just need to examine it at the point at which we need to make a decision? That would mean if I start a bunch of migrations, and I notice they are taking a long time, I could flip the config before the timeout and have the force-complete happen instead of the abort?","commit_id":"c974aa1bbe830fef818b91857839f2d67a42fd1a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8cf63c8c7efef3b46f65f0d98795dd93b3d7734f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* Config option ``libvirt.live_migration_progress_timeout`` was deprecated in"},{"line_number":62,"context_line":"  Ocata, and can now be removed."},{"line_number":63,"context_line":"* Current logic in libvirt driver to auto trigger post-copy will be removed."},{"line_number":64,"context_line":"* A new configuration option ``libvirt.live_migration_timeout_action`` will be"},{"line_number":65,"context_line":"  added. This new option will have choice to ``abort`` (default) or"},{"line_number":66,"context_line":"  ``force_complete``. This option will determine what actions will be taken"},{"line_number":67,"context_line":"  against a VM after ``live_migration_completion_timeout`` expires. Currently"},{"line_number":68,"context_line":"  nova just aborts the LM operation after completion timeout expires."},{"line_number":69,"context_line":"  By default, we keep the same behavior of aborting after completion timeout."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_33a4a906","line":66,"range":{"start_line":64,"start_character":2,"end_line":66,"end_character":21},"in_reply_to":"3f79a3b5_3f831205","updated":"2018-09-10 04:33:06.000000000","message":"The live_migration_completion_timeout and live_migration_progress_timeout options are mutable so I\u0027d think we could make the new option mutable as well. Maybe make a note in the spec in a follow up.","commit_id":"c974aa1bbe830fef818b91857839f2d67a42fd1a"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"0a0680846ab411fe4a787b090329f4db3bbf0549","unresolved":false,"context_lines":[{"line_number":61,"context_line":"* Config option ``libvirt.live_migration_progress_timeout`` was deprecated in"},{"line_number":62,"context_line":"  Ocata, and can now be removed."},{"line_number":63,"context_line":"* Current logic in libvirt driver to auto trigger post-copy will be removed."},{"line_number":64,"context_line":"* A new configuration option ``libvirt.live_migration_timeout_action`` will be"},{"line_number":65,"context_line":"  added. This new option will have choice to ``abort`` (default) or"},{"line_number":66,"context_line":"  ``force_complete``. This option will determine what actions will be taken"},{"line_number":67,"context_line":"  against a VM after ``live_migration_completion_timeout`` expires. Currently"},{"line_number":68,"context_line":"  nova just aborts the LM operation after completion timeout expires."},{"line_number":69,"context_line":"  By default, we keep the same behavior of aborting after completion timeout."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Please note the ``abort`` and ``force_complete`` actions that are options in"},{"line_number":72,"context_line":"``live_migration_timeout_action`` config option are the same as if you were to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3f79a3b5_140ce937","line":69,"range":{"start_line":64,"start_character":0,"end_line":69,"end_character":77},"updated":"2018-09-10 16:58:57.000000000","message":"I like the idea of adding controls...would it maybe make more sense to add it as a migration parameter instead of a config option?  It may be that for a certain critical pet I might not want to risk using post-copy but I still want to force the live-migration to complete.  We could name it something generic to avoid getting too libvirt-specific.","commit_id":"c974aa1bbe830fef818b91857839f2d67a42fd1a"}]}
