After thinking a bit about the mentioned patch [1], I think I understand the culprit of this issue.
The patch adds the same function call `self.unplug_vifs(instance, network_info)` twice.
In most setups this result in one call to the function in the new try - except case which unpluggs the vif.
And then we call the same operation a second time which already happend so we are timing out there.
This also explains why I am seeing unexpected vif-unplugg events in nova-compute as it gets events a second time even though it already did the work.
Also furthermore this explains why Will Szumski does not hit the issue when he resizes to the same host as you never get to execute the event two times.
We tested to add a try - expect around the second call to `self.unplug_vifs(instance, network_info)` but seems a bit like a dirty hack aswell.
Maybe someone else knows how to fix this properly.
After thinking a bit about the mentioned patch [1], I think I understand the culprit of this issue. vifs(instance, network_info)` twice.
The patch adds the same function call `self.unplug_
In most setups this result in one call to the function in the new try - except case which unpluggs the vif.
And then we call the same operation a second time which already happend so we are timing out there.
This also explains why I am seeing unexpected vif-unplugg events in nova-compute as it gets events a second time even though it already did the work.
Also furthermore this explains why Will Szumski does not hit the issue when he resizes to the same host as you never get to execute the event two times.
We tested to add a try - expect around the second call to `self.unplug_ vifs(instance, network_info)` but seems a bit like a dirty hack aswell.
Maybe someone else knows how to fix this properly.
[1] https:/ /github. com/openstack/ nova/commit/ 66c7f00e1d9d7c0 eebe46eb4b24b2b 21f7413789# diff-486ddc37ce 8e7c105a51566dd 2cffbda034f28fa e7eaad2e74abf47 0ab296352