66408a87ee
* download file * download containers * fix push image to nodes * pull if none image on host * fix * improve docker image tag checks. do not pull already cached images * rebase fix merge conflict * add support download_run_once when upgrade and scale cluster add some test with download_run_once * set default values to temp flag for every download cycle * add save,load abilty for containerd and crio when download_run_once=true * return redefine image save/load command to set_docker_image_facts.yml * move set command to set_container_facts * ctr in containerd_bin_dir * fix order of ctr image export arguments * temporary disable download_run_once for containerd and crio due https://github.com/containerd/containerd/issues/4075 * remove unused files * fix strict yaml linter warning and errors * refactor logical conditions to pull and cache container images * remove comment due lint check * document role * remove image_load_on_localhost, because cached images are always loaded to docker on remote sites * remove XXX from debug output
34 lines
1.6 KiB
YAML
34 lines
1.6 KiB
YAML
---
|
|
- name: set_container_facts | Display the name of the image being processed
|
|
debug:
|
|
msg: "{{ download.repo }}"
|
|
|
|
- name: set_container_facts | Set if containers should be pulled by digest
|
|
set_fact:
|
|
pull_by_digest: >-
|
|
{%- if download.sha256 is defined and download.sha256 -%}true{%- else -%}false{%- endif -%}
|
|
|
|
- name: set_container_facts | Define by what name to pull the image
|
|
set_fact:
|
|
image_reponame: >-
|
|
{%- if pull_by_digest %}{{ download.repo }}@sha256:{{ download.sha256 }}{%- else -%}{{ download.repo }}:{{ download.tag }}{%- endif -%}
|
|
|
|
- name: set_container_facts | Define file name of image
|
|
set_fact:
|
|
image_filename: "{{ image_reponame | regex_replace('/|\0|:', '_') }}.tar"
|
|
|
|
- name: set_container_facts | Define path of image
|
|
set_fact:
|
|
image_path_cached: "{{ download_cache_dir }}/images/{{ image_filename }}"
|
|
image_path_final: "{{ local_release_dir }}/images/{{ image_filename }}"
|
|
|
|
- name: Set image save/load command for containerd and crio
|
|
set_fact:
|
|
image_save_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_final }} {{ image_reponame }}"
|
|
image_load_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image import --base-name {{ download.repo }} {{ image_path_final }}"
|
|
when: container_manager in ['crio' ,'containerd']
|
|
|
|
- name: Set image save/load command for containerd and crio on localhost
|
|
set_fact:
|
|
image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_cached }} {{ image_reponame }}"
|
|
when: container_manager_on_localhost in ['crio' ,'containerd']
|