]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Merge "OFAgent: Fixing lost vlan ids on interfaces"
authorJenkins <jenkins@review.openstack.org>
Wed, 28 May 2014 12:25:06 +0000 (12:25 +0000)
committerGerrit Code Review <review@openstack.org>
Wed, 28 May 2014 12:25:06 +0000 (12:25 +0000)
1  2 
neutron/plugins/ofagent/agent/ofa_neutron_agent.py
neutron/tests/unit/ofagent/test_ofa_neutron_agent.py

index 2fb4ea0318357c7d904bf170d6a69493e38b5fb1,6ef8be7f58b89beb1fb82b398d6984f2bbbcb7b7..12abe73432785104fed8a3f30da95f7e5b0d9b1a
@@@ -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):