summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Abalikhin <anpavl@gmail.com>2022-04-21 17:08:17 +0300
committerPavel Abalikhin <anpavl@gmail.com>2022-04-21 18:00:27 +0300
commit95f68cd673afe07aef9d14904de1c974fc684ef2 (patch)
treeae651cb840a8bdc15d7fe4957ecdbfb9ca3abb80
parent20d837a27665632cc5b164b96671290b04c48a58 (diff)
downloadpython-swiftclient-95f68cd673afe07aef9d14904de1c974fc684ef2.tar.gz
Add timeout for Swift service4.0.0
Connection class has timeout parameter but SwiftService and shell don't use it. That can lead to an endless wait when network is unreachable. Change-Id: Iafa42fc2f8b56feefa2bc8ea6a1b8845717d3bab
-rw-r--r--swiftclient/service.py1
-rwxr-xr-xswiftclient/shell.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/swiftclient/service.py b/swiftclient/service.py
index 4a7b120..9d9fc59 100644
--- a/swiftclient/service.py
+++ b/swiftclient/service.py
@@ -273,6 +273,7 @@ def get_conn(options):
return Connection(options['auth'],
options['user'],
options['key'],
+ timeout=options.get('timeout'),
retries=options['retries'],
auth_version=options['auth_version'],
os_options=options['os_options'],
diff --git a/swiftclient/shell.py b/swiftclient/shell.py
index a16de88..df7c511 100755
--- a/swiftclient/shell.py
+++ b/swiftclient/shell.py
@@ -1728,6 +1728,9 @@ def add_default_args(parser):
parser.add_argument('-K', '--key', dest='key',
default=environ.get('ST_KEY'),
help='Key for obtaining an auth token.')
+ parser.add_argument('-T', '--timeout', type=int, dest='timeout',
+ default=None,
+ help='Timeout in seconds to wait for response.')
parser.add_argument('-R', '--retries', type=int, default=5, dest='retries',
help='The number of times to retry a failed '
'connection.')