diff --git a/trains_agent/backend_api/session/session.py b/trains_agent/backend_api/session/session.py index 05b464a..cc99223 100644 --- a/trains_agent/backend_api/session/session.py +++ b/trains_agent/backend_api/session/session.py @@ -85,6 +85,7 @@ class Session(TokenManager): initialize_logging=True, client=None, config=None, + http_retries_config=None, **kwargs ): # add backward compatibility support for old environment variables @@ -129,7 +130,7 @@ class Session(TokenManager): raise ValueError("host is required in init or config") self.__host = host.strip("/") - http_retries_config = self.config.get( + 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 diff --git a/trains_agent/commands/config.py b/trains_agent/commands/config.py index f00fe8a..c896a4e 100644 --- a/trains_agent/commands/config.py +++ b/trains_agent/commands/config.py @@ -233,7 +233,8 @@ 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": 2}) print('Credentials verified!') return True else: @@ -275,7 +276,7 @@ def read_manual_credentials(): def input_url(host_type, host=None): while True: - print('{} configured to: [{}] '.format(host_type, host), end='') + print('{} configured to: {}'.format(host_type, '[{}] '.format(host) if host else ''), end='') parse_input = input() if host and (not parse_input or parse_input.lower() == 'yes' or parse_input.lower() == 'y'): break @@ -289,11 +290,12 @@ def input_url(host_type, host=None): def input_host_port(host_type, parsed_host): print('Enter port for {} host '.format(host_type), end='') replace_port = input().lower() - return parsed_host.scheme + "://" + parsed_host.netloc + (':{}'.format(replace_port) if replace_port else '') + \ - parsed_host.path + return parsed_host.scheme + "://" + parsed_host.netloc + ( + ':{}'.format(replace_port) if replace_port else '') + parsed_host.path def verify_url(parse_input): + # noinspection PyBroadException try: if not parse_input.startswith('http://') and not parse_input.startswith('https://'): # if we have a specific port, use http prefix, otherwise assume https