veth pair connecting between physical and integration bridge down after ovs agent restart
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Ralf Haferkamp |
Bug Description
Sometimes after restarting the openvswitch-agent the veth pair that connects the physical bridge with the integration bridge doesn't come up correctly. (Which of cause disconnects any running VM instance from the network)
# /etc/init.
# ip addr show
[..]
83: phy-br-eth1: <BROADCAST,
link/ether 3a:6c:d6:a4:1c:89 brd ff:ff:ff:ff:ff:ff
84: int-br-eth1: <BROADCAST,
link/ether a2:12:2a:e5:b8:e4 brd ff:ff:ff:ff:ff:ff
[..]
I was able to reproduce this problem on openSUSE 12.3 and SLES 11. Ubuntu seems to be unaffected by this.
Doing a manual "ip link set up dev <device>" on both ends of the veth pair fixes the problem. (until another restarted might bring it back)
I think I was able to track this down to a race condition between udev (and its network rules) and the ip commands that the openvswitch-agent during startup. Among other things the agent does this during startup:
ip link delete int-br-fixed
ip link add int-br-fixed type veth peer name phy-br-fixed
ip link set int-br-fixed up
ip link set phy-br-fixed up
The ip link delete and ip link add command cause several udev events to be fired. However on my system the processing of the udev rules takes so long that the "remove" events are not completely processed before the ip link add command is started. Which causes the interface to be down after the above commands completed.
A possible fix for this is to call "udevadm settle" after the ip link delete call.
I will upload a draft patch for review shortly.
Changed in neutron: | |
importance: | Undecided → Medium |
tags: | added: ovs |
tags: | added: havana-rc-potential |
Changed in neutron: | |
milestone: | none → havana-rc2 |
Changed in neutron: | |
milestone: | havana-rc2 → 2013.2 |
Fix proposed to branch: master /review. openstack. org/44345
Review: https:/