)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":11,"context_line":"tracking is done at both node."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"At dest, \u0027live_migration_at_dest\u0027 task is started in"},{"line_number":14,"context_line":"pre_live_migration. and ended in eiter"},{"line_number":15,"context_line":"post_live_migration_at_destination or"},{"line_number":16,"context_line":" rollback_live_migration_at_destination"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1b98c065_b1bccf0a","line":14,"range":{"start_line":14,"start_character":33,"end_line":14,"end_character":38},"updated":"2026-09-04 16:55:30.000000000","message":"either","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a2c16551dc0978dea9df8e25c8c750ff9d64210","unresolved":false,"context_lines":[{"line_number":11,"context_line":"tracking is done at both node."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"At dest, \u0027live_migration_at_dest\u0027 task is started in"},{"line_number":14,"context_line":"pre_live_migration. and ended in eiter"},{"line_number":15,"context_line":"post_live_migration_at_destination or"},{"line_number":16,"context_line":" rollback_live_migration_at_destination"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"300d0c72_c622bd48","line":14,"range":{"start_line":14,"start_character":33,"end_line":14,"end_character":38},"in_reply_to":"1b98c065_b1bccf0a","updated":"2026-09-10 17:12:01.000000000","message":"Done","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":24,"context_line":"In all cases, we should end the recorded task and to handle this"},{"line_number":25,"context_line":"case, source node should always notify the destination about rollback"},{"line_number":26,"context_line":"and destination can perform the required rollbacl/cleanup and at least"},{"line_number":27,"context_line":"always end the live migration on dest."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Closes\u003dBug: #2166009"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1d607a40_d37d2ad2","line":27,"updated":"2026-09-04 16:55:30.000000000","message":"Ugh, this is going to complicate my cross-cell migration PoC :/","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a2c16551dc0978dea9df8e25c8c750ff9d64210","unresolved":false,"context_lines":[{"line_number":24,"context_line":"In all cases, we should end the recorded task and to handle this"},{"line_number":25,"context_line":"case, source node should always notify the destination about rollback"},{"line_number":26,"context_line":"and destination can perform the required rollbacl/cleanup and at least"},{"line_number":27,"context_line":"always end the live migration on dest."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Closes\u003dBug: #2166009"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"63ddcd7f_77e8e820","line":27,"in_reply_to":"1d607a40_d37d2ad2","updated":"2026-09-10 17:12:01.000000000","message":"Done","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":26,"context_line":"and destination can perform the required rollbacl/cleanup and at least"},{"line_number":27,"context_line":"always end the live migration on dest."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Closes\u003dBug: #2166009"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] https://github.com/openstack/nova/blob/d3a1c95d06c2d97368207c2728fc262796683ad8/nova/compute/manager.py#L10560"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aacd2224_5f0547cf","line":29,"updated":"2026-09-04 16:55:30.000000000","message":"Closes-Bug","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9a2c16551dc0978dea9df8e25c8c750ff9d64210","unresolved":false,"context_lines":[{"line_number":26,"context_line":"and destination can perform the required rollbacl/cleanup and at least"},{"line_number":27,"context_line":"always end the live migration on dest."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Closes\u003dBug: #2166009"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[1] https://github.com/openstack/nova/blob/d3a1c95d06c2d97368207c2728fc262796683ad8/nova/compute/manager.py#L10560"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a2285010_6304d01f","line":29,"in_reply_to":"aacd2224_5f0547cf","updated":"2026-09-10 17:12:01.000000000","message":"Done","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"25784b40_6a5b7aad","updated":"2026-09-04 16:55:30.000000000","message":"TBH I don\u0027t love this change as it feels like subverting the RPC versioning.\n\nCan we not do something else like make the pending task check for the do_cleanup flag relevance and end earlier to avoid the hang? I haven\u0027t gone to look at the mechanics there so maybe it\u0027s a stupid question, but... some sort of way to avoid that hang without the extra call and RPC behavior seems like it would be a lot better. \n\n(I promise I\u0027m not just saying this because of the noted conflict with my PoC, all of this will complicate that stuff not just this one thing :D)","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e075486ca1307f119a9e8de886e7321c75085a77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"365d99d6_420cd2f3","updated":"2026-09-03 08:53:13.000000000","message":"looks reasonable and tempest passes so I think we can land this. We need to be ready to revert if later testing shows that moving the cleanup decision to the dest has unwanted sideeffects.","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"766cb57f30389f8f23d940c1ad2b81b08e38a142","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"279112f3_25e56a92","in_reply_to":"25784b40_6a5b7aad","updated":"2026-09-04 21:41:42.000000000","message":"\u003e TBH I don\u0027t love this change as it feels like subverting the RPC versioning.\n\u003e \n\u003e Can we not do something else like make the pending task check for the do_cleanup flag relevance and end earlier to avoid the hang? I haven\u0027t gone to look at the mechanics there so maybe it\u0027s a stupid question, but... some sort of way to avoid that hang without the extra call and RPC behavior seems like it would be a lot better. \n\nIn case of do_cleanup\u003dfalse, source does not call any RPC to dest so dest have not idea if rollback has happened and live migration is done. To end the task we need at least a RPC call to dest. In part-3, I am planning to provide a simple RPC cast to end the task which can help to source and dest to end task if any stuck due to failure on their side.\n\nBut for this release, I am not sure what is best and simple way to fix this issue.\n\nIf we see from production side, if any task is leaked then worst case (only when rollback at source happen without calling dest (no cleanup needed on dest)), graceful shutdown will take full time and timeout saying \"live migration at dest\" is in-progress. is that exceptable to keep this bug as known bug and fix it in part-3 where we can make a sepaarte end_task RPC cast with RPC version bump? or if we are fine to do that at this stage then I can do it in this release itself.","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"725d7b2b878612610aa0f0fd6ba2a7562b52468b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7d1a5d72_d0a3439e","in_reply_to":"279112f3_25e56a92","updated":"2026-09-09 15:55:17.000000000","message":"I dunno, to be honest. On the one hand, I think a new RPC call would be cleaner, but it\u0027d be very specific and only for this error case. Changing the current call to have the semantics you show here probably makes more sense (although I note you also haven\u0027t addressed the comment about skipping the call you reordered). If we do what you have here I just think we kinda need to bump the RPC version and only do it if the version pin is new enough. Adding the param as you describe would let us do that as rpcapi could just drop-and-log the call if the pin is old enough and do_cleanup\u003dFalse (or whatever the logic is).\n\nWhat will happen if we do this cleanup call on an older node that doesn\u0027t have anything to clean up? Will we see an error? I would expect there to be a traceback when it fails to cleanup whatever is asked but not ready to be cleaned up?","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"76d7f3c274c06658170d274697492f0657eb4699","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f0470993_f379330d","in_reply_to":"365d99d6_420cd2f3","updated":"2026-09-04 15:59:04.000000000","message":"ack, If we face any issue with this, I am ok to revert. I can try to implement some general mechanism to end the tasks on other node when the operation is failing in-between and node does not notify the other node about it. basically we need some new RPC call to do that. I am planning to do that in part-3 of graceful shutdown where we need to make operations failure more graceful and proper communication between source and dest node can also be handled that time.","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"41cdd2265d2392e2ec0304d90f176788cab59d0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"958cfd32_3f0e86a7","in_reply_to":"7d1a5d72_d0a3439e","updated":"2026-09-09 17:06:10.000000000","message":"\u003e I dunno, to be honest. On the one hand, I think a new RPC call would be cleaner, but it\u0027d be very specific and only for this error case. Changing the current call to have the semantics you show here probably makes more sense \n\nok, adding a new RPC call to end the task is surly cleaner way. though that also need RPC version bump but at least that will not touch the cleanup order and changing existing rollback RPC arg (though that is not big deal).\n\n\u003e(although I note you also haven\u0027t addressed the comment about skipping the call you reordered).\n\nSorry, I did not get, which comment exactly?\n\n\n\u003eIf we do what you have here I just think we kinda need to bump the RPC version and only do it if the version pin is new enough. Adding the param as you describe would let us do that as rpcapi could just drop-and-log the call if the pin is old enough and do_cleanup\u003dFalse (or whatever the logic is).\n\u003e \n\u003e What will happen if we do this cleanup call on an older node that doesn\u0027t have anything to clean up? Will we see an error? I would expect there to be a traceback when it fails to cleanup whatever is asked but not ready to be cleaned up?\n\nI have not tested it but I am sure it will fail, dest rollback do lot of things including driver.rollback_live_migration_at_destination()","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"01ba6c307d3320aac541e4ff48fbd9b835f65867","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d1563481_e9563aed","updated":"2026-09-09 17:28:27.000000000","message":"it appears to me we could have rolling upgrade concerns where old computes would have different expectations than new computes when those calls would be made. I tend to agree with Dan that given that, I\u0027d rather want us to change the API signature and take that opportunity to pass a flag to keep the existing behaviour based on the RPC negociation.","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"4a4f97b2e312999d8068723a1ab4fed6a7d68cc5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"acdc9b61_543c2c7c","updated":"2026-09-09 18:32:12.000000000","message":"yes, I agree on the upgrade impact and also do not want to bump the RPC version at this stage.\n\nWe (dan,sylvain and I) discussed it in IRC today[1] and most probably best option here is to list this as \u0027known bug\u0027: means in this particular scenario of migration rollback, graceful shutdown task tracking is not improving anythng and it will continue to take full time manager_shutdown_timeout to shutdown the comoute service. Which is nothing but same as in previous release, means no regression but known bug in improvement.\n\nIn next release (graceful shutdown part-3), we can go witht the dan idea about polling the migration object to end the hanging task (i can try to design that and see how it goes). That is (should be) backportable in case we have to fix that in stable branches.\n\nif we all agree on that, I can modify this change to list this as known bug in relase notes and move fix to next release.\n\n[1] https://meetings.opendev.org/irclogs/%23openstack-nova/%23openstack-nova.2026-09-09.log.html#openstack-nova.2026-09-09.log.html#t2026-09-09T15:27:44","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ba0cbefefca1f0b56a79d1f1069c72d1f79d7d60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e9914576_0afd06c0","in_reply_to":"a2209d1f_b4988af7","updated":"2026-09-10 10:01:05.000000000","message":"and it is OK to delay the functional test improvements that catches other potential leaked tasks until we can fix this.","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0a4e99ae25bf0a4914d511fdd2857cf0fb4d9cc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fe5c6c00_8584de55","in_reply_to":"acdc9b61_543c2c7c","updated":"2026-09-09 18:52:13.000000000","message":"Yep, +1 to leaving it as a known bug for this cycle (it is very rare and not fatal anyway). We can discuss the options for addressing it in I and do it there.\n\nThanks gmaan!","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9019dc1e23cb5a9e0d2d101b36f9d2d814d1079e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c60a7ff9_b5b37c92","in_reply_to":"e9914576_0afd06c0","updated":"2026-09-10 16:42:18.000000000","message":"cool, I will update it. About functional tests, let me check if we can still switch to default values and keep failing tests as TODO to switch but depends on how many of them, otherwise ok to defer the functional tests improvement.","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d43dd5b64598e6ae69153eee2ce9635f9eea0658","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a2209d1f_b4988af7","in_reply_to":"fe5c6c00_8584de55","updated":"2026-09-10 10:00:06.000000000","message":"I\u0027m OK to keep as a known bug for now. I agree that it is not fatal thing to have this task leaked as it only slows down the shutdown, does not prevent it","commit_id":"89f1f5ef774d5f7a1c12ddbdb0803b655eaedac0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c50f156caf0fb8ba5ce1b96e27db112c46291b3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0457a015_be20bac4","updated":"2026-09-10 17:26:17.000000000","message":"I\u0027ll +2 this so you can +W if you want, but just a clarification nit inline","commit_id":"c4e548ad9fcdc50dd037fc472da218e944bd05e1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"493349e6ee852a3acbedeee662f61ebc30bd5233","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"cc66a54d_d363ad32","updated":"2026-09-10 17:23:30.000000000","message":"wfm","commit_id":"c4e548ad9fcdc50dd037fc472da218e944bd05e1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e6198465743a3751bd191c99cad5c21bfbb9988a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f60fbaba_ce51b159","updated":"2026-09-10 17:38:36.000000000","message":"Minor wording tweak, ninja approving.","commit_id":"a918575beb3522e8634a83682decb74a03d49f81"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"76d9497b02700ba1b5238b2435f6fccd8e111f32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b6b61bf6_64ba4c43","updated":"2026-09-10 20:16:11.000000000","message":"Thanks","commit_id":"a918575beb3522e8634a83682decb74a03d49f81"}],"nova/compute/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":10569,"context_line":"                        \u0027manually clean up resources in the network service. \u0027"},{"line_number":10570,"context_line":"                        \u0027Error: %s\u0027, dest, str(e))"},{"line_number":10571,"context_line":"                except Exception:"},{"line_number":10572,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":10573,"context_line":"                        LOG.exception("},{"line_number":10574,"context_line":"                            \u0027An error occurred while cleaning up networking \u0027"},{"line_number":10575,"context_line":"                            \u0027during live migration rollback.\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f939215c_d7af8011","line":10572,"updated":"2026-09-04 16:55:30.000000000","message":"This will prevent us from doing the call that used to happen before this...","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":10652,"context_line":"        :param migrate_data: contains migration info"},{"line_number":10653,"context_line":"        \"\"\""},{"line_number":10654,"context_line":"        # NOTE(gmaan): The source compute always call this on rollback, even"},{"line_number":10655,"context_line":"        # when there us nothing to rollback ar destination but it will inform"},{"line_number":10656,"context_line":"        # destination that live migration operation is done now and it can end"},{"line_number":10657,"context_line":"        # the live migration task at destination side."},{"line_number":10658,"context_line":"        do_cleanup, _ \u003d self._live_migration_cleanup_flags("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a07253e_2d9773e0","line":10655,"range":{"start_line":10655,"start_character":21,"end_line":10655,"end_character":24},"updated":"2026-09-04 16:55:30.000000000","message":"\"is\" and \"at\"","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1d33cacb9c253f4d5f3a7da8521f357555151e77","unresolved":true,"context_lines":[{"line_number":10655,"context_line":"        # when there us nothing to rollback ar destination but it will inform"},{"line_number":10656,"context_line":"        # destination that live migration operation is done now and it can end"},{"line_number":10657,"context_line":"        # the live migration task at destination side."},{"line_number":10658,"context_line":"        do_cleanup, _ \u003d self._live_migration_cleanup_flags("},{"line_number":10659,"context_line":"                migrate_data, migr_ctxt\u003dinstance.migration_context)"},{"line_number":10660,"context_line":"        try:"},{"line_number":10661,"context_line":"            if do_cleanup:"},{"line_number":10662,"context_line":"                self._do_rollback_live_migration_at_destination("}],"source_content_type":"text/x-python","patch_set":1,"id":"8a8cec97_c0b2eecb","line":10659,"range":{"start_line":10658,"start_character":0,"end_line":10659,"end_character":67},"updated":"2026-09-02 15:39:55.000000000","message":"notes to reviewer: we could pass do_cleanup as a arg from source but that require RPC version up. So to avoid that, I am calculating it at dest side also.","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e50981e1727151c41fa7bc20270fab9185c8c69d","unresolved":true,"context_lines":[{"line_number":10655,"context_line":"        # when there us nothing to rollback ar destination but it will inform"},{"line_number":10656,"context_line":"        # destination that live migration operation is done now and it can end"},{"line_number":10657,"context_line":"        # the live migration task at destination side."},{"line_number":10658,"context_line":"        do_cleanup, _ \u003d self._live_migration_cleanup_flags("},{"line_number":10659,"context_line":"                migrate_data, migr_ctxt\u003dinstance.migration_context)"},{"line_number":10660,"context_line":"        try:"},{"line_number":10661,"context_line":"            if do_cleanup:"},{"line_number":10662,"context_line":"                self._do_rollback_live_migration_at_destination("}],"source_content_type":"text/x-python","patch_set":1,"id":"936b022d_5975b57c","line":10659,"range":{"start_line":10658,"start_character":0,"end_line":10659,"end_character":67},"in_reply_to":"8a8cec97_c0b2eecb","updated":"2026-09-04 16:55:30.000000000","message":"Yes but you\u0027re also already changing the RPC API with this anyway.. you\u0027re calling the thing under different conditions/assumptions. If you\u0027re migrating from new to old then the old node will always call do_cleanup anyway right?","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"766cb57f30389f8f23d940c1ad2b81b08e38a142","unresolved":true,"context_lines":[{"line_number":10655,"context_line":"        # when there us nothing to rollback ar destination but it will inform"},{"line_number":10656,"context_line":"        # destination that live migration operation is done now and it can end"},{"line_number":10657,"context_line":"        # the live migration task at destination side."},{"line_number":10658,"context_line":"        do_cleanup, _ \u003d self._live_migration_cleanup_flags("},{"line_number":10659,"context_line":"                migrate_data, migr_ctxt\u003dinstance.migration_context)"},{"line_number":10660,"context_line":"        try:"},{"line_number":10661,"context_line":"            if do_cleanup:"},{"line_number":10662,"context_line":"                self._do_rollback_live_migration_at_destination("}],"source_content_type":"text/x-python","patch_set":1,"id":"03359b10_faf2fd07","line":10659,"range":{"start_line":10658,"start_character":0,"end_line":10659,"end_character":67},"in_reply_to":"936b022d_5975b57c","updated":"2026-09-04 21:41:42.000000000","message":"yeah, old destination will always do the cleanup and new one based on flag so yes, it is change in RPC API.","commit_id":"9d2b3b14f33570ec28396be9c46d0267028a143d"}],"releasenotes/notes/nova-graceful-shutdown-task-tracking-13485c8346512ae4.yaml":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c50f156caf0fb8ba5ce1b96e27db112c46291b3c","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    always sleeping for the full timeout."},{"line_number":11,"context_line":"known_issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    There is a known issue where the ``live_migration_at_dest`` task is"},{"line_number":14,"context_line":"    left in-progress if the live migration is rolled back during"},{"line_number":15,"context_line":"    ``pre_live_migration``. Since the source and destination compute"},{"line_number":16,"context_line":"    services track their tasks independently, the source compute cannot"},{"line_number":17,"context_line":"    end the task tracked on the destination in this case, leaving it"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"24a9c5cd_292bc231","line":14,"range":{"start_line":13,"start_character":70,"end_line":14,"end_character":9},"updated":"2026-09-10 17:26:17.000000000","message":"should we way \"may be\" left in progress? AFAICT, it will only happen if we decide we have no cleanup to do. Having vTPM or non-shared-storage (i.e. using block migration) as part of the migration we started will cause it to run the cleanup anyway right?","commit_id":"c4e548ad9fcdc50dd037fc472da218e944bd05e1"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"78a744ffc3a5d4b80cebf47a9b0384317529c47e","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    always sleeping for the full timeout."},{"line_number":11,"context_line":"known_issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    There is a known issue where the ``live_migration_at_dest`` task is"},{"line_number":14,"context_line":"    left in-progress if the live migration is rolled back during"},{"line_number":15,"context_line":"    ``pre_live_migration``. Since the source and destination compute"},{"line_number":16,"context_line":"    services track their tasks independently, the source compute cannot"},{"line_number":17,"context_line":"    end the task tracked on the destination in this case, leaving it"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"f557b680_267e1e1e","line":14,"range":{"start_line":13,"start_character":70,"end_line":14,"end_character":9},"in_reply_to":"24a9c5cd_292bc231","updated":"2026-09-10 17:35:57.000000000","message":"yes, for non-shared or vtpm cases it will do the cleanup and task will not hang. done","commit_id":"c4e548ad9fcdc50dd037fc472da218e944bd05e1"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e6198465743a3751bd191c99cad5c21bfbb9988a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    always sleeping for the full timeout."},{"line_number":11,"context_line":"known_issues:"},{"line_number":12,"context_line":"  - |"},{"line_number":13,"context_line":"    There is a known issue where the ``live_migration_at_dest`` task is"},{"line_number":14,"context_line":"    left in-progress if the live migration is rolled back during"},{"line_number":15,"context_line":"    ``pre_live_migration``. Since the source and destination compute"},{"line_number":16,"context_line":"    services track their tasks independently, the source compute cannot"},{"line_number":17,"context_line":"    end the task tracked on the destination in this case, leaving it"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0168a482_f1a73bc3","line":14,"range":{"start_line":13,"start_character":70,"end_line":14,"end_character":9},"in_reply_to":"f557b680_267e1e1e","updated":"2026-09-10 17:38:36.000000000","message":"Done","commit_id":"c4e548ad9fcdc50dd037fc472da218e944bd05e1"}]}
