Merge pull request #13523 from VannTen/container_merge_repo_tag

downloads/container: merge repo and tag
This commit is contained in:
kubernetes-prow[bot]
2026-09-23 17:10:15 +00:00
committed by GitHub
7 changed files with 64 additions and 184 deletions
+1 -11
View File
@@ -10,15 +10,5 @@
- name: Check_pull_required | Set pull_required if the desired image is not yet loaded
set_fact:
pull_required: "{{ (image_reponame | regex_replace('^docker\\.io/(library/)?', '')) not in docker_images.stdout.split(',') }}"
pull_required: "{{ (download.image_name | regex_replace('^docker\\.io/(library/)?', '')) not in docker_images.stdout.split(',') }}"
when: not download_always_pull
- name: Check_pull_required | Check that the local digest sha256 corresponds to the given image tag
assert:
that: "{{ download.repo }}:{{ download.tag }} in docker_images.stdout.split(',')"
when:
- not download_always_pull
- not pull_required
- pull_by_digest
tags:
- asserts
+3 -3
View File
@@ -21,7 +21,7 @@
- not download_always_pull
- debug: # noqa name[missing]
msg: "Pull {{ image_reponame }} required is: {{ pull_required }}"
msg: "Pull {{ download.image_name }} required is: {{ pull_required }}"
- name: Download_container | Determine if image is in cache
stat:
@@ -49,13 +49,13 @@
- name: Stop if image not in cache on ansible host when download_force_cache=true
assert:
that: image_is_cached
msg: "Image cache file {{ image_path_cached }} not found for {{ image_reponame }} on localhost"
msg: "Image cache file {{ image_path_cached }} not found for {{ download.image_name }} on localhost"
when:
- download_force_cache
- not download_run_once
- name: Download_container | Download image if required
command: "{{ image_pull_command_on_localhost if download_localhost else image_pull_command }} {{ image_reponame }}"
command: "{{ image_pull_command_on_localhost if download_localhost else image_pull_command }} {{ download.image_name }}"
delegate_to: "{{ download_delegate if download_run_once else inventory_hostname }}"
delegate_facts: true
run_once: "{{ download_run_once }}"
+1 -2
View File
@@ -42,8 +42,7 @@
value:
enabled: true
container: true
repo: "{{ item | regex_replace('^(.*):.*$', '\\1') }}"
tag: "{{ item | regex_replace('^.*:(.*)$', '\\1') }}"
image_name: "{{ item }}"
groups:
- k8s_cluster
loop: "{{ kubeadm_images_list | flatten(levels=1) }}"
+8 -21
View File
@@ -1,20 +1,7 @@
---
- 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: "{{ download.sha256 is defined and download.sha256 }}"
- 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"
image_filename: "{{ download.image_name | regex_replace('/|\0|:', '_') }}.tar"
- name: Set_container_facts | Define path of image
set_fact:
@@ -23,33 +10,33 @@
- name: Set image save/load command for docker
set_fact:
image_save_command: "{{ docker_bin_dir }}/docker save {{ image_reponame }} | gzip -{{ download_compress }} > {{ image_path_final }}"
image_save_command: "{{ docker_bin_dir }}/docker save {{ download.image_name }} | gzip -{{ download_compress }} > {{ image_path_final }}"
image_load_command: "{{ docker_bin_dir }}/docker load < {{ image_path_final }}"
when: container_manager == 'docker'
- name: Set image save/load command for containerd
set_fact:
image_save_command: "{{ bin_dir }}/nerdctl -n k8s.io image save -o {{ image_path_final }} {{ image_reponame }}"
image_save_command: "{{ bin_dir }}/nerdctl -n k8s.io image save -o {{ image_path_final }} {{ download.image_name }}"
image_load_command: "{{ bin_dir }}/nerdctl -n k8s.io image load < {{ image_path_final }}"
when: container_manager == 'containerd'
- name: Set image save/load command for crio
set_fact:
image_save_command: "{{ bin_dir }}/skopeo copy containers-storage:{{ image_reponame }} docker-archive:{{ image_path_final }} 2>/dev/null"
image_load_command: "{{ bin_dir }}/skopeo copy docker-archive:{{ image_path_final }} containers-storage:{{ image_reponame }} 2>/dev/null"
image_save_command: "{{ bin_dir }}/skopeo copy containers-storage:{{ download.image_name }} docker-archive:{{ image_path_final }} 2>/dev/null"
image_load_command: "{{ bin_dir }}/skopeo copy docker-archive:{{ image_path_final }} containers-storage:{{ download.image_name }} 2>/dev/null"
when: container_manager == 'crio'
- name: Set image save/load command for docker on localhost
set_fact:
image_save_command_on_localhost: "{{ docker_bin_dir }}/docker save {{ image_reponame }} | gzip -{{ download_compress }} > {{ image_path_cached }}"
image_save_command_on_localhost: "{{ docker_bin_dir }}/docker save {{ download.image_name }} | gzip -{{ download_compress }} > {{ image_path_cached }}"
when: container_manager_on_localhost == 'docker'
- 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 --platform linux/{{ image_arch }} {{ 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 }} {{ download.image_name }}"
when: container_manager_on_localhost == 'containerd'
- name: Set image save/load command for crio on localhost
set_fact:
image_save_command_on_localhost: "{{ bin_dir }}/skopeo copy containers-storage:{{ image_reponame }} docker-archive:{{ image_path_final }} 2>/dev/null"
image_save_command_on_localhost: "{{ bin_dir }}/skopeo copy containers-storage:{{ download.image_name }} docker-archive:{{ image_path_final }} 2>/dev/null"
when: container_manager_on_localhost == 'crio'