Don't use exponential back-off for report_state
If an agent tries to report_state to the neutron-server and it fails because of a timeout (raising oslo_messaging.MessagingTimeout), then there is an exponential back-off effect, which causes the seemingly-simple report_state RPC call to take 60 seconds, then 120, then 240 and so on. This can happen if all the controllers are restarted simultaneously a number of time, as the bug report describes. Since the feature was intended for heavy RPC calls (like get_routers()) and not for light calls such as report_state, it's safe to reduce the timeout to a constant 60 seconds interval. Closes-Bug: #1606827 Change-Id: I15aeea9f8265b859bb1a8ee933b8b2ce1e64b695
This commit is contained in:
parent
451193c850
commit
bb989be99d
|
@ -73,7 +73,8 @@ class PluginReportStateAPI(object):
|
|||
self.client = n_rpc.get_client(target)
|
||||
|
||||
def report_state(self, context, agent_state, use_call=False):
|
||||
cctxt = self.client.prepare()
|
||||
cctxt = self.client.prepare(
|
||||
timeout=n_rpc.TRANSPORT.conf.rpc_response_timeout)
|
||||
# add unique identifier to a report
|
||||
# that can be logged on server side.
|
||||
# This create visible correspondence between events on
|
||||
|
|
Loading…
Reference in New Issue