Wait for network-vif-plugged on resize revert
Change Id515137747a4b76e9b7057c95f80c8ae74017519 modified the libvirt driver to not wait for network-vif-plugged events on resize revert, saying that the vifs were never unplugged. That's true for the source host but not the dest host. The ComputeManager.revert_resize method calls driver.destroy and for the libvirt driver, driver.destroy calls cleanup which calls unplug_vifs *on the dest host*. As of change If00736ab36df4a5a3be4f02b0a550e4bcae77b1b, the API will route all events to both the source and dest host while the instance has a migration_context. When revert_resize is done on the dest host, it RPC casts to finish_revert_resize on the source host which calls driver.finish_revert_migration which restarts the guest on the source host and plugs vifs. Therefore, we can wait for the network-vif-plugged event before changing the instance status back to ACTIVE. Change-Id: I9e0cffb889c94713c7f28812918103a5d97cefeb Related-Bug: #1788403
This commit is contained in:
parent
17b69575bc
commit
4817165fc5
|
@ -18670,7 +18670,7 @@ class LibvirtDriverTestCase(test.NoDBTestCase, TraitsComparisonMixin):
|
|||
vifs_already_plugged=None):
|
||||
self.fake_create_domain_called = True
|
||||
self.assertEqual(powered_on, power_on)
|
||||
self.assertTrue(vifs_already_plugged)
|
||||
self.assertFalse(vifs_already_plugged)
|
||||
return mock.MagicMock()
|
||||
|
||||
def fake_enable_hairpin():
|
||||
|
|
|
@ -8482,8 +8482,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
|||
block_device_info=block_device_info)
|
||||
self._create_domain_and_network(context, xml, instance, network_info,
|
||||
block_device_info=block_device_info,
|
||||
power_on=power_on,
|
||||
vifs_already_plugged=True)
|
||||
power_on=power_on)
|
||||
|
||||
if power_on:
|
||||
timer = loopingcall.FixedIntervalLoopingCall(
|
||||
|
|
Loading…
Reference in New Issue