# NOTE(kevinbenton): this is set to 1 second because the actual interval
# is controlled by a FixedIntervalLoopingCall in neutron/service.py that
# is responsible for task execution.
- @periodic_task.periodic_task(spacing=1)
+ @periodic_task.periodic_task(spacing=1, run_immediately=True)
def periodic_sync_routers_task(self, context):
self.process_services_sync(context)
if not self.fullsync:
# L3NATAgent.
eventlet.spawn_n(self._process_routers_loop)
LOG.info(_LI("L3 agent started"))
- # When L3 agent is ready, we immediately do a full sync
- self.periodic_sync_routers_task(self.context)
def create_pd_router_update(self):
router_id = None
# Do the report state before we do the first full sync.
self._report_state()
- # When L3 agent is ready, we immediately do a full sync
- self.periodic_sync_routers_task(self.context)
-
self.pd.after_start()
def agent_updated(self, context, payload):
agent.context)
self.assertTrue(agent.fullsync)
- def test_l3_initial_full_sync_done(self):
- with mock.patch.object(l3_agent.L3NATAgent,
- 'periodic_sync_routers_task') as router_sync:
- with mock.patch.object(eventlet, 'spawn_n'):
- agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
- agent.after_start()
- router_sync.assert_called_once_with(agent.context)
-
def test_l3_initial_report_state_done(self):
with mock.patch.object(l3_agent.L3NATAgentWithStateReport,
'periodic_sync_routers_task'),\