2017-10-19 16:17:11 +08:00
|
|
|
---
|
|
|
|
- name: container_download | Make download decision if pull is required by tag or sha256
|
2018-01-29 19:37:48 +08:00
|
|
|
include_tasks: set_docker_image_facts.yml
|
2017-10-19 16:17:11 +08:00
|
|
|
when:
|
|
|
|
- download.enabled
|
|
|
|
- download.container
|
|
|
|
tags:
|
|
|
|
- facts
|
|
|
|
|
2017-12-15 00:45:54 +08:00
|
|
|
# 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)
|
2017-10-19 16:17:11 +08:00
|
|
|
command: "{{ docker_bin_dir }}/docker pull {{ pull_args }}"
|
|
|
|
register: pull_task_result
|
2018-10-17 06:33:30 +08:00
|
|
|
until: pull_task_result is succeeded
|
2017-10-19 16:17:11 +08:00
|
|
|
retries: 4
|
|
|
|
delay: "{{ retry_stagger | random + 3 }}"
|
2019-05-01 16:10:56 +08:00
|
|
|
changed_when: not 'up to date' in pull_task_result.stdout
|
2017-10-19 16:17:11 +08:00
|
|
|
when:
|
2017-12-15 00:45:54 +08:00
|
|
|
- download_run_once
|
|
|
|
- download.enabled
|
|
|
|
- download.container
|
2019-05-01 16:10:56 +08:00
|
|
|
- any_pull_required | default(download_always_pull)
|
2017-12-15 00:45:54 +08:00
|
|
|
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
|
2018-10-17 06:33:30 +08:00
|
|
|
until: pull_task_result is succeeded
|
2017-12-15 00:45:54 +08:00
|
|
|
retries: 4
|
|
|
|
delay: "{{ retry_stagger | random + 3 }}"
|
2019-05-01 16:10:56 +08:00
|
|
|
changed_when: not 'up to date' in pull_task_result.stdout
|
2017-12-15 00:45:54 +08:00
|
|
|
when:
|
|
|
|
- not download_run_once
|
2017-10-19 16:17:11 +08:00
|
|
|
- download.enabled
|
|
|
|
- download.container
|
|
|
|
- pull_required|default(download_always_pull)
|
2018-03-31 10:40:01 +08:00
|
|
|
- group_names | intersect(download.groups) | length
|