L3 agent: use run_immediately parameter to sync after start
Explicit call to periodic resync after start may lead to double syncing. See bug for details. Closes-Bug: #1505282 Change-Id: Ib5e481d579039b2c3e87d4f12cad1241d02fe060
This commit is contained in:
parent
090fe71359
commit
cbc268e839
|
@ -524,7 +524,7 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback,
|
|||
# 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:
|
||||
|
@ -597,8 +597,6 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback,
|
|||
# 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
|
||||
|
@ -678,9 +676,6 @@ class L3NATAgentWithStateReport(L3NATAgent):
|
|||
# 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):
|
||||
|
|
|
@ -186,14 +186,6 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||
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'),\
|
||||
|
|
Loading…
Reference in New Issue