summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2018-04-25 14:36:41 -0700
committerJoffrey F <f.joffrey@gmail.com>2018-04-25 17:55:16 -0700
commit2454e810268f154c7384054382b71becc2dce30d (patch)
treef9dd998c4937d22629184dad3e88dde5efb8f075
parent1848d2c9492a7d97d1eec6baa95d7678d8d6a382 (diff)
downloaddocker-py-2454e810268f154c7384054382b71becc2dce30d.tar.gz
Total timeout should be HTTP timeout + operation timeout
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/api/container.py12
-rw-r--r--tests/integration/api_container_test.py2
-rw-r--r--tests/unit/api_container_test.py8
3 files changed, 11 insertions, 11 deletions
diff --git a/docker/api/container.py b/docker/api/container.py
index 144a6d9..4a49bab 100644
--- a/docker/api/container.py
+++ b/docker/api/container.py
@@ -1018,10 +1018,9 @@ class ContainerApiMixin(object):
"""
params = {'t': timeout}
url = self._url("/containers/{0}/restart", container)
- conn_timeout = self.timeout
- if conn_timeout:
- conn_timeout = max(conn_timeout, timeout+15)
- res = self._post(url, params=params, timeout=conn_timeout)
+ res = self._post(
+ url, params=params, timeout=timeout + (self.timeout or 0)
+ )
self._raise_for_status(res)
@utils.check_resource('container')
@@ -1113,8 +1112,9 @@ class ContainerApiMixin(object):
conn_timeout = self.timeout
if conn_timeout:
conn_timeout = max(conn_timeout, timeout + 15)
- res = self._post(url, params=params,
- timeout=conn_timeout)
+ res = self._post(
+ url, params=params, timeout=timeout + (self.timeout or 0)
+ )
self._raise_for_status(res)
@utils.check_resource('container')
diff --git a/tests/integration/api_container_test.py b/tests/integration/api_container_test.py
index 3d985a4..da9b3ec 100644
--- a/tests/integration/api_container_test.py
+++ b/tests/integration/api_container_test.py
@@ -1165,7 +1165,7 @@ class RestartContainerTest(BaseAPIIntegrationTest):
assert info2['State']['Running'] is True
self.client.kill(id)
- def test_restart_with_hight_timeout(self):
+ def test_restart_with_high_timeout(self):
container = self.client.create_container(BUSYBOX, ['sleep', '9999'])
id = container['Id']
self.client.start(id)
diff --git a/tests/unit/api_container_test.py b/tests/unit/api_container_test.py
index 1aed967..a7e183c 100644
--- a/tests/unit/api_container_test.py
+++ b/tests/unit/api_container_test.py
@@ -1264,7 +1264,7 @@ class ContainerTest(BaseAPIClientTest):
'POST',
url_prefix + 'containers/3cc2351ab11b/stop',
params={'t': timeout},
- timeout=(DEFAULT_TIMEOUT_SECONDS)
+ timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
)
def test_stop_container_with_dict_instead_of_id(self):
@@ -1277,7 +1277,7 @@ class ContainerTest(BaseAPIClientTest):
'POST',
url_prefix + 'containers/3cc2351ab11b/stop',
params={'t': timeout},
- timeout=(DEFAULT_TIMEOUT_SECONDS)
+ timeout=(DEFAULT_TIMEOUT_SECONDS + timeout)
)
def test_pause_container(self):
@@ -1335,7 +1335,7 @@ class ContainerTest(BaseAPIClientTest):
'POST',
url_prefix + 'containers/3cc2351ab11b/restart',
params={'t': 2},
- timeout=DEFAULT_TIMEOUT_SECONDS
+ timeout=(DEFAULT_TIMEOUT_SECONDS + 2)
)
def test_restart_container_with_dict_instead_of_id(self):
@@ -1345,7 +1345,7 @@ class ContainerTest(BaseAPIClientTest):
'POST',
url_prefix + 'containers/3cc2351ab11b/restart',
params={'t': 2},
- timeout=DEFAULT_TIMEOUT_SECONDS
+ timeout=(DEFAULT_TIMEOUT_SECONDS + 2)
)
def test_remove_container(self):