From 859aa5abb98c74b3ed052c86262e4521b10a86de Mon Sep 17 00:00:00 2001 From: Zachary Bailey Date: Wed, 10 Apr 2024 18:33:49 -0700 Subject: [PATCH] perf: add paralleliation to container image pulls --- vhdbuilder/packer/install-dependencies.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vhdbuilder/packer/install-dependencies.sh b/vhdbuilder/packer/install-dependencies.sh index 7d9a59a1c8c..395a0d9408d 100644 --- a/vhdbuilder/packer/install-dependencies.sh +++ b/vhdbuilder/packer/install-dependencies.sh @@ -272,6 +272,8 @@ string_replace() { echo ${1//\*/$2} } +declare -a containerImagePids=() + ContainerImages=$(jq ".ContainerImages" $COMPONENTS_FILEPATH | jq .[] --monochrome-output --compact-output) for imageToBePulled in ${ContainerImages[*]}; do downloadURL=$(echo "${imageToBePulled}" | jq .downloadURL -r) @@ -295,9 +297,11 @@ for imageToBePulled in ${ContainerImages[*]}; do for version in ${versions}; do CONTAINER_IMAGE=$(string_replace $downloadURL $version) - pullContainerImage ${cliTool} ${CONTAINER_IMAGE} + pullContainerImage ${cliTool} ${CONTAINER_IMAGE} & + containerImagePids+=($!) echo " - ${CONTAINER_IMAGE}" >> ${VHD_LOGS_FILEPATH} done + wait ${containerImagePids[@]} done watcher=$(jq '.ContainerImages[] | select(.downloadURL | contains("aks-node-ca-watcher"))' $COMPONENTS_FILEPATH)