Merge "Fix 'router_gateway' port status can't be updated"

This commit is contained in:
Jenkins 2015-06-19 15:23:18 +00:00 committed by Gerrit Code Review
commit e875e80fb7
2 changed files with 27 additions and 1 deletions

View File

@ -862,7 +862,7 @@ class OVSNeutronAgent(sg_rpc.SecurityGroupAgentRpcCallbackMixin,
br_names = []
for bridge in ovs_bridges:
bridge_id = ovs.get_bridge_external_bridge_id(bridge)
if bridge_id != bridge:
if bridge_id and bridge_id != bridge:
br_names.append(bridge)
ovs_bridges.difference_update(br_names)
ancillary_bridges = []

View File

@ -1246,6 +1246,32 @@ class AncillaryBridgesTest(object):
actual = self.mock_scan_ancillary_ports(vif_port_set, registered_ports)
self.assertEqual(expected, actual)
def _test_ancillary_bridges_external(self, external_bridge_id=None):
bridges = ['br-int', 'br-tun', 'br-ex']
with mock.patch.object(self.mod_agent.OVSNeutronAgent,
'setup_integration_br'),\
mock.patch('neutron.agent.linux.utils.get_interface_mac',
return_value='00:00:00:00:00:01'),\
mock.patch('neutron.agent.common.ovs_lib.BaseOVS.get_bridges',
return_value=bridges),\
mock.patch('neutron.agent.common.ovs_lib.BaseOVS.'
'get_bridge_external_bridge_id',
return_value=external_bridge_id),\
mock.patch('neutron.agent.common.ovs_lib.OVSBridge.'
'get_vif_ports', return_value=[]):
self.agent = self.mod_agent.OVSNeutronAgent(self._bridge_classes(),
**self.kwargs)
self.agent.enable_tunneling = True
ancillary_bridges = self.agent.setup_ancillary_bridges(
'br-int', 'br-tun')
self.assertEqual(1, len(ancillary_bridges))
def test_ancillary_bridges_external_bridge_id(self):
self._test_ancillary_bridges_external('br-ex')
def test_ancillary_bridges_external_bridge_id_none(self):
self._test_ancillary_bridges_external()
class AncillaryBridgesTestOFCtl(AncillaryBridgesTest,
ovs_test_base.OVSOFCtlTestBase):