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
(cherry picked from commit bb989be99d
)
This commit is contained in:
parent
cc6c2029ba
commit
1287e86c5f
|
@ -72,7 +72,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