Files
containerd/script/test/cri-integration.sh
Wei Fu cbb1b13a81 cri-integration: add stress test for TestOOMEventMonitor
The test was validated locally by running 100 pods for 100 rounds without
observing any failures. Due to limited resources in the CI environment,
the test parameters were reduced to 8 pods and 10 rounds.

```bash
FOCUS=TestOOMEventMonitor CGROUP_DRIVER=cgroupfs taskset -c 0,1 make cri-integration | tee /tmp/log
```

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2026-01-06 20:44:04 -05:00

72 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Copyright The containerd Authors.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set -o errexit
set -o nounset
set -o pipefail
basedir="$(dirname "${BASH_SOURCE[0]}")"
source "${basedir}/utils.sh"
trap test_teardown EXIT
ROOT="$( cd "${basedir}" && pwd )"/../..
cd "${ROOT}"
ROOT="$(pwd)"
# FOCUS focuses the test to run.
FOCUS=${FOCUS:-""}
# REPORT_DIR is the directory to store test logs.
if [ $IS_WINDOWS -eq 0 ]; then
REPORT_DIR=${REPORT_DIR:-"/tmp/test-integration"}
else
REPORT_DIR=${REPORT_DIR:-"C:/Windows/Temp/test-integration"}
fi
# RUNTIME is the runtime handler to use in the test.
RUNTIME=${RUNTIME:-""}
mkdir -p "${REPORT_DIR}"
test_setup "${REPORT_DIR}"
# Run integration test.
CMD=""
if [ -n "${sudo}" ]; then
CMD+="${sudo} "
fi
CMD+="${PWD}/bin/cri-integration.test"
${CMD} --test.run="${FOCUS}" --test.v \
--cri-endpoint="${CONTAINERD_SOCK}" \
--runtime-handler="${RUNTIME}" \
--containerd-bin="${CONTAINERD_BIN}" \
--build-dir="${ROOT}/bin" \
--image-list="${TEST_IMAGE_LIST:-}" "@" && test_exit_code=$? || test_exit_code=$?
if [[ "$test_exit_code" -ne 0 ]]; then
if [[ -e "$GITHUB_WORKSPACE" ]]; then
mkdir -p "$GITHUB_WORKSPACE/report"
mv "$REPORT_DIR/containerd.log" "$GITHUB_WORKSPACE/report"
echo ::group::containerd logs
cat "$GITHUB_WORKSPACE/report/containerd.log"
echo ::endgroup::
else
cat "$REPORT_DIR/containerd.log"
fi
fi
exit ${test_exit_code}