|
|
@ -9,6 +9,7 @@ |
|
|
|
- name: Create dest directories |
|
|
|
file: path={{local_release_dir}}/{{download.dest|dirname}} state=directory recurse=yes |
|
|
|
when: "{{ download.enabled|bool and not download.container|bool }}" |
|
|
|
delegate_to: "{{ groups['kube-master'][0] if download_run_once|bool else omit }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
- name: Download items |
|
|
@ -23,6 +24,7 @@ |
|
|
|
retries: 4 |
|
|
|
delay: "{{ 20 | random + 3 }}" |
|
|
|
when: "{{ download.enabled|bool and not download.container|bool }}" |
|
|
|
delegate_to: "{{ groups['kube-master'][0] if download_run_once|bool else omit }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
- name: Extract archives |
|
|
@ -33,6 +35,7 @@ |
|
|
|
mode: "{{ download.mode|default(omit) }}" |
|
|
|
copy: no |
|
|
|
when: "{{ download.enabled|bool and not download.container|bool and download.unarchive is defined and download.unarchive == True }}" |
|
|
|
delegate_to: "{{ groups['kube-master'][0] if download_run_once|bool else omit }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
- name: Fix permissions |
|
|
@ -42,6 +45,7 @@ |
|
|
|
owner: "{{ download.owner|default(omit) }}" |
|
|
|
mode: "{{ download.mode|default(omit) }}" |
|
|
|
when: "{{ download.enabled|bool and not download.container|bool and (download.unarchive is not defined or download.unarchive == False) }}" |
|
|
|
delegate_to: "{{ groups['kube-master'][0] if download_run_once|bool else omit }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
- name: pulling... |
|
|
@ -49,10 +53,9 @@ |
|
|
|
msg: "{{ download.repo }}:{{ download.tag }}" |
|
|
|
when: "{{ download.enabled|bool and download.container|bool }}" |
|
|
|
|
|
|
|
- name: Create dest directory for container images to be saved |
|
|
|
- name: Create dest directory for saved/loaded container images |
|
|
|
file: path="{{local_release_dir}}/containers" state=directory recurse=yes |
|
|
|
when: "{{ download.enabled|bool and download.container|bool }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
#NOTE(bogdando) this brings no docker-py deps for nodes |
|
|
|
- name: Download containers |
|
|
@ -62,4 +65,29 @@ |
|
|
|
retries: 4 |
|
|
|
delay: "{{ 20 | random + 3 }}" |
|
|
|
when: "{{ download.enabled|bool and download.container|bool }}" |
|
|
|
delegate_to: "{{ groups['kube-master'][0] if download_run_once|bool else omit }}" |
|
|
|
run_once: "{{ download_run_once|bool }}" |
|
|
|
|
|
|
|
- set_fact: |
|
|
|
fname: "{{local_release_dir}}/containers/{{download.repo|regex_replace('/|\0|:', '_')}}:{{download.tag|regex_replace('/|\0|:', '_')}}.tar" |
|
|
|
|
|
|
|
- name: Download | save container images |
|
|
|
shell: docker save "{{ download.repo }}:{{ download.tag }}" > "{{ fname }}" |
|
|
|
delegate_to: "{{groups['kube-master'][0]}}" |
|
|
|
run_once: true |
|
|
|
when: ansible_os_family != "CoreOS" and download_run_once|bool |
|
|
|
|
|
|
|
- name: Download | get container images |
|
|
|
synchronize: |
|
|
|
src: "{{ fname }}" |
|
|
|
dest: "{{local_release_dir}}/containers" |
|
|
|
mode: push |
|
|
|
register: get_task |
|
|
|
until: get_task|success |
|
|
|
retries: 4 |
|
|
|
delay: "{{ 20 | random + 3 }}" |
|
|
|
when: ansible_os_family != "CoreOS" and inventory_hostname != groups['kube-master'][0] and download_run_once|bool |
|
|
|
|
|
|
|
- name: Download | load container images |
|
|
|
shell: docker load < "{{ fname }}" |
|
|
|
when: ansible_os_family != "CoreOS" and inventory_hostname != groups['kube-master'][0] and download_run_once|bool |