OVS agent: always send start flag during initial sync
In order to avoid inaccurate agent_boot_time setting, this patch suggests to consider agent as "started" only after completion of initial sync with server. Change-Id: Icba05288889219e8a606c3809efd88b2c234bef3 Closes-Bug: #1799178
This commit is contained in:
parent
b86fa161ed
commit
8f20963c5b
|
@ -344,11 +344,16 @@ class OVSNeutronAgent(l2population_rpc.L2populationRpcCallBackTunnelMixin,
|
||||||
self.fullsync = True
|
self.fullsync = True
|
||||||
|
|
||||||
# we only want to update resource versions on startup
|
# we only want to update resource versions on startup
|
||||||
self.agent_state.pop('resource_versions', None)
|
if self.agent_state.pop('resource_versions', None):
|
||||||
if self.agent_state.pop('start_flag', None) and self.iter_num == 0:
|
|
||||||
# On initial start, we notify systemd after initialization
|
# On initial start, we notify systemd after initialization
|
||||||
# is complete.
|
# is complete.
|
||||||
systemd.notify_once()
|
systemd.notify_once()
|
||||||
|
|
||||||
|
if self.iter_num > 0:
|
||||||
|
# agent is considered started after
|
||||||
|
# initial sync with server (iter 0) is done
|
||||||
|
self.agent_state.pop('start_flag', None)
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
LOG.exception("Failed reporting state!")
|
LOG.exception("Failed reporting state!")
|
||||||
|
|
||||||
|
|
|
@ -1144,7 +1144,8 @@ class TestOvsNeutronAgent(object):
|
||||||
self.agent.agent_state, True)
|
self.agent.agent_state, True)
|
||||||
self.systemd_notify.assert_called_once_with()
|
self.systemd_notify.assert_called_once_with()
|
||||||
self.systemd_notify.reset_mock()
|
self.systemd_notify.reset_mock()
|
||||||
self.assertNotIn("start_flag", self.agent.agent_state)
|
# agent keeps sending "start_flag" while iter 0 not completed
|
||||||
|
self.assertIn("start_flag", self.agent.agent_state)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
self.agent.agent_state["configurations"]["devices"],
|
self.agent.agent_state["configurations"]["devices"],
|
||||||
self.agent.int_br_device_count
|
self.agent.int_br_device_count
|
||||||
|
|
Loading…
Reference in New Issue