This adds the finish_revert_snapshot_based_resize_at_source() method to the compute service. This completes the cross-cell resize revert on the source host by updating port bindings, re-connecting volumes and spawning the guest and waiting for the network-vif-plugged event from neutron. If the resize started with a stopped instance, the revert ensures the guest is powered off when it is spawned. The instance record is updated with the old_flavor information, allocations are reverted in placement, and the migration status in the source cell database is updated to "reverted". Notifications are not sent from this method like in the finish_revert_resize() method because those will be sent from conductor. Note that this implementation tries to be a bit more graceful about error handling than the old same-cell finish_revert_resize method since there are a lot of moving parts and we want to try to clean up as much as possible. Part of blueprint cross-cell-resize Change-Id: I7e7afddbd9e0f57dfb1175a0bb2b54f2ed5500f2
68 KiB
68 KiB