Skip to content

Commit

Permalink
gha: fix issue in containerd switching between different snapshotters…
Browse files Browse the repository at this point in the history
… on CI

we are encountering the issue (kata-containers#8407)
with containerd on CI is likely due to the content digest being missing from the content store,
which can happen when switching between different snapshotters.
To help sort it out on CI, we now clean up related snapshots or images in k8s.io namespace.

Signed-off-by: ChengyuZhu6 <chengyu.zhu@intel.com>
  • Loading branch information
ChengyuZhu6 committed Apr 2, 2024
1 parent fc1d5b4 commit 9cf9453
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions tests/integration/kubernetes/gha-run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,33 @@ function cleanup_snapshotter() {
echo "::endgroup::"
}

function reset_k8s_images(){
# we are encountering the issue (https://github.com/kata-containers/kata-containers/issues/8407)
# with containerd on CI is likely due to the content digest being missing from the content store,
# which can happen when switching between different snapshotters.
# To help sort it out, we now clean up or fetch related images in k8s.io namespace.
ctr_args=""
if [ "${KUBERNETES}" = "k3s" ]; then
ctr_args="--address /run/k3s/containerd/containerd.sock "
fi
ctr_args+="--namespace k8s.io"
ctr_command="sudo -E ctr ${ctr_args}"
pause_images=$(${ctr_command} i ls | grep 'pause' | awk '{print $1}')
for image in $pause_images; do
${ctr_command} content fetch "$image"
done
# remove related images in k8s.io namespace
images_to_remove=(
"quay.io/sjenning/nginx:1.15-alpine"
"quay.io/prometheus/busybox:latest"
"quay.io/confidential-containers/test-images:largeimage"
)

for image in "${images_to_remove[@]}"; do
${ctr_command} i remove "$image" || true
done
}

function deploy_nydus_snapshotter() {
echo "::group::deploy_nydus_snapshotter"
ensure_yq
Expand Down Expand Up @@ -520,6 +547,9 @@ function deploy_nydus_snapshotter() {
kubectl logs "${pods_name}" -n nydus-system
kubectl describe pod "${pods_name}" -n nydus-system
echo "::endgroup::"
echo "::group::reset some k8s images"
reset_k8s_images
echo "::endgroup::"
}

function cleanup_nydus_snapshotter() {
Expand Down

0 comments on commit 9cf9453

Please sign in to comment.