]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Don't delete port from bridge on delete_port event
authorKevin Benton <blak111@gmail.com>
Fri, 1 May 2015 00:14:44 +0000 (17:14 -0700)
committerKevin Benton <blak111@gmail.com>
Sat, 30 May 2015 03:54:29 +0000 (20:54 -0700)
commite007167a700aa5b80ecb48adff0ac36bb330591d
treef002fdd29b3bf92c5ea8474dda920169a543ff51
parent5eddb2d274d69b7fd4b6242f37a6e815bb3f64ee
Don't delete port from bridge on delete_port event

Commit d6a55c17360d1aa8ca91849199987ae71e8600ee added
logic to the OVS agent to delete a port from the integration
bridge when a port was deleted on the Neutron side. However,
this led to several races where whoever created the initial
port (e.g. Nova, L3 agent, DHCP agent) would be trying to
remove the port from the bridge at the same time. These
would result in ugly exceptions on one side or the other.

The original commit was trying to address the problem where
the port would maintain connectivity even though it was removed
from the integration bridge.

This patch addresses both cases by removing the iptables rules
for the deleted port and putting it in the dead VLAN so it loses
connectivity. However, it still leaves the port attached to the
integration bridge so the original creator can delete it.

Related-Bug: #1333365
Closes-Bug: #1448148
Change-Id: I7ae7750b7ac7d15325ed9f2d517ca171543b53be
neutron/agent/common/ovs_lib.py
neutron/plugins/openvswitch/agent/ovs_neutron_agent.py
neutron/tests/unit/plugins/openvswitch/agent/test_ovs_neutron_agent.py
neutron/tests/unit/plugins/openvswitch/test_ovs_tunnel.py