--- - name: Pre-pull bootstrap images into containerd shell: | if /usr/local/bin/ctr -n k8s.io images ls -q | grep -Fx -- "{{ item }}" >/dev/null; then echo "already present" exit 0 fi for attempt in 1 2 3; do if timeout 120s /usr/local/bin/ctr -n k8s.io images pull "{{ item }}"; then echo "pulled image" exit 0 fi sleep 10 done exit 1 args: executable: /bin/bash register: bootstrap_image_pull loop: "{{ bootstrap_prepull_images }}" changed_when: "'pulled image' in bootstrap_image_pull.stdout" failed_when: false - name: Report bootstrap images that did not pre-pull after retries debug: msg: >- Best-effort bootstrap image pre-pull did not complete for {{ item.item }} after 3 attempt(s): {{ item.stderr | default('no stderr') }} loop: "{{ bootstrap_image_pull.results | default([]) }}" loop_control: label: "{{ item.item }}" when: item.rc is defined and item.rc != 0