diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b10654328722f35ece472644cc37f8b51d18a4a8..bd92aa5366f621f31c22d022ee4539e20c75d3bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -389,17 +389,45 @@ cleanup_knightly: SERVER_TO_BE_DELETE=($(openstack server list --name $OOD_INSTANCE_NAME --sort-column Image --sort-descending -f value -c ID | awk -v NSTK=$NUM_SERVER_TO_KEEP '{count++} {if (count>NSTK) print}')) + - openstack image list --sort-column Name --sort-descending -f value -c Name -c ID > images.txt - > - IMAGE_TO_BE_DELETE=($(openstack image list --sort-column Name --sort-descending -f value -c Name -c ID + OOD_IMAGE_TO_BE_DELETE=($(cat images.txt | awk -v NITK=$NUM_IMAGE_TO_KEEP -v REGEX=ood-$TIMESTAMP_REGEX '{if ($0 ~ REGEX) result[count++] = $1} END {for(i=NITK;i<count;i++) print result[i]}')) + - > + BASE_IMAGE_TO_BE_DELETE=($(cat images.txt + | awk -v NITK=$NUM_IMAGE_TO_KEEP -v REGEX=base-$TIMESTAMP_REGEX + '{if ($0 ~ REGEX) result[count++] = $1} + END {for(i=NITK;i<count;i++) print result[i]}')) + - > + COMPUTE_IMAGE_TO_BE_DELETE=($(cat images.txt + | awk -v NITK=$NUM_IMAGE_TO_KEEP -v REGEX=compute-$TIMESTAMP_REGEX + '{if ($0 ~ REGEX) result[count++] = $1} + END {for(i=NITK;i<count;i++) print result[i]}')) + - > + GPU_IMAGE_TO_BE_DELETE=($(cat images.txt + | awk -v NITK=$NUM_IMAGE_TO_KEEP -v REGEX=gpu-$TIMESTAMP_REGEX + '{if ($0 ~ REGEX) result[count++] = $1} + END {for(i=NITK;i<count;i++) print result[i]}')) - | for svr in ${SERVER_TO_BE_DELETE[@]}; do openstack server delete ${svr} done - | - for img in ${IMAGE_TO_BE_DELETE[@]}; do + for img in ${OOD_IMAGE_TO_BE_DELETE[@]}; do + openstack image delete ${img} + done + - | + for img in ${BASE_IMAGE_TO_BE_DELETE[@]}; do + openstack image delete ${img} + done + - | + for img in ${COMPUTE_IMAGE_TO_BE_DELETE[@]}; do + openstack image delete ${img} + done + - | + for img in ${GPU_IMAGE_TO_BE_DELETE[@]}; do openstack image delete ${img} done rules: