Raise the JSON RPC connection timeout to 2 minutes and disable retries

Apparently, 15 seconds is easily exceeded in our CI. Raise to 2 mins
for a more conservative default (can be changed via ironic.conf)

Retries can be risky since a running request may end up being retried
if it takes really long. Also with 2 retries it may take 6 minutes
to give up on a failed server, which will cause timeouts on the caller
side anyway. Remove retries, while keeping a way to add them.

Change-Id: Ic155943f234505a34cfea273fd00441a9a0942f5
This commit is contained in:
Dmitry Tantsur 2020-05-15 15:31:49 +02:00
parent f6b9f34358
commit 38137e6c40
2 changed files with 3 additions and 4 deletions

View File

@ -38,8 +38,7 @@ opts = [
def register_opts(conf):
conf.register_opts(opts, group='json_rpc')
auth.register_auth_opts(conf, 'json_rpc')
conf.set_default('timeout', 15, group='json_rpc')
conf.set_default('connect_retries', 2, group='json_rpc')
conf.set_default('timeout', 120, group='json_rpc')
def list_opts():

View File

@ -2,6 +2,6 @@
fixes:
- |
Fixes the JSON RPC backend potentially hanging on inability to connect
to a conductor. The default timeout is now 15 seconds and 2 retries are
made. These values can be adjusted via the configuration options
to a conductor. The default timeout is now 120 seconds. The timeout and
a number of retries can be adjusted via the configuration options
``[json_rpc]timeout`` and ``[json_rpc]connect_retries`` accordingly.