Merge "Add timeout and retries to JSON RPC client"
This commit is contained in:
commit
855986c024
@ -41,11 +41,14 @@ def _get_session():
|
|||||||
else:
|
else:
|
||||||
auth = None
|
auth = None
|
||||||
|
|
||||||
_SESSION = keystone.get_session('json_rpc', auth=auth)
|
session = keystone.get_session('json_rpc', auth=auth)
|
||||||
_SESSION.headers = {
|
session.headers = {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Adds options like connect_retries
|
||||||
|
_SESSION = keystone.get_adapter('json_rpc', session=session)
|
||||||
|
|
||||||
return _SESSION
|
return _SESSION
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@ opts = [
|
|||||||
def register_opts(conf):
|
def register_opts(conf):
|
||||||
conf.register_opts(opts, group='json_rpc')
|
conf.register_opts(opts, group='json_rpc')
|
||||||
auth.register_auth_opts(conf, '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')
|
||||||
|
|
||||||
|
|
||||||
def list_opts():
|
def list_opts():
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
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
|
||||||
|
``[json_rpc]timeout`` and ``[json_rpc]connect_retries`` accordingly.
|
Loading…
Reference in New Issue
Block a user