diff options
author | 2020-11-17 12:02:50 -0800 | |
---|---|---|
committer | 2020-11-17 12:02:50 -0800 | |
commit | e618989d37d8b786b5b0a9f2fa42bafa32475eed (patch) | |
tree | adc989060dce1405908eb22b4c79f45974d21390 /onap-client/onap_client/client | |
parent | 8d35775b374116182a5262fa6249c989d3d7509e (diff) |
[VVP] Add urllib3 retry to OC requestsguilin
Adding retry to OC for requests.
- Retry limit is 3, back_off time is 2.5, 5, then 10 seconds for last retry.
Fixing an issue w/ delete SI payload.
Removing auto-generated X-Transaction-ID header from SDC requests.
Issue-ID: VVP-487
Signed-off-by: stark, steven <steven.stark@att.com>
Change-Id: I3eb2b3b65ce00307066867f65f2ef9a03f7d5524
Diffstat (limited to 'onap-client/onap_client/client')
-rw-r--r-- | onap-client/onap_client/client/request.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/onap-client/onap_client/client/request.py b/onap-client/onap_client/client/request.py index 6563fb8..fa9bf15 100644 --- a/onap-client/onap_client/client/request.py +++ b/onap-client/onap_client/client/request.py @@ -45,6 +45,8 @@ import logging as logger from onap_client.client.response import ResponseHandler from onap_client.exceptions import FilesRequestFailure from jinja2 import exceptions as jinja_exceptions +from requests.adapters import HTTPAdapter +from urllib3.util.retry import Retry class RequestHandler: @@ -112,7 +114,19 @@ class Request: logger.info(debug_request) def request(self, verify=True): - return requests.request(**self.kwargs, verify=verify) + http = requests.Session() + retry_strategy = Retry( + total=3, + backoff_factor=5, + status_forcelist=[404, 429, 500, 501, 502, 503, 504], + method_whitelist=["HEAD", "GET", "PUT", "DELETE", "OPTIONS", "TRACE", "POST"], + raise_on_status=False + ) + adapter = HTTPAdapter(max_retries=retry_strategy) + http.mount("https://", adapter) + http.mount("http://", adapter) + + return http.request(**self.kwargs, verify=verify) class APICatalogRequestObject: |