summaryrefslogtreecommitdiffstats
path: root/cts/lab/cts.in
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xcts/lab/cts.in262
1 files changed, 0 insertions, 262 deletions
diff --git a/cts/lab/cts.in b/cts/lab/cts.in
deleted file mode 100755
index 5b3aaab..0000000
--- a/cts/lab/cts.in
+++ /dev/null
@@ -1,262 +0,0 @@
-#!@BASH_PATH@
-#
-# Copyright 2012-2023 the Pacemaker project contributors
-#
-# The version control history for this file may have further details.
-#
-# This source code is licensed under the GNU General Public License version 2
-# or later (GPLv2+) WITHOUT ANY WARRANTY.
-#
-
-# e.g. /etc/sysconfig or /etc/default
-CONFIG_DIR=@CONFIGDIR@
-
-cts_root=`dirname $0`
-
-logfile=0
-summary=0
-verbose=0
-watch=0
-saved=0
-tests=""
-
-install=0
-clean=0
-kill=0
-run=0
-boot=0
-setup=0
-target=rhel-7
-cmd=""
-trace=""
-
-custom_log=""
-patterns="-e CTS:"
-
-
-helpmsg=$(cat <<EOF
-Usage: %s [options] {[setup [TARGET]] | [OTHER-CMDS]}
-
-[--]help, -h show help screen and exit
--x turn on debugging
--a show relevant screen sessions and exit
--c,-g CLUSTER_NAME set the cluster name
--S show summary from the last CTS run
--s show summary for the current log (see -l)
--v increase verbosity
--p (currently unused)
--e PATTERN grep pattern to apply when 'summary' or 'watch' requested
--l print the filename of the log that would be operated on
--w continous (filtered) monitoring of the log file
--f,-sf FILE show summary for the provided log
--t TEST, [0-9]* add a test to the working set
-[--]kill request termination of cluster software
-[--]run request CTS run (passing remaining arguments through)
-[--]boot, start request CTS run (with --boot option)
-[--]clean request cleaning up after CTS run
-[--]install, --inst request installing packages to get ready to run CTS
-[--]setup request initialization to get ready to run CTS
-trace-ls, tls list traced functions
-trace-add, tadd FUNC add a function to the list of traced ones
-trace-rm, trm FUNC remove a function from the list of traced ones
-trace-set, tset FUNC set function(s) as the only to be traced
-(f|fedora|r|rhel).* specify target distro
--- delimits tests that follow
-EOF
-)
-
-while true; do
- case $1 in
- -h|--help|help) printf "${helpmsg}\n" "$0"; exit;;
- -x) set -x; shift;;
- -a)
- screen -ls | grep cts
- exit 0;;
- -c|-g) cluster_name=$2; shift; shift;;
- -S) summary=1; saved=1; shift;;
- -s) summary=1; shift;;
- -v) verbose=`expr $verbose + 1`; shift;;
- -p) shift;;
- -e) patterns="$patterns -e `echo $2 | sed 's/ /\\\W/g'`"; shift; shift;;
- -l) logfile=1; shift;;
- -w) watch=1; shift;;
- -f|-sf) summary=1; custom_log=$2; shift; shift;;
- -t) tests="$tests $2"; shift; shift;;
- [0-9]*) tests="$tests $1"; shift;;
- --kill|kill) kill=1; shift; break;;
- --run|run) run=1; shift; break;;
- --boot|boot|start) boot=1; clean=1; shift; break;;
- --clean|clean) clean=1; shift;;
- --inst|--install|install) install=1; clean=1; shift;;
- --setup|setup) setup=1; shift;;
- trace-ls|tls) cmd=$1; shift;;
- trace-add|tadd|trace-rm|trm|trace-set|tset) cmd=$1; trace=$2; shift; shift;;
- f*)
- target="fedora-`echo $1 | sed -e s/fedora// -e s/-// -e s/f//`"
- shift;;
- r|rhel) target="rhel-7"; shift;;
- r*)
- target="rhel-`echo $1 | sed -e s/rhel// -e s/-// -e s/r//`"
- shift;;
- --) shift; tests="$tests $*"; break;;
- "") break;;
- *) echo "Unknown argument: $1"; exit 1;;
- esac
-done
-
-# Add the location of this script
-export PATH="$PATH:$cts_root"
-which cluster-helper &>/dev/null
-if [ $? != 0 ]; then
- echo $0 needs the cluster-helper script to be in your path
- exit 1
-fi
-
-which cluster-clean &>/dev/null
-if [ $? != 0 ]; then
- echo $0 needs the cluster-clean script to be in your path
- exit 1
-fi
-
-if [ "x$cluster_name" = x ] || [ "x$cluster_name" = xpick ]; then
- clusters=`ls -1 ~/.dsh/group/[a-z]+[0-9] | sed s/.*group.// | tr '\n' ' ' `
-
- echo "custom) interactively define a cluster"
- for i in $clusters; do
- echo "$i) `cluster-helper --list short -g $i`"
- done
-
- read -p "Choose a cluster [custom]: " cluster_name
- echo
-fi
-
-if [ -z $cluster_name ]; then
- cluster_name=custom
-fi
-
-
-case $cluster_name in
- custom)
- read -p "Cluster name: " cluster_name
- read -p "Cluster hosts: " cluster_hosts
- read -p "Cluster log file: " cluster_log
- cluster-helper add -g "$cluster_name" -w "$cluster_hosts"
- ;;
- *)
- cluster_hosts=`cluster-helper --list short -g $cluster_name`
- cluster_log=~/cluster-$cluster_name.log;
- ;;
-esac
-
-if [ x$cmd != x ]; then
- config="${CONFIG_DIR}/pacemaker"
- case $cmd in
- trace-ls|tls)
- cluster-helper -g $cluster_name -- grep PCMK_trace_functions $config
- ;;
- trace-add|tadd)
- echo "Adding $trace to PCMK_trace_functions"
- cluster-helper -g $cluster_name -- sed -i "s/.*PCMK_trace_functions=/PCMK_trace_functions=$trace,/" $config
- ;;
- trace-rm|trm)
- echo "Removing $trace from PCMK_trace_functions"
- cluster-helper -g $cluster_name -- sed -i "s/.*PCMK_trace_functions=\\\\\\(.*\\\\\\)$trace,\\\\\\(.*\\\\\\)/PCMK_trace_functions=\\\\\\1\\\\\\2/" $config
- ;;
- trace-set|tset)
- echo "Setting PCMK_trace_functions to '$trace'"
- cluster-helper -g $cluster_name -- sed -i "s/.*PCMK_trace_functions.*/PCMK_trace_functions=$trace/" $config
- ;;
- esac
- exit 0
-fi
-
-if [ $run = 1 ]; then
- install=1
- clean=1
-fi
-
-if [ $clean = 1 ]; then
- rm -f $cluster_log; cluster-clean -g $cluster_name --kill
-elif [ $kill = 1 ]; then
- cluster-clean -g $cluster_name --kill-only
- exit 0
-fi
-
-if [ $install = 1 ]; then
- cluster-helper -g $cluster_name -- yum install -y pacemaker pacemaker-debuginfo pacemaker-cts libqb libqb-debuginfo
-fi
-
-if [ $setup = 1 ]; then
- cluster-init -g $cluster_name $target -u --test
- exit 0
-
-elif [ $boot = 1 ]; then
- $cts_root/CTSlab.py -r -c -g $cluster_name --boot
- rc=$?
- if [ $rc = 0 ]; then
- echo "The cluster is ready..."
- fi
- exit $rc
-
-elif [ $run = 1 ]; then
- $cts_root/CTSlab.py -r -c -g $cluster_name 500 "$@"
- exit $?
-
-elif [ $clean = 1 ]; then
- exit 0
-fi
-
-screen -ls | grep cts-$cluster_name &>/dev/null
-active=$?
-
-if [ ! -z $custom_log ]; then
- cluster_log=$custom_log
-fi
-
-if [ "x$tests" != x ] && [ "x$tests" != "x " ]; then
- for t in $tests; do
- echo "crm_report --cts-log $cluster_log -d -T $t"
- crm_report --cts-log $cluster_log -d -T $t
- done
-
-elif [ $logfile = 1 ]; then
- echo $cluster_log
-
-elif [ $summary = 1 ]; then
- files=$cluster_log
- if [ $saved = 1 ]; then
- files=`ls -1tr ~/CTS-*/cluster-log.txt`
- fi
- for f in $files; do
- echo $f
- case $verbose in
- 0) cat -n $f | grep $patterns | grep -v "CTS: debug:"
- ;;
- 1) cat -n $f | grep $patterns | grep -v "CTS:.* cmd:"
- ;;
- *) cat -n $f | grep $patterns
- ;;
- esac
- echo ""
- done
-
-elif [ $watch = 1 ]; then
- case $verbose in
- 0) tail -F $cluster_log | grep $patterns | grep -v "CTS: debug:"
- ;;
- 1) tail -F $cluster_log | grep $patterns | grep -v "CTS:.* cmd:"
- ;;
- *) tail -F $cluster_log | grep $patterns
- ;;
- esac
-
-elif [ $active = 0 ]; then
- screen -x cts-$cluster_name
-
-else
- touch $cluster_log
-
-# . ~/.bashrc
- export cluster_name cluster_hosts cluster_log
- screen -S cts-$cluster_name bash
-fi