diff --git a/roles/download/tasks/download_container.yml b/roles/download/tasks/download_container.yml index 766ffb641..5766ab577 100644 --- a/roles/download/tasks/download_container.yml +++ b/roles/download/tasks/download_container.yml @@ -10,16 +10,31 @@ tags: - facts -- name: container_download | Download containers if pull is required or told to always pull +# FIXME(mattymo): In Ansible 2.4 omitting download delegate is broken. Move back +# to one task in the future. +- name: container_download | Download containers if pull is required or told to always pull (delegate) command: "{{ docker_bin_dir }}/docker pull {{ pull_args }}" register: pull_task_result until: pull_task_result|succeeded retries: 4 delay: "{{ retry_stagger | random + 3 }}" when: + - download_run_once + - download.enabled + - download.container + - pull_required|default(download_always_pull) + delegate_to: "{{ download_delegate }}" + delegate_facts: yes + run_once: yes + +- name: container_download | Download containers if pull is required or told to always pull (all nodes) + command: "{{ docker_bin_dir }}/docker pull {{ pull_args }}" + register: pull_task_result + until: pull_task_result|succeeded + retries: 4 + delay: "{{ retry_stagger | random + 3 }}" + when: + - not download_run_once - download.enabled - download.container - pull_required|default(download_always_pull) - delegate_to: "{{ download_delegate if download_run_once or omit }}" - delegate_facts: no - run_once: "{{ download_run_once }}"