This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tsg-tsg-diagnose/scripts/tsg-diagnose-periodical
2024-05-22 19:41:02 +08:00

63 lines
1.9 KiB
Bash

#!/bin/bash -e
K3S_BIN_PATH="/usr/bin/k3s"
service_function_names_regexp=".+"
case_names_regexp=".+"
interval="30"
usage(){
echo ""
echo "usage: tsg-diagnose-oneshot [option]"
echo ""
echo "Options:"
echo " -h --help Detailed usage syntax"
echo " --service_function_names_regexp Regexp of the service function names to run. Default: .+"
echo " --case_names_regexp Regexp of the case names to run. Default: .+"
echo " --interval The time interval in seconds between consecutive TSG diagnose operations. Default: 30."
echo "Example: tsg-diagnose-oneshot --service_function_names_regexp .+ --case_names_regexp .+ --interval 60"
exit 0
}
get_args() {
while [[ $# -gt 0 ]]; do
case "$1" in
--service_function_names_regexp)
export service_function_names_regexp="$2"
shift 2
;;
--case_names_regexp)
export case_names_regexp="$2"
shift 2
;;
--interval)
export interval="$2"
shift 2
;;
-h|--help)
usage
;;
--)
shift
break
;;
*)
echo "Unknown option: $1"
usage
exit 1
;;
esac
done
}
ARGS=$(getopt -a -o h -l service_function_names_regexp:,case_names_regexp:,interval:,help -- "$@")
eval set -- "${ARGS}"
get_args "$@"
command="python bin/client.py --periodical --service_function_names_regexp $service_function_names_regexp --case_names_regexp $case_names_regexp --interval $interval"
if [ -f "$K3S_BIN_PATH" ]; then
kubectl exec -n tsg-os-system -it daemonset/dign-client -- $command
else
systemctl start tsg-diagnose
sleep 10
docker exec -it dign-client $command
fi