From: Jenkins Date: Wed, 28 May 2014 12:25:06 +0000 (+0000) Subject: Merge "OFAgent: Fixing lost vlan ids on interfaces" X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=3b9c1bd97f4755cc3011f7487ab95e9c9b845bce;p=openstack-build%2Fneutron-build.git Merge "OFAgent: Fixing lost vlan ids on interfaces" --- 3b9c1bd97f4755cc3011f7487ab95e9c9b845bce diff --cc neutron/tests/unit/ofagent/test_ofa_neutron_agent.py index 2fb4ea031,6ef8be7f5..12abe7343 --- a/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py +++ b/neutron/tests/unit/ofagent/test_ofa_neutron_agent.py @@@ -365,12 -371,28 +371,31 @@@ class TestOFANeutronAgent(OFAAgentTestC updated_ports) self.assertEqual(expected, actual) + def test_update_ports_returns_lost_vlan_port(self): + br = self.mod_agent.OVSBridge('br-int', 'fake_helper', self.ryuapp) + mac = "ca:fe:de:ad:be:ef" + port = ovs_lib.VifPort(1, 1, 1, mac, br) + lvm = self.mod_agent.LocalVLANMapping( + 1, '1', None, 1, {port.vif_id: port}) + local_vlan_map = {'1': lvm} + vif_port_set = set([1, 3]) + registered_ports = set([1, 2]) + port_tags_dict = {1: []} + expected = dict( + added=set([3]), current=vif_port_set, + removed=set([2]), updated=set([1]) + ) + with mock.patch.dict(self.agent.local_vlan_map, local_vlan_map): + actual = self.mock_scan_ports( + vif_port_set, registered_ports, port_tags_dict=port_tags_dict) + self.assertEqual(expected, actual) + def test_treat_devices_added_returns_true_for_missing_device(self): - with mock.patch.object(self.agent.plugin_rpc, 'get_device_details', - side_effect=Exception()): + with contextlib.nested( + mock.patch.object(self.agent.plugin_rpc, 'get_device_details', + side_effect=Exception()), + mock.patch.object(self.agent.int_br, 'get_vif_port_by_id', + return_value=mock.Mock())): self.assertTrue(self.agent.treat_devices_added_or_updated([{}])) def _mock_treat_devices_added_updated(self, details, port, func_name):