github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/tests/_utils/get_leader (about) 1 #!/bin/bash 2 # tools to run get-leader command by dmctl and echo leader's name 3 # parameter 1: work directory 4 # parameter 2: master-addr port 5 6 workdir=$1 7 master_addr=$2 8 9 PWD=$(pwd) 10 binary=$PWD/bin/dmctl.test 11 ts=$(date +"%s") 12 dmctl_log=$workdir/dmctl.$ts.log 13 pid=$$ 14 15 leader_name="" 16 17 for ((k = 0; k < 30; k++)); do 18 leader_name=$($binary -test.coverprofile="$TEST_DIR/cov.$TEST_NAME.dmctl.$ts.$pid.out" DEVEL --master-addr=$master_addr list-member --leader | grep name | gawk 'match($2,/"(.*)",/,a) {print a[1]}') 19 if [[ ! -z "$leader_name" ]]; then 20 echo $leader_name 21 break 22 fi 23 sleep 2 24 done 25 26 if [[ -z "$leader_name" ]]; then 27 exit 1 28 fi