Comment 1 for bug 1053312

Revision history for this message
Akihiro Motoki (amotoki) wrote :

When an instance fails to obtain an IP address from DHCP, OVS has a port "qvo****" but the port cannot be seen as a bridge port. More precisely, "ovs-vsctl show" contains "qvo****" in br-int, but "brctl show br-int" or "ovs-ofctl show br-int" does not contain "qvo****". It is very strange behavior.

When nova-compute launches an instance on KVM, vif driver plug() is called twice
accorrding to the nova-compute log: http://paste.openstack.org/show/21031/.

LibvirtHybridOVSBridgeDriver plug() calles nova.network.linux_net._create_veth_pair()
to create veth pair. _create_veth_pair() checks whether the specified device exists
and in case the device exists it first deletes the device and (re)creates it.
It may be a cause of the problem.

After I changed plug() in Hybrid vif driver not to call _create_veth_pair() when the veth pair already exists, this issue is addressed. I will post a patch to apply this change soon.

Note that I am not sure why plug() method of VIF driver is called twice, and the above solution may be a workaround for this bug.