nova/nova/virt/libvirt
Mohammed Naser 7b5cdd7ac0 Revert "Refine waiting for vif plug events during _hard_reboot"
This reverts commit e06ad602f3.

This gets us back to Ib0cf5d55750f13d0499a570f14024dca551ed4d4
which was meant to address an issue introduced
by Id188d48609f3d22d14e16c7f6114291d547a8986.

So we essentially had three changes:

1. Hard reboot would blow away volumes and vifs and then wait for the
   vifs to be plugged; this caused a problem for some vif types (
   linuxbridge was reported) because the event never came and we
   timed out.

2. To workaround that, a second change was made to simply not wait for
   vif plugging events.

3. Since #2 was a bit heavy-handed for a problem that didn't impact
   openvswitch, another change was made to only wait for non-bridge vif
   types, so we'd wait for OVS.

But it turns out that opendaylight is an OVS vif type and doesn't send
events for plugging the vif, only for binding the port (and we don't
re-bind the port during reboot). There is also a report of this being a
problem for other types of ports, see
If209f77cff2de00f694b01b2507c633ec3882c82.

So rather than try to special-case every possible vif type that could
be impacted by this, we are simply reverting the change so we no longer
wait for vif plugged events during hard reboot.

Note that if we went back to Id188d48609f3d22d14e16c7f6114291d547a8986
and tweaked that to not unplug/plug the vifs we wouldn't have this
problem either, and that change was really meant to deal with an
encrypted volume issue on reboot. But changing that logic is out of the
scope of this change. Alternatively, we could re-bind the port during
reboot but that could have other implications, or neutron could put
something into the port details telling us which vifs will send events
and which won't, but again that's all outside of the scope of this
patch.

Change-Id: Ib3f10706a7191c58909ec1938042ce338df4d499
Closes-Bug: #1755890
2018-03-19 18:31:00 +00:00
..
storage Remove translation of log messages 2017-06-13 11:20:28 +07:00
volume Vzstorage: synchronize volume connect 2017-12-01 17:46:19 +00:00
__init__.py Remove vi modelines 2014-02-03 14:19:44 +00:00
blockinfo.py Merge "Fix root_device_name for Xen" 2017-01-31 18:56:46 +00:00
compat.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
config.py Add format_dom for PCI device addresses 2017-08-08 17:20:34 +03:00
designer.py libvirt: conditionally set script path for ethernet vif types 2017-03-21 14:12:39 -04:00
driver.py Revert "Refine waiting for vif plug events during _hard_reboot" 2018-03-19 18:31:00 +00:00
firewall.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
guest.py libvirt: Don't VIR_MIGRATE_NON_SHARED_INC without migrate_disks 2017-11-01 16:44:35 +00:00
host.py libvirt: Fix getting a wrong guest object 2017-08-28 19:40:56 +00:00
imagebackend.py imagebackend: cleanup constructor args to Rbd 2017-08-03 15:22:38 +01:00
imagecache.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
instancejobtracker.py Remove translation of log messages 2017-06-13 11:20:28 +07:00
migration.py live-mig: keep disk device address same 2018-02-07 09:56:15 +00:00
utils.py Move the last_bytes util method to libvirt 2017-07-26 08:36:32 +10:00
vif.py Add VIFHostDevice support to libvirt driver 2017-07-25 21:15:30 +00:00