diff --git a/tests/common.bash b/tests/common.bash index d71b3f43ce..224df23f52 100644 --- a/tests/common.bash +++ b/tests/common.bash @@ -186,31 +186,20 @@ function clean_env_ctr() if (( count_tasks > 0 )); then die "Can't remove running containers." fi - - kill_kata_components } # Kills running shim and hypervisor components +# by using the kata-component file name. function kill_kata_components() { - local kata_bin_dir="/opt/kata/bin" - local shim_path="${kata_bin_dir}/containerd-shim-kata-v2" - local hypervisor_path="${kata_bin_dir}/qemu-system-x86_64" - local pid_shim_count="$(pgrep -fc ${shim_path} || exit 0)" + local PID_NAMES=( "containerd-shim-kata-v2" "qemu-system-x86_64" "cloud-hypervisor" ) - [ ${pid_shim_count} -gt "0" ] && sudo kill -SIGKILL "$(pgrep -f ${shim_path})" > /dev/null 2>&1 - - if [ "${KATA_HYPERVISOR}" = 'clh' ]; then - hypervisor_path="${kata_bin_dir}/cloud-hypervisor" - elif [ "${KATA_HYPERVISOR}" != 'qemu' ]; then - echo "Failed to stop the hypervisor: '${KATA_HYPERVISOR}' as it is not recognized" - return - fi - - local pid_hypervisor_count="$(pgrep -fc ${hypervisor_path} || exit 0)" - - if [ ${pid_hypervisor_count} -gt "0" ]; then - sudo kill -SIGKILL "$(pgrep -f ${hypervisor_path})" > /dev/null 2>&1 - fi + sudo systemctl stop containerd + # Get the filenames of the kata components + # and kill the correspondingt processes + for PID_NAME in ${PID_NAMES} ; do + sudo killall ${PID_NAME} > /dev/null 2>&1 || true + done + sudo systemctl start containerd } # Restarts a systemd service while ensuring the start-limit-burst is set to 0. diff --git a/tests/metrics/lib/common.bash b/tests/metrics/lib/common.bash index c43019a709..4111d67d40 100755 --- a/tests/metrics/lib/common.bash +++ b/tests/metrics/lib/common.bash @@ -192,6 +192,8 @@ function kill_processes_before_start() CTR_PROCS=$(sudo "${CTR_EXE}" t list -q) [[ -n "${CTR_PROCS}" ]] && clean_env_ctr + kill_kata_components + check_processes } diff --git a/tests/metrics/time/launch_times.sh b/tests/metrics/time/launch_times.sh index 0458b979ed..3d6b98e348 100755 --- a/tests/metrics/time/launch_times.sh +++ b/tests/metrics/time/launch_times.sh @@ -96,6 +96,7 @@ run_workload() { # number of decimal digits after the decimal points # for 'bc' performing math in kernel period estimation L_CALC_SCALE=13 + local CONTAINER_NAME="kata_launch_times_$(( $RANDOM % 1000 + 1))" start_time=$($DATECMD) # Check entropy level of the host @@ -103,8 +104,7 @@ run_workload() { # Run the image and command and capture the results into an array... declare workload_result - readarray -n 0 workload_result < <(sudo -E "${CTR_EXE}" run --rm --runtime=${CTR_RUNTIME} ${IMAGE} test bash -c "$DATECMD $DMESGCMD") - + readarray -n 0 workload_result < <(sudo -E "${CTR_EXE}" run --rm --runtime ${CTR_RUNTIME} ${IMAGE} ${CONTAINER_NAME} bash -c "$DATECMD $DMESGCMD") end_time=$($DATECMD) # Delay this calculation until after we have run - do not want