)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"238df7e0e3d38d67a76654a4e7a14ca4acf0f598","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0f1ec5a5_27e85080","updated":"2022-08-09 20:22:46.000000000","message":"Amit would you have time to create a reproducer for this and take this over as your next bug when you complete the current one your working on? we can try and sync on this next week when im back form pto if that helps","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0a5fcecd84d1d2d7f72dda35b9cf54009b13f94e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f6c7961d_03ac94a9","updated":"2022-09-01 11:01:06.000000000","message":"you have not updated the functional test so this shoudl fail or the fucntional test is wrong.","commit_id":"231e5170739adb32cbed18ed51173dc005e14492"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"ac7bf2c62b107b312baee315b5ee47145921ab5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"10d0cdbf_ea637803","in_reply_to":"f6c7961d_03ac94a9","updated":"2022-09-02 03:49:40.000000000","message":"Fixed the test","commit_id":"231e5170739adb32cbed18ed51173dc005e14492"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"26ab20d2c676ff364d1bb9978df151b0057928be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"df7529f9_7e5a969f","updated":"2022-10-17 09:50:52.000000000","message":"LGTM","commit_id":"8449b7caefa4a5c0728e11380a088525f15ad6f5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2c3a109f6f7577f0ffb315c4d2dc03b470c23ba7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8d2b7953_1b1b8920","updated":"2022-10-14 13:33:58.000000000","message":"a release note might have been nice but im fine with this as is i woudl like to move forward with this and adress any nits we have in a followup if required.","commit_id":"8449b7caefa4a5c0728e11380a088525f15ad6f5"}],"nova/compute/manager.py":[{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"0fdf387da460325bfd198c483ef50247de50faf6","unresolved":true,"context_lines":[{"line_number":8604,"context_line":"                                  bdm.attachment_id, self.host,"},{"line_number":8605,"context_line":"                                  str(e), instance\u003dinstance)"},{"line_number":8606,"context_line":""},{"line_number":8607,"context_line":"    # TODO(sean-k-mooney): add typing"},{"line_number":8608,"context_line":"    def _post_live_migration_update_host("},{"line_number":8609,"context_line":"        self, ctxt, instance, dest, block_migration\u003dFalse,"},{"line_number":8610,"context_line":"        migrate_data\u003dNone, source_bdms\u003dNone"}],"source_content_type":"text/x-python","patch_set":1,"id":"051773b3_d10be88a","line":8607,"range":{"start_line":8607,"start_character":4,"end_line":8607,"end_character":37},"updated":"2021-05-13 13:29:46.000000000","message":"TODO as you want to backport this right?","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d51c2e8536e9425b3e3c63f8d39ee1b8b9c6dcd","unresolved":true,"context_lines":[{"line_number":8604,"context_line":"                                  bdm.attachment_id, self.host,"},{"line_number":8605,"context_line":"                                  str(e), instance\u003dinstance)"},{"line_number":8606,"context_line":""},{"line_number":8607,"context_line":"    # TODO(sean-k-mooney): add typing"},{"line_number":8608,"context_line":"    def _post_live_migration_update_host("},{"line_number":8609,"context_line":"        self, ctxt, instance, dest, block_migration\u003dFalse,"},{"line_number":8610,"context_line":"        migrate_data\u003dNone, source_bdms\u003dNone"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a54e319_7518b77b","line":8607,"range":{"start_line":8607,"start_character":4,"end_line":8607,"end_character":37},"in_reply_to":"051773b3_d10be88a","updated":"2021-05-13 15:33:22.000000000","message":"that and i was not orginally planning on working on this week so i wanted to keep this short and simple but look at something more complete once i get the pci devices in placement spec done.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6fb4e1e52e2f40c6c64fb7c80bed553d19a8fbe7","unresolved":false,"context_lines":[{"line_number":8604,"context_line":"                                  bdm.attachment_id, self.host,"},{"line_number":8605,"context_line":"                                  str(e), instance\u003dinstance)"},{"line_number":8606,"context_line":""},{"line_number":8607,"context_line":"    # TODO(sean-k-mooney): add typing"},{"line_number":8608,"context_line":"    def _post_live_migration_update_host("},{"line_number":8609,"context_line":"        self, ctxt, instance, dest, block_migration\u003dFalse,"},{"line_number":8610,"context_line":"        migrate_data\u003dNone, source_bdms\u003dNone"}],"source_content_type":"text/x-python","patch_set":1,"id":"6906708e_d3987f1d","line":8607,"range":{"start_line":8607,"start_character":4,"end_line":8607,"end_character":37},"in_reply_to":"5a54e319_7518b77b","updated":"2022-09-22 10:29:32.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8613,"context_line":"            self._post_live_migration("},{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"}],"source_content_type":"text/x-python","patch_set":1,"id":"2b6ff818_ee7679cd","line":8616,"updated":"2021-05-13 20:10:17.000000000","message":"I think here at the very least we\u0027d have to save_and_reraise_exception(), no?","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"213d17402e15124412935ad03ed05898177eb8a1","unresolved":true,"context_lines":[{"line_number":8613,"context_line":"            self._post_live_migration("},{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"}],"source_content_type":"text/x-python","patch_set":1,"id":"7d8bfa4d_892a6471","line":8616,"range":{"start_line":8616,"start_character":8,"end_line":8616,"end_character":24},"updated":"2021-05-13 15:35:19.000000000","message":"i could also do this with a finally block but by the way but when we exit normally this shoudl not be required so im jsut doing it when we exit the function call with an excption and then only if its not updated already to avoid the extra db call instance.save() adds","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eabb9d4188de2f77e17b70d33a057eb89fefd82c","unresolved":true,"context_lines":[{"line_number":8613,"context_line":"            self._post_live_migration("},{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"}],"source_content_type":"text/x-python","patch_set":1,"id":"e25b00c6_df2e0af9","line":8616,"in_reply_to":"2b6ff818_ee7679cd","updated":"2021-05-14 11:34:41.000000000","message":"see i think we are not ment to use that anymore now that we are python3 only.\n\nimpretty sure stephen asked me not to use it in the past that is why i didnt use that.\nif someone can clarify that it would be good but i recall being told its not need anymore.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6fb4e1e52e2f40c6c64fb7c80bed553d19a8fbe7","unresolved":false,"context_lines":[{"line_number":8613,"context_line":"            self._post_live_migration("},{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"}],"source_content_type":"text/x-python","patch_set":1,"id":"c512d17c_5a3d2e48","line":8616,"range":{"start_line":8616,"start_character":8,"end_line":8616,"end_character":24},"in_reply_to":"7d8bfa4d_892a6471","updated":"2022-09-22 10:29:32.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6fb4e1e52e2f40c6c64fb7c80bed553d19a8fbe7","unresolved":false,"context_lines":[{"line_number":8613,"context_line":"            self._post_live_migration("},{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"}],"source_content_type":"text/x-python","patch_set":1,"id":"7e4112f1_4fefcf4d","line":8616,"in_reply_to":"e25b00c6_df2e0af9","updated":"2022-09-22 10:29:32.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"0fdf387da460325bfd198c483ef50247de50faf6","unresolved":true,"context_lines":[{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."}],"source_content_type":"text/x-python","patch_set":1,"id":"fe5a6ee1_b58ea081","line":8617,"range":{"start_line":8617,"start_character":27,"end_line":8617,"end_character":36},"updated":"2021-05-13 13:29:46.000000000","message":"rollback","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d51c2e8536e9425b3e3c63f8d39ee1b8b9c6dcd","unresolved":false,"context_lines":[{"line_number":8614,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."}],"source_content_type":"text/x-python","patch_set":1,"id":"8c57a11c_25b9440d","line":8617,"range":{"start_line":8617,"start_character":27,"end_line":8617,"end_character":36},"in_reply_to":"fe5a6ee1_b58ea081","updated":"2021-05-13 15:33:22.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"0fdf387da460325bfd198c483ef50247de50faf6","unresolved":true,"context_lines":[{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"}],"source_content_type":"text/x-python","patch_set":1,"id":"4f29bebd_197a1cd5","line":8618,"range":{"start_line":8618,"start_character":30,"end_line":8618,"end_character":38},"updated":"2021-05-13 13:29:46.000000000","message":"instance","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d51c2e8536e9425b3e3c63f8d39ee1b8b9c6dcd","unresolved":false,"context_lines":[{"line_number":8615,"context_line":"                source_bdms)"},{"line_number":8616,"context_line":"        except Exception:"},{"line_number":8617,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"}],"source_content_type":"text/x-python","patch_set":1,"id":"2a749f7b_3948eca6","line":8618,"range":{"start_line":8618,"start_character":30,"end_line":8618,"end_character":38},"in_reply_to":"4f29bebd_197a1cd5","updated":"2021-05-13 15:33:22.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"42458f1f_5b3d4afb","line":8622,"updated":"2021-05-13 20:10:17.000000000","message":"I think this is missing some stuff...\n\nSetting instance.node definitely, and maybe apply_migration_context() and drop_migration_context()? And what about power_state and task_state?","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eabb9d4188de2f77e17b70d33a057eb89fefd82c","unresolved":true,"context_lines":[{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"94775e15_134d3eec","line":8622,"in_reply_to":"42458f1f_5b3d4afb","updated":"2021-05-14 11:34:41.000000000","message":"this is not intened as a full fix it is only fixing the instance.host to ensure we do not have 2 instnaces running i dont want to do the full cleanup here at least not in this patch. i can add more in a later patch but in this patch i just want to prevent duplicate instnace form running if you hard reboot.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6fb4e1e52e2f40c6c64fb7c80bed553d19a8fbe7","unresolved":true,"context_lines":[{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a019627b_642324ce","line":8622,"in_reply_to":"94775e15_134d3eec","updated":"2022-09-22 10:29:32.000000000","message":"artom is not wrong but it is out of scope of this minimal fix.\n\nwe shoudl properly handel failrue in post live migrate but that should be in a more targeted fix.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3eb0052cfd167938cade3a99d4af6c4dee6c662e","unresolved":false,"context_lines":[{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0f5905ed_9fbc0b08","line":8622,"in_reply_to":"a019627b_642324ce","updated":"2022-10-04 11:58:55.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"0fdf387da460325bfd198c483ef50247de50faf6","unresolved":true,"context_lines":[{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5d801621_dbcad8e3","line":8623,"range":{"start_line":8621,"start_character":0,"end_line":8623,"end_character":31},"updated":"2021-05-13 13:29:46.000000000","message":"The obvious alternative being to move instance.host \u003d dest to the top of _post_live_migration from post_live_migration_at_destination.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d00d5daf698a0366d45d0aa490fa110cdc19dc0f","unresolved":false,"context_lines":[{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":1,"id":"c4ff1553_509f3404","line":8623,"range":{"start_line":8621,"start_character":0,"end_line":8623,"end_character":31},"in_reply_to":"44e7d504_38c4a865","updated":"2021-05-14 12:07:21.000000000","message":"On the volume side we don\u0027t depend on instance.host, just the host connector when terminating the volume connection for cinderv2 attachments or the actual attachment record for cinderv3 attached but if the vif side does this argument is null and void.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":1,"id":"a812c70a_b7db2c14","line":8623,"range":{"start_line":8621,"start_character":0,"end_line":8623,"end_character":31},"in_reply_to":"5d801621_dbcad8e3","updated":"2021-05-13 20:10:17.000000000","message":"I\u0027m not sure that works - I believe there are a bunch of things *inside* post_live_migration that depend on the instance.host being the source.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d51c2e8536e9425b3e3c63f8d39ee1b8b9c6dcd","unresolved":true,"context_lines":[{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":1,"id":"4503654a_235da68a","line":8623,"range":{"start_line":8621,"start_character":0,"end_line":8623,"end_character":31},"in_reply_to":"5d801621_dbcad8e3","updated":"2021-05-13 15:33:22.000000000","message":"right which will break all of the code that is currently expecting instance.host to be pointing at the source for doing the clean up of disks and networking.\n\nso that is why im doing it this way for now.\ni dont think we can easily address that without using either the temporary mutation decorator or chaining the apis of those functions to take the host directly. i have not traced thought it but i know that is why we did not do this in https://review.opendev.org/c/openstack/nova/+/609517 initially.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eabb9d4188de2f77e17b70d33a057eb89fefd82c","unresolved":true,"context_lines":[{"line_number":8618,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":8619,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":8620,"context_line":"            # excpetion unmodified."},{"line_number":8621,"context_line":"            if instance.host !\u003d dest:"},{"line_number":8622,"context_line":"                instance.host \u003d dest"},{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"}],"source_content_type":"text/x-python","patch_set":1,"id":"44e7d504_38c4a865","line":8623,"range":{"start_line":8621,"start_character":0,"end_line":8623,"end_character":31},"in_reply_to":"a812c70a_b7db2c14","updated":"2021-05-14 11:34:41.000000000","message":"there are yes as i noted above.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"},{"line_number":8627,"context_line":"    @wrap_instance_fault"},{"line_number":8628,"context_line":"    def _post_live_migration(self, ctxt, instance, dest,"},{"line_number":8629,"context_line":"                             block_migration\u003dFalse, migrate_data\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b91ca85_af9bf581","line":8626,"updated":"2021-05-13 20:10:17.000000000","message":"Note to self: this decorator does with excutils.save_and_reraise_exception(), so the new _post_live_migration_update_host() will still get the exception.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8623,"context_line":"                instance.save()"},{"line_number":8624,"context_line":"            raise"},{"line_number":8625,"context_line":""},{"line_number":8626,"context_line":"    @wrap_exception()"},{"line_number":8627,"context_line":"    @wrap_instance_fault"},{"line_number":8628,"context_line":"    def _post_live_migration(self, ctxt, instance, dest,"},{"line_number":8629,"context_line":"                             block_migration\u003dFalse, migrate_data\u003dNone,"}],"source_content_type":"text/x-python","patch_set":1,"id":"2ccd84e9_ada778b5","line":8626,"in_reply_to":"8b91ca85_af9bf581","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8651,"context_line":"        # Cleanup source host post live-migration"},{"line_number":8652,"context_line":"        block_device_info \u003d self._get_instance_block_device_info("},{"line_number":8653,"context_line":"                            ctxt, instance, bdms\u003dsource_bdms)"},{"line_number":8654,"context_line":"        self.driver.post_live_migration(ctxt, instance, block_device_info,"},{"line_number":8655,"context_line":"                                        migrate_data)"},{"line_number":8656,"context_line":""},{"line_number":8657,"context_line":"        # Disconnect volumes from this (the source) host."}],"source_content_type":"text/x-python","patch_set":1,"id":"b6fb309a_25353f42","line":8654,"updated":"2021-05-13 20:10:17.000000000","message":"In the libvirt driver, this means disconnect the volumes, but there\u0027s pokemon exception catching, so it shouldn\u0027t explode...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8651,"context_line":"        # Cleanup source host post live-migration"},{"line_number":8652,"context_line":"        block_device_info \u003d self._get_instance_block_device_info("},{"line_number":8653,"context_line":"                            ctxt, instance, bdms\u003dsource_bdms)"},{"line_number":8654,"context_line":"        self.driver.post_live_migration(ctxt, instance, block_device_info,"},{"line_number":8655,"context_line":"                                        migrate_data)"},{"line_number":8656,"context_line":""},{"line_number":8657,"context_line":"        # Disconnect volumes from this (the source) host."}],"source_content_type":"text/x-python","patch_set":1,"id":"e63cfd85_f080c6e9","line":8654,"in_reply_to":"b6fb309a_25353f42","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8655,"context_line":"                                        migrate_data)"},{"line_number":8656,"context_line":""},{"line_number":8657,"context_line":"        # Disconnect volumes from this (the source) host."},{"line_number":8658,"context_line":"        self._post_live_migration_remove_source_vol_connections("},{"line_number":8659,"context_line":"            ctxt, instance, source_bdms)"},{"line_number":8660,"context_line":""},{"line_number":8661,"context_line":"        # NOTE(artom) At this point in time we have not bound the ports to the"}],"source_content_type":"text/x-python","patch_set":1,"id":"714b7dba_c0abcfdd","line":8658,"updated":"2021-05-13 20:10:17.000000000","message":"This terminates the connection or deletes the attachment, but also has pokemon expcetion catching, so shouldn\u0027t explode either...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8655,"context_line":"                                        migrate_data)"},{"line_number":8656,"context_line":""},{"line_number":8657,"context_line":"        # Disconnect volumes from this (the source) host."},{"line_number":8658,"context_line":"        self._post_live_migration_remove_source_vol_connections("},{"line_number":8659,"context_line":"            ctxt, instance, source_bdms)"},{"line_number":8660,"context_line":""},{"line_number":8661,"context_line":"        # NOTE(artom) At this point in time we have not bound the ports to the"}],"source_content_type":"text/x-python","patch_set":1,"id":"13dc12b6_7f1f4a29","line":8658,"in_reply_to":"714b7dba_c0abcfdd","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8679,"context_line":"        # For neutron, migrate_instance_start will activate the destination"},{"line_number":8680,"context_line":"        # host port bindings, if there are any created by conductor before live"},{"line_number":8681,"context_line":"        # migration started."},{"line_number":8682,"context_line":"        self.network_api.migrate_instance_start(ctxt,"},{"line_number":8683,"context_line":"                                                instance,"},{"line_number":8684,"context_line":"                                                migration)"},{"line_number":8685,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9806213f_208e3bab","line":8682,"updated":"2021-05-13 20:10:17.000000000","message":"This calls the Neutron REST API, and might explode. So really this patch is to mainly handle this case...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8679,"context_line":"        # For neutron, migrate_instance_start will activate the destination"},{"line_number":8680,"context_line":"        # host port bindings, if there are any created by conductor before live"},{"line_number":8681,"context_line":"        # migration started."},{"line_number":8682,"context_line":"        self.network_api.migrate_instance_start(ctxt,"},{"line_number":8683,"context_line":"                                                instance,"},{"line_number":8684,"context_line":"                                                migration)"},{"line_number":8685,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f8d9c1b7_867f870f","line":8682,"in_reply_to":"5e8df7cd_ed1ac313","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eabb9d4188de2f77e17b70d33a057eb89fefd82c","unresolved":true,"context_lines":[{"line_number":8679,"context_line":"        # For neutron, migrate_instance_start will activate the destination"},{"line_number":8680,"context_line":"        # host port bindings, if there are any created by conductor before live"},{"line_number":8681,"context_line":"        # migration started."},{"line_number":8682,"context_line":"        self.network_api.migrate_instance_start(ctxt,"},{"line_number":8683,"context_line":"                                                instance,"},{"line_number":8684,"context_line":"                                                migration)"},{"line_number":8685,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5e8df7cd_ed1ac313","line":8682,"in_reply_to":"9806213f_208e3bab","updated":"2021-05-14 11:34:41.000000000","message":"yep we discussed in your previous patch that harden the volume calls that you were not fixing the case for neutorn. i did not want to take the peise meal approach you did by making the try ever larger in _post_live_migration_at_dest.\n\nthe point where we cant role back is entering post_livemigration so i wanted to harden that entry point","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8698,"context_line":"                LOG.debug(\u0027Calling driver.post_live_migration_at_source \u0027"},{"line_number":8699,"context_line":"                          \u0027with original source VIFs from migrate_data: %s\u0027,"},{"line_number":8700,"context_line":"                          unplug_nw_info, instance\u003dinstance)"},{"line_number":8701,"context_line":"            self.driver.post_live_migration_at_source(ctxt, instance,"},{"line_number":8702,"context_line":"                                                      unplug_nw_info)"},{"line_number":8703,"context_line":"        except NotImplementedError as ex:"},{"line_number":8704,"context_line":"            LOG.debug(ex, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"dfb5f775_f95c92f5","line":8701,"updated":"2021-05-13 20:10:17.000000000","message":"In libvirt, this is just unplug VIFs, so is safe...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8698,"context_line":"                LOG.debug(\u0027Calling driver.post_live_migration_at_source \u0027"},{"line_number":8699,"context_line":"                          \u0027with original source VIFs from migrate_data: %s\u0027,"},{"line_number":8700,"context_line":"                          unplug_nw_info, instance\u003dinstance)"},{"line_number":8701,"context_line":"            self.driver.post_live_migration_at_source(ctxt, instance,"},{"line_number":8702,"context_line":"                                                      unplug_nw_info)"},{"line_number":8703,"context_line":"        except NotImplementedError as ex:"},{"line_number":8704,"context_line":"            LOG.debug(ex, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"83e75aa4_6ebc6485","line":8701,"in_reply_to":"dfb5f775_f95c92f5","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8720,"context_line":"        if do_cleanup:"},{"line_number":8721,"context_line":"            LOG.debug(\u0027Calling driver.cleanup from _post_live_migration\u0027,"},{"line_number":8722,"context_line":"                      instance\u003dinstance)"},{"line_number":8723,"context_line":"            self.driver.cleanup(ctxt, instance, unplug_nw_info,"},{"line_number":8724,"context_line":"                                destroy_disks\u003ddestroy_disks,"},{"line_number":8725,"context_line":"                                migrate_data\u003dmigrate_data,"},{"line_number":8726,"context_line":"                                destroy_vifs\u003ddestroy_vifs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1c699a9e_c733d4d8","line":8723,"updated":"2021-05-13 20:10:17.000000000","message":"In libvirt this can disconnect volumes, but is wrapped in pokemon exception catching...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8720,"context_line":"        if do_cleanup:"},{"line_number":8721,"context_line":"            LOG.debug(\u0027Calling driver.cleanup from _post_live_migration\u0027,"},{"line_number":8722,"context_line":"                      instance\u003dinstance)"},{"line_number":8723,"context_line":"            self.driver.cleanup(ctxt, instance, unplug_nw_info,"},{"line_number":8724,"context_line":"                                destroy_disks\u003ddestroy_disks,"},{"line_number":8725,"context_line":"                                migrate_data\u003dmigrate_data,"},{"line_number":8726,"context_line":"                                destroy_vifs\u003ddestroy_vifs)"}],"source_content_type":"text/x-python","patch_set":1,"id":"27d19d27_f71f0b5d","line":8723,"in_reply_to":"1c699a9e_c733d4d8","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"e98c3e2d4a82c9f79388fa8c24fe1de78294b2ac","unresolved":true,"context_lines":[{"line_number":8729,"context_line":"        # pause/suspend/terminate do not work."},{"line_number":8730,"context_line":"        post_at_dest_success \u003d True"},{"line_number":8731,"context_line":"        try:"},{"line_number":8732,"context_line":"            self.compute_rpcapi.post_live_migration_at_destination(ctxt,"},{"line_number":8733,"context_line":"                    instance, block_migration, dest)"},{"line_number":8734,"context_line":"        except Exception as error:"},{"line_number":8735,"context_line":"            post_at_dest_success \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"d51e579a_b4191e24","line":8732,"updated":"2021-05-13 20:10:17.000000000","message":"This is a call, and at the very end we set instance.host in a finally block...","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"d00d5daf698a0366d45d0aa490fa110cdc19dc0f","unresolved":true,"context_lines":[{"line_number":8729,"context_line":"        # pause/suspend/terminate do not work."},{"line_number":8730,"context_line":"        post_at_dest_success \u003d True"},{"line_number":8731,"context_line":"        try:"},{"line_number":8732,"context_line":"            self.compute_rpcapi.post_live_migration_at_destination(ctxt,"},{"line_number":8733,"context_line":"                    instance, block_migration, dest)"},{"line_number":8734,"context_line":"        except Exception as error:"},{"line_number":8735,"context_line":"            post_at_dest_success \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"90adb9ab_36f39394","line":8732,"in_reply_to":"837fe153_1c9ec802","updated":"2021-05-14 12:07:21.000000000","message":"As above it sounds like that\u0027s only the vif flows.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":8729,"context_line":"        # pause/suspend/terminate do not work."},{"line_number":8730,"context_line":"        post_at_dest_success \u003d True"},{"line_number":8731,"context_line":"        try:"},{"line_number":8732,"context_line":"            self.compute_rpcapi.post_live_migration_at_destination(ctxt,"},{"line_number":8733,"context_line":"                    instance, block_migration, dest)"},{"line_number":8734,"context_line":"        except Exception as error:"},{"line_number":8735,"context_line":"            post_at_dest_success \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"0ebdf182_5dd9bfee","line":8732,"in_reply_to":"90adb9ab_36f39394","updated":"2022-10-04 11:55:28.000000000","message":"Ack","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eabb9d4188de2f77e17b70d33a057eb89fefd82c","unresolved":true,"context_lines":[{"line_number":8729,"context_line":"        # pause/suspend/terminate do not work."},{"line_number":8730,"context_line":"        post_at_dest_success \u003d True"},{"line_number":8731,"context_line":"        try:"},{"line_number":8732,"context_line":"            self.compute_rpcapi.post_live_migration_at_destination(ctxt,"},{"line_number":8733,"context_line":"                    instance, block_migration, dest)"},{"line_number":8734,"context_line":"        except Exception as error:"},{"line_number":8735,"context_line":"            post_at_dest_success \u003d False"}],"source_content_type":"text/x-python","patch_set":1,"id":"837fe153_1c9ec802","line":8732,"in_reply_to":"d51e579a_b4191e24","updated":"2021-05-14 11:34:41.000000000","message":"yep and every thing that uses instanc.host before this was expecting instance.host to be set to the source.","commit_id":"a50df5d4b90922a172a8e4f918f53ae2193045ab"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"11e14cb424b0d6693c516a7d522f8eb1b538c60c","unresolved":true,"context_lines":[{"line_number":9047,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":9048,"context_line":"                source_bdms)"},{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."}],"source_content_type":"text/x-python","patch_set":7,"id":"325682b2_ae5ff9a6","line":9050,"range":{"start_line":9050,"start_character":27,"end_line":9050,"end_character":31},"updated":"2022-09-22 08:13:28.000000000","message":"nit: roll","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":9047,"context_line":"                ctxt, instance, dest, block_migration, migrate_data,"},{"line_number":9048,"context_line":"                source_bdms)"},{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."}],"source_content_type":"text/x-python","patch_set":7,"id":"1fe8b4ed_34084574","line":9050,"range":{"start_line":9050,"start_character":27,"end_line":9050,"end_character":31},"in_reply_to":"325682b2_ae5ff9a6","updated":"2022-10-04 11:55:28.000000000","message":"Done","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"11e14cb424b0d6693c516a7d522f8eb1b538c60c","unresolved":true,"context_lines":[{"line_number":9048,"context_line":"                source_bdms)"},{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"}],"source_content_type":"text/x-python","patch_set":7,"id":"e0d4341f_ff51cff1","line":9051,"range":{"start_line":9051,"start_character":30,"end_line":9051,"end_character":38},"updated":"2022-09-22 08:13:28.000000000","message":"instance","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":9048,"context_line":"                source_bdms)"},{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"}],"source_content_type":"text/x-python","patch_set":7,"id":"14864271_2cf4d327","line":9051,"range":{"start_line":9051,"start_character":30,"end_line":9051,"end_character":38},"in_reply_to":"e0d4341f_ff51cff1","updated":"2022-10-04 11:55:28.000000000","message":"Done","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"11e14cb424b0d6693c516a7d522f8eb1b538c60c","unresolved":true,"context_lines":[{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"}],"source_content_type":"text/x-python","patch_set":7,"id":"a067908d_70a70716","line":9052,"range":{"start_line":9052,"start_character":18,"end_line":9052,"end_character":26},"updated":"2022-09-22 08:13:28.000000000","message":"instance","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"11e14cb424b0d6693c516a7d522f8eb1b538c60c","unresolved":true,"context_lines":[{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"}],"source_content_type":"text/x-python","patch_set":7,"id":"5c630341_14c22e68","line":9052,"range":{"start_line":9052,"start_character":65,"end_line":9052,"end_character":72},"updated":"2022-09-22 08:13:28.000000000","message":"original","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"}],"source_content_type":"text/x-python","patch_set":7,"id":"fed4b3cf_d0f26faf","line":9052,"range":{"start_line":9052,"start_character":65,"end_line":9052,"end_character":72},"in_reply_to":"5c630341_14c22e68","updated":"2022-10-04 11:55:28.000000000","message":"Done","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":false,"context_lines":[{"line_number":9049,"context_line":"        except Exception:"},{"line_number":9050,"context_line":"            # we can never role back form post live migration and we only"},{"line_number":9051,"context_line":"            # get here if the instnace is running on the dest so we ensure"},{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"}],"source_content_type":"text/x-python","patch_set":7,"id":"555bb1ed_68f5f0e5","line":9052,"range":{"start_line":9052,"start_character":18,"end_line":9052,"end_character":26},"in_reply_to":"a067908d_70a70716","updated":"2022-10-04 11:55:28.000000000","message":"Done","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"11e14cb424b0d6693c516a7d522f8eb1b538c60c","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"b38251ee_3901ac75","line":9055,"updated":"2022-09-22 08:13:28.000000000","message":"I think we at least need to set instance.node too! But I would consider doing the same thing that post_live_migration_at_destination would do [1]. Potentially we could extend the finally block in [1] to always run that code there instead of running it here.\n\n[1] https://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/compute/manager.py#L9277-L9284","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2c3a109f6f7577f0ffb315c4d2dc03b470c23ba7","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"2cc1bc12_faafe852","line":9055,"in_reply_to":"2768671b_a7578a8f","updated":"2022-10-14 13:33:58.000000000","message":"lets jsut leave this.\n\nrestore_instace is unrelated to this we shoudl not confuse the nameing of the method by implying they are somehow related.","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"ba919731dddff6dc080608fc982f8310b3d357e0","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"2768671b_a7578a8f","line":9055,"in_reply_to":"61126115_ddda389f","updated":"2022-10-07 14:28:07.000000000","message":"we do have one method restore_instance, to restore soft-deleted instance.\n\nwe can have restore_instance_on_haphazard_migration - where we have instance in place and we are only updating its properties on disorderly migration.","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5e0c6d622935714038877a42c463754cf2dc1c62","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ffd6a01b_95ef3681","line":9055,"in_reply_to":"8f6911fc_6908cd99","updated":"2022-09-26 16:09:12.000000000","message":"OK. I see your point about the whack-a-mole. I\u0027m OK to do just the necessary updates here without extending the try block.\n\n@Amit: could you please make sure that the following is set here before you raise?\n\n                instance.apply_migration_context()\n                instance.drop_migration_context()\n                instance.host \u003d self.host\n                instance.task_state \u003d None\n                instance.node \u003d node_name\n                instance.progress \u003d 0","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6fb4e1e52e2f40c6c64fb7c80bed553d19a8fbe7","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"8f6911fc_6908cd99","line":9055,"in_reply_to":"b38251ee_3901ac75","updated":"2022-09-22 10:29:32.000000000","message":"so i wanted to externalize this because currently we have some places where excptions can be raised out side of try blocks so finaly wont help in that case.\n\nin this specific case we are trying to fix the excpetion is coming form here\n\nhttps://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/compute/manager.py#L9233\nwhich calls https://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/network/neutron.py#L3185\nwhich does https://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/network/neutron.py#L3719-L3844\n\nthat can raise excpetions here \nhttps://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/network/neutron.py#L3815-L3844\nwhich we currently do not catch.\n\npreviosuly we did a targeted fix for cinder by extending the try block to include it\n\nwe could do that again here but i wanted to alwasy ensure that it woudl work without haveing to indent the endire _post_live_migration functon body.\n\nso we could do as you said but i orgianly wanted to take this approach to not play wackamole with this. i pointed out the neutron failure path when we were fixing the cinder codepath in the review and we did not fix it because it was out of scope fo the bug. which is why we are fixign this now instead of then.\n\ni do agree on the instnace.node however your right we should be updating that to.\n\nwe do not need to update\ninstance.power_state \u003d current_power_state\n                instance.task_state \u003d None\nas we dont know what those should be\nthis will be going to error anyway.","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6ad25d956d2f60dc68d9855da2fdf2bc4cbd0f40","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ee17061e_214de10d","line":9055,"in_reply_to":"b4b89379_33a32f0c","updated":"2022-10-04 13:40:59.000000000","message":"so at this poitn we have basicaly copied all of \n\nhttps://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/compute/manager.py#L9263-L9284\n\ni wonder shoudl we just factor that out in to a funciton and call it here and there\n\nwhat do people think?","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"deabd95c07f989b3654283c099ca4b04d349bc99","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"61126115_ddda389f","line":9055,"in_reply_to":"ee17061e_214de10d","updated":"2022-10-07 08:05:39.000000000","message":"I\u0027m fine both ways.","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"0005919276840eb85fbdc99c8472b50caeb6aa4a","unresolved":true,"context_lines":[{"line_number":9052,"context_line":"            # the instnace.host is set correctly and reraise the orginal"},{"line_number":9053,"context_line":"            # excpetion unmodified."},{"line_number":9054,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9055,"context_line":"                instance.host \u003d dest"},{"line_number":9056,"context_line":"                instance.save()"},{"line_number":9057,"context_line":"            raise"},{"line_number":9058,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"b4b89379_33a32f0c","line":9055,"in_reply_to":"ffd6a01b_95ef3681","updated":"2022-09-27 06:08:31.000000000","message":"@gibi, I think its just copy-pate, and you meant the existing values as same, but still wanted to confirm.\n\nright now in this commit, sean has set instance.host \u003d dest, # as \"if we are here the instance is running on the dest\"\n\nexcept Exception:\n            # we can never rollback from post live migration and we only\n            # get here if the instance is running on the dest so we ensure\n            # the instance.host is set correctly and reraise the orginal\n            # exception unmodified.\n            if instance.host !\u003d dest:\n                instance.host \u003d dest\n                instance.save()\n            raise\n\nat this point:\nself.host -  value of self.host is original host and not destination compute host\nnode_name - is not defined, so not sure what to set instance.node, should it be dest only ?","commit_id":"81ec0e7d3d68b2be6d165c4b945540f11a1371a3"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"55ae5e71f8e10ce46ef684ed14fc18d4c5d7fc26","unresolved":true,"context_lines":[{"line_number":8767,"context_line":"            # running after migration, that is destination host"},{"line_number":8768,"context_line":"            compute_node \u003d self._get_compute_info(context, dest)"},{"line_number":8769,"context_line":"            node_name \u003d compute_node.hypervisor_hostname"},{"line_number":8770,"context_line":"        except Exception:"},{"line_number":8771,"context_line":"            LOG.exception(\u0027Failed to get compute_info for %s\u0027, dest)"},{"line_number":8772,"context_line":""},{"line_number":8773,"context_line":"        post_live_migration \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":8,"id":"0cb3a282_a17edcee","line":8770,"updated":"2022-10-04 10:17:54.000000000","message":"got below on using ComputeHostNotFound\nException: This test uses methods that set internal oslo_db state, but it does not claim to use the database. This will conflict with the setup of tests that do use the database and cause failures later.\n\nunit tests failed with error: \u0027_enginefacade_context\u0027\n\nSo used general Exception","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":true,"context_lines":[{"line_number":8767,"context_line":"            # running after migration, that is destination host"},{"line_number":8768,"context_line":"            compute_node \u003d self._get_compute_info(context, dest)"},{"line_number":8769,"context_line":"            node_name \u003d compute_node.hypervisor_hostname"},{"line_number":8770,"context_line":"        except Exception:"},{"line_number":8771,"context_line":"            LOG.exception(\u0027Failed to get compute_info for %s\u0027, dest)"},{"line_number":8772,"context_line":""},{"line_number":8773,"context_line":"        post_live_migration \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":8,"id":"550bc9e5_5ae0f51f","line":8770,"in_reply_to":"0cb3a282_a17edcee","updated":"2022-10-04 11:55:28.000000000","message":"this is not the correct thing to do.\n\nyou shoudl fix the test not the code so you shoudl revert this to the explict \nComputeHostNotFound excption and the properly mock the call to _get_compute_info in the tests","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a918922a6b5667bac0558459c57b9471221859fe","unresolved":true,"context_lines":[{"line_number":8767,"context_line":"            # running after migration, that is destination host"},{"line_number":8768,"context_line":"            compute_node \u003d self._get_compute_info(context, dest)"},{"line_number":8769,"context_line":"            node_name \u003d compute_node.hypervisor_hostname"},{"line_number":8770,"context_line":"        except Exception:"},{"line_number":8771,"context_line":"            LOG.exception(\u0027Failed to get compute_info for %s\u0027, dest)"},{"line_number":8772,"context_line":""},{"line_number":8773,"context_line":"        post_live_migration \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":8,"id":"ab276e06_bad55eef","line":8770,"in_reply_to":"550bc9e5_5ae0f51f","updated":"2022-10-04 12:57:23.000000000","message":"Done","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2c3a109f6f7577f0ffb315c4d2dc03b470c23ba7","unresolved":false,"context_lines":[{"line_number":8767,"context_line":"            # running after migration, that is destination host"},{"line_number":8768,"context_line":"            compute_node \u003d self._get_compute_info(context, dest)"},{"line_number":8769,"context_line":"            node_name \u003d compute_node.hypervisor_hostname"},{"line_number":8770,"context_line":"        except Exception:"},{"line_number":8771,"context_line":"            LOG.exception(\u0027Failed to get compute_info for %s\u0027, dest)"},{"line_number":8772,"context_line":""},{"line_number":8773,"context_line":"        post_live_migration \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":8,"id":"bc9182f1_0995d7ef","line":8770,"in_reply_to":"ab276e06_bad55eef","updated":"2022-10-14 13:33:58.000000000","message":"Done","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c9c747d973c50018cfea1a82068edff727745141","unresolved":true,"context_lines":[{"line_number":9062,"context_line":"            # the instance.host is set correctly and reraise the original"},{"line_number":9063,"context_line":"            # exception unmodified."},{"line_number":9064,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9065,"context_line":"                instance.apply_migration_context()"},{"line_number":9066,"context_line":"                instance.drop_migration_context()"},{"line_number":9067,"context_line":"                instance.host \u003d dest"},{"line_number":9068,"context_line":"                instance.task_state \u003d None"},{"line_number":9069,"context_line":"                instance.node \u003d node_name"}],"source_content_type":"text/x-python","patch_set":8,"id":"2bc3a95d_ce52fd5c","line":9066,"range":{"start_line":9065,"start_character":16,"end_line":9066,"end_character":49},"updated":"2022-10-04 11:55:28.000000000","message":"i think this is incorrect\n\ni have not looked into this explcitly but i think we shoudl remove this or add a comment explianing what the side effect of applying and droping the migration is inteded to be.","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a918922a6b5667bac0558459c57b9471221859fe","unresolved":true,"context_lines":[{"line_number":9062,"context_line":"            # the instance.host is set correctly and reraise the original"},{"line_number":9063,"context_line":"            # exception unmodified."},{"line_number":9064,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9065,"context_line":"                instance.apply_migration_context()"},{"line_number":9066,"context_line":"                instance.drop_migration_context()"},{"line_number":9067,"context_line":"                instance.host \u003d dest"},{"line_number":9068,"context_line":"                instance.task_state \u003d None"},{"line_number":9069,"context_line":"                instance.node \u003d node_name"}],"source_content_type":"text/x-python","patch_set":8,"id":"68713a5a_6f9395b7","line":9066,"range":{"start_line":9065,"start_character":16,"end_line":9066,"end_character":49},"in_reply_to":"2bc3a95d_ce52fd5c","updated":"2022-10-04 12:57:23.000000000","message":"Copied @Artom comment from https://github.com/openstack/nova/blob/1025c9879341d44db33c4cc501435364dd185a9e/nova/compute/manager.py#L9274\n\nsaying why its required only and not what could happen if we don\u0027t use it.","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6ad25d956d2f60dc68d9855da2fdf2bc4cbd0f40","unresolved":false,"context_lines":[{"line_number":9062,"context_line":"            # the instance.host is set correctly and reraise the original"},{"line_number":9063,"context_line":"            # exception unmodified."},{"line_number":9064,"context_line":"            if instance.host !\u003d dest:"},{"line_number":9065,"context_line":"                instance.apply_migration_context()"},{"line_number":9066,"context_line":"                instance.drop_migration_context()"},{"line_number":9067,"context_line":"                instance.host \u003d dest"},{"line_number":9068,"context_line":"                instance.task_state \u003d None"},{"line_number":9069,"context_line":"                instance.node \u003d node_name"}],"source_content_type":"text/x-python","patch_set":8,"id":"8722498c_4f5d4d5f","line":9066,"range":{"start_line":9065,"start_character":16,"end_line":9066,"end_character":49},"in_reply_to":"68713a5a_6f9395b7","updated":"2022-10-04 13:40:59.000000000","message":"Ack","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3eb0052cfd167938cade3a99d4af6c4dee6c662e","unresolved":true,"context_lines":[{"line_number":9066,"context_line":"                instance.drop_migration_context()"},{"line_number":9067,"context_line":"                instance.host \u003d dest"},{"line_number":9068,"context_line":"                instance.task_state \u003d None"},{"line_number":9069,"context_line":"                instance.node \u003d node_name"},{"line_number":9070,"context_line":"                instance.progress \u003d 0"},{"line_number":9071,"context_line":"                instance.save()"},{"line_number":9072,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":8,"id":"6fe40fef_a7771485","line":9069,"range":{"start_line":9069,"start_character":16,"end_line":9069,"end_character":41},"updated":"2022-10-04 11:58:55.000000000","message":"this could be none by the way if the lookup fails \nim not sure there is anything we can do about that just pointing this out.","commit_id":"fca9338567cf88fc17148fb98d4354c92cc37163"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d96181a0e2d2e5537f77f4198e96ba41e314f5ea","unresolved":true,"context_lines":[{"line_number":10211,"context_line":""},{"line_number":10212,"context_line":"    def test_post_live_migration_update_host(self):"},{"line_number":10213,"context_line":"        @mock.patch.object(self.compute, \u0027_get_compute_info\u0027,"},{"line_number":10214,"context_line":"                           side_effect\u003dexception.ComputeHostNotFound("},{"line_number":10215,"context_line":"                               host\u003duuids.fake_host))"},{"line_number":10216,"context_line":"        def _test_post_live_migration(_get_compute_info):"},{"line_number":10217,"context_line":"            dest_host \u003d \u0027dest\u0027"},{"line_number":10218,"context_line":"            instance \u003d fake_instance.fake_instance_obj(self.context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"354a86ef_a33713c6","line":10215,"range":{"start_line":10214,"start_character":39,"end_line":10215,"end_character":53},"updated":"2022-10-04 13:47:14.000000000","message":"we do not want this to raise \n\nyou shoudl return either a fake compute node object or just return a mock with hypervisior_hostname set since htat is the only field that will be used.\n\nthen we can assert the instance.node is set correctly below","commit_id":"1e929263768dadff05180fd92afe6f6202aa3d07"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"8759d550f366e22323018f9fe5a9c4f2b8c984f5","unresolved":false,"context_lines":[{"line_number":10211,"context_line":""},{"line_number":10212,"context_line":"    def test_post_live_migration_update_host(self):"},{"line_number":10213,"context_line":"        @mock.patch.object(self.compute, \u0027_get_compute_info\u0027,"},{"line_number":10214,"context_line":"                           side_effect\u003dexception.ComputeHostNotFound("},{"line_number":10215,"context_line":"                               host\u003duuids.fake_host))"},{"line_number":10216,"context_line":"        def _test_post_live_migration(_get_compute_info):"},{"line_number":10217,"context_line":"            dest_host \u003d \u0027dest\u0027"},{"line_number":10218,"context_line":"            instance \u003d fake_instance.fake_instance_obj(self.context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"99683fc3_0cc50af0","line":10215,"range":{"start_line":10214,"start_character":39,"end_line":10215,"end_character":53},"in_reply_to":"354a86ef_a33713c6","updated":"2022-10-06 07:29:35.000000000","message":"Done","commit_id":"1e929263768dadff05180fd92afe6f6202aa3d07"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"deabd95c07f989b3654283c099ca4b04d349bc99","unresolved":true,"context_lines":[{"line_number":10211,"context_line":""},{"line_number":10212,"context_line":"    def test_post_live_migration_update_host(self):"},{"line_number":10213,"context_line":"        @mock.patch.object(self.compute, \u0027_get_compute_info\u0027,"},{"line_number":10214,"context_line":"                           side_effect\u003dexception.ComputeHostNotFound("},{"line_number":10215,"context_line":"                               host\u003duuids.fake_host))"},{"line_number":10216,"context_line":"        def _test_post_live_migration(_get_compute_info):"},{"line_number":10217,"context_line":"            dest_host \u003d \u0027dest\u0027"},{"line_number":10218,"context_line":"            instance \u003d fake_instance.fake_instance_obj(self.context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"db74f286_48af1b17","line":10215,"range":{"start_line":10214,"start_character":39,"end_line":10215,"end_character":53},"in_reply_to":"99683fc3_0cc50af0","updated":"2022-10-07 08:05:39.000000000","message":"I think Sean meant to do something like:\n\ncn \u003d objects.ComputeNode(\u003cset up the host / node fields\u003e)\n_get_compute_info.return_value \u003d cn","commit_id":"1e929263768dadff05180fd92afe6f6202aa3d07"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"ba919731dddff6dc080608fc982f8310b3d357e0","unresolved":true,"context_lines":[{"line_number":10211,"context_line":""},{"line_number":10212,"context_line":"    def test_post_live_migration_update_host(self):"},{"line_number":10213,"context_line":"        @mock.patch.object(self.compute, \u0027_get_compute_info\u0027,"},{"line_number":10214,"context_line":"                           side_effect\u003dexception.ComputeHostNotFound("},{"line_number":10215,"context_line":"                               host\u003duuids.fake_host))"},{"line_number":10216,"context_line":"        def _test_post_live_migration(_get_compute_info):"},{"line_number":10217,"context_line":"            dest_host \u003d \u0027dest\u0027"},{"line_number":10218,"context_line":"            instance \u003d fake_instance.fake_instance_obj(self.context,"}],"source_content_type":"text/x-python","patch_set":9,"id":"e14e4eaa_8b256cac","line":10215,"range":{"start_line":10214,"start_character":39,"end_line":10215,"end_character":53},"in_reply_to":"db74f286_48af1b17","updated":"2022-10-07 14:28:07.000000000","message":"Ack, Updated to return fake ComputeNode having hypervisior_hostname","commit_id":"1e929263768dadff05180fd92afe6f6202aa3d07"}]}
