aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ansible/group_vars/all.yml3
-rw-r--r--ansible/library/kolla_docker.py10
-rw-r--r--etc/kolla/globals.yml2
-rw-r--r--releasenotes/notes/docker-client-timeout-dc221b2d350efad8.yaml8
-rw-r--r--tests/test_kolla_docker.py1
5 files changed, 23 insertions, 1 deletions
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml
index 9315b8bf2..f7846ea28 100644
--- a/ansible/group_vars/all.yml
+++ b/ansible/group_vars/all.yml
@@ -96,6 +96,8 @@ docker_namespace: "kolla"
docker_registry_username:
docker_registry_insecure: "{{ 'yes' if docker_registry else 'no' }}"
docker_runtime_directory: ""
+# Docker client timeout in seconds.
+docker_client_timeout: 120
# Retention settings for Docker logs
docker_log_max_file: "5"
@@ -127,6 +129,7 @@ docker_common_options:
restart_policy: "{{ docker_restart_policy }}"
restart_retries: "{{ docker_restart_policy_retry }}"
graceful_timeout: "{{ docker_graceful_timeout }}"
+ client_timeout: "{{ docker_client_timeout }}"
####################
# Dimensions options
diff --git a/ansible/library/kolla_docker.py b/ansible/library/kolla_docker.py
index 249a3477f..fe0264c38 100644
--- a/ansible/library/kolla_docker.py
+++ b/ansible/library/kolla_docker.py
@@ -201,6 +201,12 @@ options:
required: False
default: False
type: bool
+ client_timeout:
+ description:
+ - Docker client timeout in seconds
+ required: False
+ default: 120
+ type: int
author: Sam Yaple
'''
@@ -252,7 +258,8 @@ class DockerWorker(object):
# tls_config = self.generate_tls()
options = {
- 'version': self.params.get('api_version')
+ 'version': self.params.get('api_version'),
+ 'timeout': self.params.get('client_timeout'),
}
self.dc = get_docker_client()(**options)
@@ -957,6 +964,7 @@ def generate_module():
volumes_from=dict(required=False, type='list'),
dimensions=dict(required=False, type='dict', default=dict()),
tty=dict(required=False, type='bool', default=False),
+ client_timeout=dict(required=False, type='int', default=120),
)
required_if = [
['action', 'pull_image', ['image']],
diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml
index 6315cfbf8..b1be6afaa 100644
--- a/etc/kolla/globals.yml
+++ b/etc/kolla/globals.yml
@@ -57,6 +57,8 @@
#docker_registry_insecure: "yes"
#docker_registry_username: "sam"
#docker_registry_password: "correcthorsebatterystaple"
+# Docker client timeout in seconds.
+#docker_client_timeout: 120
#docker_configure_for_zun: "no"
diff --git a/releasenotes/notes/docker-client-timeout-dc221b2d350efad8.yaml b/releasenotes/notes/docker-client-timeout-dc221b2d350efad8.yaml
new file mode 100644
index 000000000..1dcd9b2eb
--- /dev/null
+++ b/releasenotes/notes/docker-client-timeout-dc221b2d350efad8.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+ - |
+ Fixes an issue with Docker client timeouts where Docker reports 'Read
+ timed out'. The client timeout may be configured via
+ ``docker_client_timeout``. The default timeout has been increased to 120
+ seconds. See `bug
+ <https://bugs.launchpad.net/kolla-ansible/+bug/1809844>`__ for details.
diff --git a/tests/test_kolla_docker.py b/tests/test_kolla_docker.py
index 8fad2aa82..7fb9b4f0b 100644
--- a/tests/test_kolla_docker.py
+++ b/tests/test_kolla_docker.py
@@ -98,6 +98,7 @@ class ModuleArgsTest(base.BaseTestCase):
volumes_from=dict(required=False, type='list'),
dimensions=dict(required=False, type='dict', default=dict()),
tty=dict(required=False, type='bool', default=False),
+ client_timeout=dict(required=False, type='int', default=120),
)
required_if = [
['action', 'pull_image', ['image']],