diff --git a/neutron/db/agentschedulers_db.py b/neutron/db/agentschedulers_db.py index 08b5ccbc24e..0b5ee01c1fe 100644 --- a/neutron/db/agentschedulers_db.py +++ b/neutron/db/agentschedulers_db.py @@ -480,21 +480,21 @@ class DhcpAgentSchedulerDbMixin(dhcpagentscheduler @registry.receives(resources.SEGMENT_HOST_MAPPING, [events.AFTER_CREATE]) def auto_schedule_new_network_segments(self, resource, event, trigger, - payload=None): + context, host, current_segment_ids, + **kwargs): if not cfg.CONF.network_auto_schedule: return segment_plugin = directory.get_plugin('segments') dhcp_notifier = self.agent_notifiers.get(constants.AGENT_TYPE_DHCP) - segment_ids = payload.metadata.get('current_segment_ids') segments = segment_plugin.get_segments( - payload.context, filters={'id': segment_ids}) + context, filters={'id': current_segment_ids}) subnets = subnet_obj.Subnet.get_objects( - payload.context, segment_id=segment_ids) + context, segment_id=current_segment_ids) network_ids = {s.network_id for s in subnets} for network_id in network_ids: for segment in segments: self._schedule_network( - payload.context, network_id, dhcp_notifier, + context, network_id, dhcp_notifier, candidate_hosts=segment['hosts']) diff --git a/neutron/tests/unit/db/test_agentschedulers_db.py b/neutron/tests/unit/db/test_agentschedulers_db.py index 15e182cf216..cd785630039 100644 --- a/neutron/tests/unit/db/test_agentschedulers_db.py +++ b/neutron/tests/unit/db/test_agentschedulers_db.py @@ -1496,10 +1496,10 @@ class OvsDhcpAgentNotifierTestCase(test_agent.AgentDBTestMixIn, def _test_auto_schedule_new_network_segments(self, subnet_on_segment): ctx = mock.Mock() - payload = events.DBEventPayload( - ctx, - metadata={'host': 'HOST A', - 'current_segment_ids': set(['segment-1'])}) + notify_kwargs = { + 'context': ctx, + 'host': 'HOST A', + 'current_segment_ids': set(['segment-1'])} segments_plugin = mock.Mock() segments_plugin.get_segments.return_value = [ {'id': 'segment-1', 'hosts': ['HOST A']}] @@ -1519,8 +1519,8 @@ class OvsDhcpAgentNotifierTestCase(test_agent.AgentDBTestMixIn, dhcp_mixin.agent_notifiers[constants.AGENT_TYPE_DHCP] = ( dhcp_notifier) dhcp_mixin.auto_schedule_new_network_segments( - resources.SEGMENT_HOST_MAPPING, events.AFTER_CREATE, - ctx, payload) + resources.SEGMENT_HOST_MAPPING, events.AFTER_CREATE, None, + **notify_kwargs) if subnet_on_segment: schedule_network.assert_called_once_with( ctx, subnet_on_segment.network_id,