diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a0a888f..e4cc85a 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -637,11 +637,25 @@ jobs: pull_image_on_all_nodes() { local image="$1" local ips + local pids="" + local failed=false ips="$(python3 -c 'import json; outputs=json.load(open("outputs/terraform_outputs.json")); print(" ".join(outputs["control_plane_ips"]["value"] + outputs["worker_ips"]["value"]))')" for ip in ${ips}; do - pull_image_on_node "${image}" "${ip}" 45 10 + pull_image_on_node "${image}" "${ip}" 30 10 & + pids="${pids} $!" done + + for pid in ${pids}; do + if ! wait "${pid}"; then + failed=true + fi + done + + if [ "${failed}" = "true" ]; then + echo "Failed to pre-pull required Rancher image ${image} on one or more nodes" >&2 + exit 1 + fi } echo "Waiting for Rancher..." @@ -650,7 +664,6 @@ jobs: wait_for_resource flux-system helmrelease.helm.toolkit.fluxcd.io/rancher 600 reconcile_helmrelease rancher wait_for_helmchart_ready flux-system-rancher rancher 180s 5 - pull_image_on_all_nodes rancher/rancher:v2.13.3 pull_image_on_all_nodes rancher/shell:v0.6.2 pull_image_on_all_nodes rancher/rancher-webhook:v0.9.3 pull_image_on_all_nodes rancher/system-upgrade-controller:v0.17.0