DVR: FIP gateway port is tagged as DEAD port by OVS with external-bridge
FIP agent gateway port is tagged as a DEAD port by OVS when external bridge is configured in neutron. When external bridge is configured, the vlan tag should be removed after the port is plugged in. This patch fixes the issue. Change-Id: I969b9d7e7cef4beff526a2b26de3f1a9f9de4c1c Closes-Bug: #1778643
This commit is contained in:
@@ -167,7 +167,15 @@ class FipNamespace(namespaces.Namespace):
|
||||
namespace=ns_name,
|
||||
prefix=FIP_EXT_DEV_PREFIX,
|
||||
mtu=ex_gw_port.get('mtu'))
|
||||
|
||||
if self.agent_conf.external_network_bridge:
|
||||
# NOTE(Swami): for OVS implementations remove the DEAD VLAN tag
|
||||
# on ports. DEAD VLAN tag is added to each newly created port
|
||||
# and should be removed by L2 agent but if
|
||||
# external_network_bridge is set than external gateway port is
|
||||
# created in this bridge and will not be touched by L2 agent.
|
||||
# This is related to lp#1767422
|
||||
self.driver.remove_vlan_tag(
|
||||
self.agent_conf.external_network_bridge, interface_name)
|
||||
# Remove stale fg devices
|
||||
ip_wrapper = ip_lib.IPWrapper(namespace=ns_name)
|
||||
devices = ip_wrapper.get_devices()
|
||||
|
||||
@@ -104,6 +104,9 @@ class TestDvrFipNs(base.BaseTestCase):
|
||||
self.fip_ns.create_or_update_gateway_port(agent_gw_port)
|
||||
self.assertTrue(fip_create.called)
|
||||
self.assertEqual(1, self.driver.plug.call_count)
|
||||
ext_net_bridge = self.conf.external_network_bridge
|
||||
if ext_net_bridge:
|
||||
self.assertEqual(1, self.driver.remove_vlan_tag.call_count)
|
||||
self.assertEqual(1, self.driver.init_l3.call_count)
|
||||
|
||||
@mock.patch.object(ip_lib, 'IPDevice')
|
||||
|
||||
Reference in New Issue
Block a user