As the comment in the code suggests, when calling migrate_instance_finish
in finish_revert_resize we need to temporarily set the migration
object dest_compute to the source_compute since we are moving port
bindings from the dest back to the source. However, this is not
really a temporary change to the object if something fails after
this because the @errors_out_migration decorator will persist the
change which could be confusing later if trying to debug this migration
from the API and the dest_compute and source_compute have the same value.
This fixes the issue by using the temporary_mutation utility.
Also, the obj_to_primitive dance in here is removed since it is not
necessary as migrate_instance_finish handles a Migration object.
Conflicts:
nova/tests/unit/compute/test_compute_mgr.py
NOTE(mriedem): The conflict is due to not having change
I0851e2d54a1fdc82fe3291fb7e286e790f121e92 in Rocky.
Change-Id: I312d61383345ea0ac1ab0c277b4c468e6aa94656
Closes-Bug: #1818730
(cherry picked from commit 855b554656)
(cherry picked from commit bcb42a43a9)