metrics: Skips docker restart when it is not installed or is masked.

To avoid errors when initializing the test environment, the
kill_processes_before_start() helper function needs to verify that
Docker is installed before attempting to stop it.

Fixes: #8218

Signed-off-by: David Esparza <david.esparza.borquez@intel.com>
This commit is contained in:
David Esparza
2023-10-12 22:32:45 +00:00
parent f7f0e58074
commit a0c9641588

View File

@@ -168,15 +168,17 @@ function init_env()
cmd=("docker" "ctr")
sudo systemctl restart docker
# check dependencies
check_cmds "${cmd[@]}"
# Remove all stopped containers
clean_env
clean_env_ctr
docker_masked="$(systemctl list-unit-files --state=masked | grep -c docker)"
if [ "${docker_masked}" -eq 0 ]; then
sudo systemctl restart docker
fi
# This clean up is more aggressive, this is in order to
# decrease the factors that could affect the metrics results.
kill_processes_before_start
@@ -188,8 +190,12 @@ function init_env()
# killed to start test with clean environment.
function kill_processes_before_start()
{
DOCKER_PROCS=$(sudo "${DOCKER_EXE}" ps -q)
[[ -n "${DOCKER_PROCS}" ]] && clean_env
docker_masked="$(systemctl list-unit-files --state=masked | grep -c "${DOCKER_EXE}")"
if [ "${docker_masked}" -eq 0 ]; then
DOCKER_PROCS=$(sudo "${DOCKER_EXE}" ps -q)
[[ -n "${DOCKER_PROCS}" ]] && clean_env
fi
CTR_PROCS=$(sudo "${CTR_EXE}" t list -q)
[[ -n "${CTR_PROCS}" ]] && clean_env_ctr