diff --git a/roles/download/tasks/prep_download.yml b/roles/download/tasks/prep_download.yml index 6c62c5d144319683dbaa81ab124dc29b061ae1d4..73d72cf25933eb2ca6c704bfd1a1c87100a6a360 100644 --- a/roles/download/tasks/prep_download.yml +++ b/roles/download/tasks/prep_download.yml @@ -13,11 +13,17 @@ image_info_command: "{{ docker_bin_dir }}/docker images -q | xargs -i {{ '{{' }} docker_bin_dir }}/docker inspect -f {% raw %}'{{ '{{' }} if .RepoTags }}{{ '{{' }} join .RepoTags \",\" }}{{ '{{' }} end }}{{ '{{' }} if .RepoDigests }},{{ '{{' }} join .RepoDigests \",\" }}{{ '{{' }} end }}' {% endraw %} {} | tr '\n' ','" when: container_manager == 'docker' -- name: prep_download | Set image pull/info command for containerd and crio +- name: prep_download | Set image pull/info command for containerd + set_fact: + image_info_command: "{{ bin_dir }}/ctr -n k8s.io images ls | awk '/application/ {print $1}' | grep -v ^sha | tr '\n' ','" + image_pull_command: "{{ bin_dir }}/ctr -n k8s.io images pull --platform linux/{{ image_arch }}" + when: container_manager == 'containerd' + +- name: prep_download | Set image pull/info command for crio set_fact: image_info_command: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','" image_pull_command: "{{ bin_dir }}/crictl pull" - when: container_manager in ['crio' ,'containerd'] + when: container_manager == 'crio' - name: prep_download | Set image pull/info command for docker on localhost set_fact: @@ -25,11 +31,17 @@ image_info_command_on_localhost: "{{ docker_bin_dir }}/docker images" when: container_manager_on_localhost == 'docker' -- name: prep_download | Set image pull/info command for containerd and crio on localhost +- name: prep_download | Set image pull/info command for containerd on localhost + set_fact: + image_info_command_on_localhost: "{{ bin_dir }}/ctr -n k8s.io images ls | awk '/application/ {print $1}' | grep -v ^sha | tr '\n' ','" + image_pull_command_on_localhost: "{{ bin_dir }}/ctr -n k8s.io images pull --platform linux/{{ image_arch }}" + when: container_manager_on_localhost == 'containerd' + +- name: prep_download | Set image pull/info command for crio on localhost set_fact: image_info_command_on_localhost: "{{ bin_dir }}/crictl images --verbose | awk -F ': ' '/RepoTags|RepoDigests/ {print $2}' | tr '\n' ','" image_pull_command_on_localhost: "{{ bin_dir }}/crictl pull" - when: container_manager_on_localhost in ['crio' ,'containerd'] + when: container_manager_on_localhost == 'crio' - name: prep_download | On localhost, check if passwordless root is possible command: "true" diff --git a/roles/download/tasks/set_container_facts.yml b/roles/download/tasks/set_container_facts.yml index 2b664022996b7d8a21066982b17ce1075a077f23..20c1783004a583d4f63d668fc55d6df1e5a81576 100644 --- a/roles/download/tasks/set_container_facts.yml +++ b/roles/download/tasks/set_container_facts.yml @@ -29,7 +29,7 @@ - name: Set image save/load command for containerd set_fact: - image_save_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_final }} {{ image_reponame }}" + image_save_command: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ 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 == 'containerd' @@ -46,7 +46,7 @@ - name: Set image save/load command for containerd on localhost set_fact: - image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export {{ image_path_cached }} {{ image_reponame }}" + image_save_command_on_localhost: "{{ containerd_bin_dir }}/ctr -n k8s.io image export --platform linux/{{ image_arch }} {{ image_path_cached }} {{ image_reponame }}" when: container_manager_on_localhost == 'containerd' - name: Set image save/load command for crio on localhost