Comment 5 for bug 1306342

Revision history for this message
Matt Riedemann (mriedem) wrote :

This is setting making vif_plugging_is_fatal=False makes it work:

http://git.openstack.org/cgit/openstack/nova/tree/nova/virt/libvirt/driver.py#n3716

Before the timeout / vif plugging event code, any cleanup failures are wrapped and swallowed:

http://git.openstack.org/cgit/openstack/nova/tree/nova/virt/libvirt/driver.py#n3707

With the eventlet timeout block, if the domain isn't running and libvirt pukes on that, the libvirtError isn't swallowed as before and you get the libvirtError up the stack rather than the VirtualInterfaceCreateException.

FWIW I'm setting vif_plugging_is_fatal=False in my deployment but leaving the default 5 minute timeout. This way if it does fail, the reliability is no worse off than it was between nova and neutron in Havana.

I'll push a fix to wrap the libvirtError in that timeout case though.