You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds hard timeout for management initialization (#1333)
Issues:
Fixes#541
Problem:
The management root initialization may hang for longer than the
specified timeout value
Analysis:
The requests library's underlying urllib3 code is doing retries when
it fails to connect to a host or the connection is taking a long time.
If you have a timeout set (for example 5), the default retries is 10
and therefore your timeout is actually 50 seconds.
We can technically change this by providing a custom Retry() object
to the `from requests.adapters import HTTPAdapter` adapter, but that
would cause this retry to affect __all__ the API calls. We really
only want to override the initial management root `_get_tmos_version`
call.
So we use the eventlet package to override this. If eventlet is not
installed, the package will not be able to enforce this hard timeout
and will pass on trying.
By default, eventlet is installed with f5-sdk
Tests:
functional
0 commit comments