nomad-driver-containerd/tests/utils.sh
2021-05-09 09:04:22 +08:00

69 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
wait_nomad_job_status() {
local job_name=$1
local expected_status="$2"
local status
local i=0
while [ $i -lt 5 ]; do
status=$(nomad job status $job_name|grep Allocations -A2|tail -n 1 |awk '{print $6}')
if [ "$status" == "$expected_status" ]; then
return
fi
sleep 4
i=$((i + 1))
done
echo "ERROR: ${job_name} didn't enter $expected_status status. exit 1."
exit 1
}
is_container_active() {
local job_name=$1
local is_sleep=$2
i="0"
while test $i -lt 5
do
sudo CONTAINERD_NAMESPACE=nomad ctr task ls|grep -q RUNNING
if [ $? -eq 0 ]; then
echo "INFO: ${job_name} container is up and running"
if [ "$is_sleep" = true ]; then
sleep 7s
fi
break
fi
echo "INFO: ${job_name} container is down, sleep for 4 seconds."
sleep 4s
i=$[$i+1]
done
if [ $i -ge 5 ]; then
echo "ERROR: ${job_name} container didn't come up. exit 1."
exit 1
fi
}
is_systemd_service_active() {
local service_name=$1
local is_sleep=$2
i="0"
while test $i -lt 5 && !(systemctl -q is-active "$service_name"); do
printf "INFO: %s is down, sleep for 4 seconds.\n" $service_name
sleep 4s
i=$[$i+1]
done
if [ $i -ge 5 ]; then
printf "ERROR: %s didn't come up. exit 1.\n" $service_name
exit 1
fi
if [ "$is_sleep" = true ]; then
sleep 7s
fi
printf "INFO: %s is up and running\n" $service_name
}