# list at the same time; avoid processing it twice.
devices_added_updated = (port_info.get('added', set()) |
port_info.get('updated', set()))
+ need_binding_devices = []
if devices_added_updated:
start = time.time()
try:
'num_skipped': len(skipped_devices),
'num_current': len(port_info['current']),
'elapsed': time.time() - start})
- # TODO(salv-orlando): Optimize avoiding applying filters
- # unnecessarily, (eg: when there are no IP address changes)
- self.sg_agent.setup_port_filters(
- port_info.get('added', set()),
- port_info.get('updated', set()))
- self._bind_devices(need_binding_devices)
# Update the list of current ports storing only those which
# have been actually processed.
port_info['current'] = (port_info['current'] -
"failure while retrieving port details "
"from server"), self.iter_num)
resync_a = True
+
+ # TODO(salv-orlando): Optimize avoiding applying filters
+ # unnecessarily, (eg: when there are no IP address changes)
+ self.sg_agent.setup_port_filters(port_info.get('added', set()),
+ port_info.get('updated', set()))
+ self._bind_devices(need_binding_devices)
+
if 'removed' in port_info:
start = time.time()
resync_b = self.treat_devices_removed(port_info['removed'])
self.assertFalse(self.agent.process_network_ports(port_info,
False))
setup_port_filters.assert_called_once_with(
- port_info['added'], port_info.get('updated', set()))
- device_added_updated.assert_called_once_with(
- port_info['added'] | port_info.get('updated', set()), False)
- device_removed.assert_called_once_with(port_info['removed'])
+ port_info.get('added', set()),
+ port_info.get('updated', set()))
+ devices_added_updated = (port_info.get('added', set()) |
+ port_info.get('updated', set()))
+ if devices_added_updated:
+ device_added_updated.assert_called_once_with(
+ devices_added_updated, False)
+ if port_info.get('removed', set()):
+ device_removed.assert_called_once_with(port_info['removed'])
def test_process_network_ports(self):
self._test_process_network_ports(
'removed': set(['eth0']),
'added': set(['eth1'])})
+ def test_process_network_port_with_empty_port(self):
+ self._test_process_network_ports({})
+
def test_report_state(self):
with mock.patch.object(self.agent.state_rpc,
"report_state") as report_st: