diff --git a/trains/backend_api/session/session.py b/trains/backend_api/session/session.py index c4686fd3..a1698e3e 100644 --- a/trains/backend_api/session/session.py +++ b/trains/backend_api/session/session.py @@ -85,6 +85,7 @@ class Session(TokenManager): initialize_logging=True, client=None, config=None, + http_retries_config=None, **kwargs ): @@ -127,9 +128,8 @@ class Session(TokenManager): raise ValueError("host is required in init or config") self.__host = host.strip("/") - http_retries_config = self.config.get( - "api.http.retries", ConfigTree() - ).as_plain_ordered_dict() + http_retries_config = http_retries_config or self.config.get( + "api.http.retries", ConfigTree()).as_plain_ordered_dict() http_retries_config["status_forcelist"] = self._retry_codes self.__http_session = get_http_session_with_retry(**http_retries_config) diff --git a/trains/config/default/__main__.py b/trains/config/default/__main__.py index a9f35c64..8e245b84 100644 --- a/trains/config/default/__main__.py +++ b/trains/config/default/__main__.py @@ -177,15 +177,16 @@ def verify_credentials(api_host, credentials): try: print('Verifying credentials ...') if api_host: - Session(api_key=credentials['access_key'], secret_key=credentials['secret_key'], host=api_host) + Session(api_key=credentials['access_key'], secret_key=credentials['secret_key'], host=api_host, + http_retries_config={"total": 1}) print('Credentials verified!') return True else: print("Can't verify credentials") return False - except Exception: - print('Error: could not verify credentials: key={} secret={}'.format( - credentials.get('access_key'), credentials.get('secret_key'))) + except Exception as ex: + print('Exception: {}\nError: could not verify credentials: key={} secret={}'.format( + str(ex), credentials.get('access_key'), credentials.get('secret_key'))) return False