if [[ -z "$arc_id" ]] &&
do_facet $facet "pkill -CONT -x $HSMTOOL_BASE"; then
- echo "Wakeup copytool $facet on $agent"
+ echo "Only wakeup running copytool $facet on $agent"
return 0
fi
local oldstate
local mdt_hsmctrl
local hsm_root=$(copytool_device $facet)
+ local end_wait=$(( SECONDS + TIMEOUT ))
do_nodesv $agents "pkill -INT -x $HSMTOOL_BASE" || return 0
- sleep 1
- echo "Copytool is stopped on $agents"
+
+ while (( SECONDS < end_wait )); do
+ sleep 2
+ do_nodesv $agents "pgrep -x $HSMTOOL_BASE"
+ if [ $? -ne 0 ]; then
+ echo "Copytool is stopped on $agents"
+ break
+ fi
+ echo "Copytool still running on $agents"
+ done
+ if do_nodesv $agents "pgrep -x $HSMTOOL_BASE"; then
+ error "Copytool failed to stop in ${TIMEOUT}s ..."
+ else
+ echo "Copytool has stopped in " \
+ "$((TIMEOUT - (end_wait - SECONDS)))s."
+ fi
# clean all CDTs orphans requests from previous tests
# that would otherwise need to timeout to clear.