From ab587642885f1f518fe14ee7f1c7fc8cbbbf29f0 Mon Sep 17 00:00:00 2001 From: Joe Talerico Date: Tue, 17 Oct 2017 15:09:03 -0400 Subject: [PATCH] Docker image pull retry This change sets a default timeout of 300s for the image pull. If the image pull times out (300s), we will retry 3 times by default. fixes 1954 --- group_vars/all.yml.sample | 5 +++++ group_vars/rhcs.yml.sample | 5 +++++ roles/ceph-defaults/defaults/main.yml | 5 +++++ roles/ceph-docker-common/tasks/fetch_image.yml | 6 +++++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index 462ce1a92..f86fd2326 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -495,3 +495,8 @@ dummy: #rolling_update: false +##################### +# Docker pull retry # +##################### +#docker_pull_retry: 3 +#docker_pull_timeout: "300s" diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index 6753a6501..17f3c7ca9 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -495,3 +495,8 @@ ceph_repository: rhcs #rolling_update: false +##################### +# Docker pull retry # +##################### +#docker_pull_retry: 3 +#docker_pull_timeout: "300s" diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index 2c9a12647..6af0ee681 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -486,3 +486,8 @@ kv_port: 2379 # do not ever change this here rolling_update: false +##################### +# Docker pull retry # +##################### +docker_pull_retry: 3 +docker_pull_timeout: "300s" diff --git a/roles/ceph-docker-common/tasks/fetch_image.yml b/roles/ceph-docker-common/tasks/fetch_image.yml index 69ba821fd..ad21ff9f5 100644 --- a/roles/ceph-docker-common/tasks/fetch_image.yml +++ b/roles/ceph-docker-common/tasks/fetch_image.yml @@ -1,8 +1,12 @@ --- # Normal case - pull image from registry - name: "pull {{ ceph_docker_image }} image" - command: "docker pull {{ ceph_docker_registry}}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}" + command: "timeout {{ docker_pull_timeout }} docker pull {{ ceph_docker_registry}}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}" changed_when: false + register: docker_image + until: docker_image.rc == 0 + retries: "{{ docker_pull_retry }}" + delay: 10 when: - (ceph_docker_dev_image is undefined or not ceph_docker_dev_image) -- 2.39.5