instance can't obtain IP address by DHCP when using LibvirtHybridOVSBridgeDriver
Bug #1053312 reported by
Yoshihiro Kaneko
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Salvatore Orlando |
Bug Description
When use LibvirtHybridOV
It seems vif named qvoXXXX made by the driver does not forward any packet to OVS bridge.
tags: | added: folsom-rc-potential |
Changed in nova: | |
assignee: | Akihiro Motoki (amotoki) → Salvatore Orlando (salvatore-orlando) |
Changed in nova: | |
milestone: | none → folsom-rc2 |
tags: | removed: folsom-rc-potential |
Changed in quantum: | |
status: | New → Fix Released |
no longer affects: | quantum |
Changed in nova: | |
milestone: | folsom-rc2 → 2012.2 |
To post a comment you must log in.
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 paste.openstack .org/show/ 21031/.
accorrding to the nova-compute log: http://
LibvirtHybridOV SBridgeDriver 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.