diff --git a/scripts/tsg-diagnose-oneshot b/scripts/tsg-diagnose-oneshot index 62970b4..79044b4 100644 --- a/scripts/tsg-diagnose-oneshot +++ b/scripts/tsg-diagnose-oneshot @@ -1,56 +1,56 @@ #!/bin/bash -e K3S_BIN_PATH="/usr/bin/k3s" -max_service_function_index=1 -service_function_index="" +service_function_names_regexp=".+" +case_names_regexp=".+" -ARGS=`getopt -a -o m:i:h -l max-service-function-index:,service-function-index:,help -- "$@"` -eval set -- "${ARGS}" usage(){ echo "" echo "usage: tsg-diagnose-oneshot [option]" echo "" echo "Options:" - echo " -h --help Detailed usage syntax" - echo " -m --max-service-function-index Count of service-function,default:1" - echo " -i --service-function-index List of service-function index" - echo "Example: tsg-diagnose-oneshot -m 5" - echo " or tsg-diagnose-oneshot -i 1 -i 2 -i 3" + 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 "Example: tsg-diagnose-oneshot --service_function_names_regexp .+ --case_names_regexp .+" exit 0 } -function get_args(){ - while true - do - case "$1" in - -m|--max-service-function-index) - export max_service_function_index=$2 - ;; - -i|--service-function-index) - export service_function_index="$2 $service_function_index" - ;; +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 + ;; -h|--help) - usage - ;; + usage + ;; --) - shift - break - ;; - esac - shift + shift + break + ;; + *) + echo "Unknown option: $1" + usage + exit 1 + ;; + esac done } -get_args $@ +ARGS=$(getopt -a -o h -l service_function_names_regexp:,case_names_regexp:,help -- "$@") +eval set -- "${ARGS}" +get_args "$@" +command="python bin/client.py --service_function_names_regexp $service_function_names_regexp --case_names_regexp $case_names_regexp" if [ -f "$K3S_BIN_PATH" ]; then - if [ -z "$service_function_index" ]; then - kubectl exec -it daemonset/dign-client -- python bin/client.py -m $max_service_function_index - else - kubectl exec -it daemonset/dign-client -- python bin/client.py -d $service_function_index - fi + kubectl exec -n tsg-os-system -it daemonset/dign-client -- $command else systemctl start tsg-diagnose sleep 10 - docker exec -it dign-client /bin/sh -c "python bin/client.py -o" -fi - + docker exec -it dign-client $command +fi \ No newline at end of file diff --git a/scripts/tsg-diagnose-periodical b/scripts/tsg-diagnose-periodical index a7f4c2d..5b50f75 100644 --- a/scripts/tsg-diagnose-periodical +++ b/scripts/tsg-diagnose-periodical @@ -1,56 +1,63 @@ #!/bin/bash -e K3S_BIN_PATH="/usr/bin/k3s" -max_service_function_index=1 -service_function_index="" +service_function_names_regexp=".+" +case_names_regexp=".+" +interval="30" -ARGS=`getopt -a -o m:i:h -l max-service-function-index:,service-function-index:,help -- "$@"` -eval set -- "${ARGS}" usage(){ echo "" echo "usage: tsg-diagnose-oneshot [option]" echo "" echo "Options:" - echo " -h --help Detailed usage syntax" - echo " -m --max-service-function-index Count of service-function,default:1" - echo " -i --service-function-index List of service-function index" - echo "Example: tsg-diagnose-oneshot -m 5" - echo " or tsg-diagnose-oneshot -i 1 -i 2 -i 3" + 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 } -function get_args(){ - while true - do - case "$1" in - -m|--max-service-function-index) - export max_service_function_index=$2 - ;; - -i|--service-function-index) - export service_function_index="$2 $service_function_index" - ;; +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 - ;; + usage + ;; --) - shift - break - ;; - esac - shift + shift + break + ;; + *) + echo "Unknown option: $1" + usage + exit 1 + ;; + esac done } -get_args $@ +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 - if [ -z "$service_function_index" ]; then - kubectl exec -it daemonset/dign-client -- python bin/client.py -m $max_service_function_index -l - else - kubectl exec -it daemonset/dign-client -- python bin/client.py -d $service_function_index -l - fi + kubectl exec -n tsg-os-system -it daemonset/dign-client -- $command else systemctl start tsg-diagnose sleep 10 - docker exec -it dign-client /bin/sh -c "python bin/client.py -l -o" -fi - + docker exec -it dign-client $command +fi \ No newline at end of file