This is an automated email from the ASF dual-hosted git repository.

damccorm pushed a commit to branch users/damccorm/image_cleaner
in repository https://gitbox.apache.org/repos/asf/beam.git

commit 671de4461436e98dc9028bc74a8731a86754adce
Author: Danny McCormick <dannymccorm...@google.com>
AuthorDate: Tue Aug 8 16:16:21 2023 -0400

    Try a second time to delete old images
---
 .test-infra/tools/stale_dataflow_prebuilt_image_cleaner.sh | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/.test-infra/tools/stale_dataflow_prebuilt_image_cleaner.sh 
b/.test-infra/tools/stale_dataflow_prebuilt_image_cleaner.sh
index 89696ba6057..ca2b08dfb8a 100755
--- a/.test-infra/tools/stale_dataflow_prebuilt_image_cleaner.sh
+++ b/.test-infra/tools/stale_dataflow_prebuilt_image_cleaner.sh
@@ -51,6 +51,7 @@ done
 
 for image_name in ${IMAGE_NAMES[@]}; do
   echo IMAGES FOR image ${image_name}
+  FAILED_TO_DELETE=""
   # get the newest image without latest label
   LATEST_IN_TIME=$(gcloud container images list-tags \
      ${image_name} --sort-by="~TIMESTAMP"  --filter="NOT tags:latest " 
--format="get(digest)" --limit=1)
@@ -70,10 +71,17 @@ for image_name in ${IMAGE_NAMES[@]}; do
       # this make sure we leave at least one container under each image name, 
either labelled "latest" or not
       if [ "$LATEST_IN_TIME" != "$current" ]; then
         echo "Deleting image. Command: gcloud container images delete 
${image_name}@"${current}" --force-delete-tags -q"
-        gcloud container images delete ${image_name}@"${current}" 
--force-delete-tags -q
+        gcloud container images delete ${image_name}@"${current}" 
--force-delete-tags -q || FAILED_TO_DELETE+="${current} "
       fi
     done
   fi
+
+  # Some images may not be successfully deleted the first time due to 
flakiness or having a dependency that hasn't been deleted yet.
+  RETRY_DELETE=("${FAILED_TO_DELETE[@]}")
+  for current in $RETRY_DELETE; do
+    echo "Trying again to delete image ${image_name}@"${current}". Command: 
gcloud container images delete ${image_name}@"${current}" --force-delete-tags 
-q"
+    gcloud container images delete ${image_name}@"${current}" 
--force-delete-tags -q || FAILED_TO_DELETE+="${current} "
+  done
 done
 
 if [[ ${STALE_IMAGES} ]]; then

Reply via email to