From 19be9909cb65356e3f61cf7355e65c42faecb3cc Mon Sep 17 00:00:00 2001 From: Norman Koch Date: Fri, 28 May 2021 09:54:52 +0200 Subject: [PATCH] Added supercomputer-plugin --- plugins/supercomputer/1.png | Bin 0 -> 29969 bytes plugins/supercomputer/2.png | Bin 0 -> 18179 bytes plugins/supercomputer/3.png | Bin 0 -> 14485 bytes plugins/supercomputer/4.png | Bin 0 -> 72902 bytes plugins/supercomputer/README.md | 61 +++ plugins/supercomputer/supercomputer.zsh | 639 ++++++++++++++++++++++++ 6 files changed, 700 insertions(+) create mode 100644 plugins/supercomputer/1.png create mode 100644 plugins/supercomputer/2.png create mode 100644 plugins/supercomputer/3.png create mode 100644 plugins/supercomputer/4.png create mode 100644 plugins/supercomputer/README.md create mode 100644 plugins/supercomputer/supercomputer.zsh diff --git a/plugins/supercomputer/1.png b/plugins/supercomputer/1.png new file mode 100644 index 0000000000000000000000000000000000000000..bf20c9971dda95822afb68fa8cc258193855d5b4 GIT binary patch literal 29969 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 Q_{b@=}M`*(joxyxEK_w}x4FRfh5uP-;} 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 Q9Z+A#)78&qol`;+0A_t3iU0rr literal 0 HcmV?d00001 diff --git a/plugins/supercomputer/3.png b/plugins/supercomputer/3.png new file mode 100644 index 0000000000000000000000000000000000000000..45c6a0b9b2d65eb0c5393e61ebb4df3f0d7e1c50 GIT binary patch literal 14485 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∾W&zP0vu<=S= zP{_`{d}D^Fc9l}i>YV3~Lcf~+_zrZ+1_tSzIj=4+_rGsYt1jD{ zpMPGzZer%;Nh$aC{L_0Shu-FVpYyFZUHZY&m(i(bXK8)!dheZ`9Ti>vd#+PL73v;X}~Y)9ZToE1YxH zi@3V{8Z!gKhosv}%U6L~N88$Z*g>OpCn`Ymexn=)jnOa|4TI6VFj^ioB#nl_Xc&yv zjic>@(Ix@IXp>;HNidYF!($8PZU8M&;FM+rtH-}3oACIQJLko#TQBtR<$CMtrxk<#&zfq{Y6Qib08xEW6LU%Ys6(xgdG zPfvfoTY%wT>%xT#ckbM|XwjlquU^$$XPO|NWE1ei&E1_}&gREue|uG-&Trqo?S8+{ zy5++~cloQ=ufM;sQThH=Mv;zv`}Vzi_wM1thr4#|nrmHtukg66`Qu{u6B8So zKOc|F-|zX%{O5aQ2*1d_@AvENXP@2o_uK8+X1P_L&zdh^w(L`^pu@tKZ{PYZ4a&{U zeZTMbyUG4`mX?;4lkHw?y&hNn^Xc^bOD7qX4(8YdY+z$!tNZ))x^DEgFW zbn()qOP4Qy{`>vD{g(^QpARovw#@GLo6Vs0ai^wgU%q_V*Vp&x(W8|*(h5#RbHA-z zKJV9)$^N%)-7?F$A>dT;<6(R8`g!*C`?ha4pX+zO?)TfXXU}%JD76%Pd2x|f+N|d9 z*XuKV)Momui{7qhzGMIX|7T_zUtbry`}w@;d6my*M(CKCn}5F=9{=~p^NwA5xQzX0R)(pw)temr>a;P3bQ z|L;n)|NrOn-tYHr-@3Ic>*}iT_}bE{Dyx?Q+@$c{M{yw4Hzh%po7J+MP zqrYE^&j0)K`TXU6b8l_WkI&70+b3&XWbDoGMCVqfe#{O5r-+?JPfMGlqoX(9%(0pq zx3lQ!#^mE{?CkG%y@MsCYaNFYnbWS7a=Umh9bIdwQC#VoO_F zo4}zTKYpB?tj;fQ7ZVwI^TLG>cgyd8{rWZc_O`djCY9tTtQ36Qc*xMe;KJ?Ow{PA0 zbwt?zjQznKOO~XhrKQ!KIdjG*Gcz-9_wL=*S678zpSxt)vSmw`s!sGMDJ`9ATYarn z;ebfZ0xiiOS?Iq822?z@lbFwIY=A$-wXW83Z@pFqWFY~>7_wLRD&_eN> zH*em$b?eouSCiHKpRp~u{IbN#HvYhi7cc&-d&jF|n)bMnNu>Lzlr#twb6Z$jS@FqO z6g)c8dGX@K>2XynSFOr=_#pT8w!a?^^REoay1p*0>&NZ6aqnJS zXsD@~*|z-q`@X)uo_}{&>GN}QO-)TjMMYJNI~>Z1>S5VPWCw@9)m~zB&H*? zWjLq===}QSi^}Aa^XAQ~31=!0K6~z5+`gKfn>H2Q+?4ur9qWPwUq8RT-rmsg@aa>g zJn8G{={a-u?A;#@j9iYEQ z)Bme%8V)_U2O2i);4uU(D^zj@cNIgTe~DWM4fPoC-% literal 0 HcmV?d00001 diff --git a/plugins/supercomputer/4.png b/plugins/supercomputer/4.png new file mode 100644 index 0000000000000000000000000000000000000000..efcf31e4e71f83b2f459a3f83cf97fd460994f30 GIT binary patch literal 72902 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 1024) { + $1 = $1 / 1024; + u += 1 + } + $1 = sprintf("%.1f %s", $1, Units[u]); + print $0; + } + ' +} + +if command -v scontrol; then + function slurmlogpath { + if command -v scontrol &> /dev/null; then + if command -v grep &> /dev/null; then + if command -v sed &> /dev/null; then + debug_code "scontrol show job $1 | grep StdOut | sed -e 's/^\\s*StdOut=//'" + scontrol show job $1 | grep StdOut | sed -e 's/^\s*StdOut=//' + else + red_text "sed not found" + fi + else + red_text "grep not found" + fi + else + red_text "scontrol not found" + fi + } +fi + +function pretty_csv { + perl -pe 's/((?<=,)|(?<=^)),/ ,/g;' "$@" | column -t -s, | less -F -S -X -K +} + +if command -v squeue; then + if command -v whypending; then + function showmyjobsstatus { + if [ $# -eq 0 ]; then + for i in $(squeue -u $USER | grep -v JOBID | sed -e 's/^\s*//' | sed -e 's/\s.*//'); do + echo ">>>>>> $i"; whypending $i | egrep "(Position in)|(Estimated)"; + done + else + echo ">>>>>> $i"; whypending $1 | egrep "(Position in)|(Estimated)"; + fi + } + fi + + if command -v slurmlogpath; then + function ftails { + if [ $# -eq 0 ]; then + SLURMID=$(squeue -u $USER | cut -d' ' -f11- | sed -e 's/\s.*//' | egrep -v "^\s*$" | sort -nr | head -n1) + if [ ! -z $SLURMID ]; then + tail -f $(slurmlogpath $SLURMID) + fi + else + tail -f $(slurmlogpath $1) + fi + } + fi +fi + +function countdown() { + secs=$1 + shift + msg=$@ + while [ $secs -gt 0 ] + do + printf "\r\033[KWaiting %.d seconds $msg" $((secs--)) + sleep 1 + done + echo +} + + +function mongodbtojson { + ip=$1 + port=$2 + dbname=$3 + mongo --quiet mongodb://$ip:$port/$dbname --eval "db.jobs.find().pretty().toArray();" +} + +function rtest { + set -x + RANDOMNUMBER=$(shuf -i 1-100000 -n 1) + while [[ -e "$HOME/test/randomtest_$RANDOMNUMBER" ]]; do + RANDOMNUMBER=$(shuf -i 1-100000 -n 1) + done + mkdir -p "$HOME/test/randomtest_$RANDOMNUMBER" + cd "$HOME/test/randomtest_$RANDOMNUMBER" + set +x +} + +mcd () { + mkdir -p -p $1 + cd $1 +} + + +echoerr() { + echo "$@" 1>&2 +} + +function red_text { + echoerr -e "\e[31m$1\e[0m" +} + +function green_text { + echoerr -e "\e[92m$1\e[0m" +} + +function debug_code { + echoerr -e "\e[93m$1\e[0m" +} + +function warningcolors { + echo ' +window=,red +border=white,red +textbox=white,red +button=black,white +' +} + + +if command -v scontrol; then + if command -v ws_list; then + function get_filesystem_workspace { + ws=$1 + ws_list | perl -e 'my %struct = (); my $current_id = q##; while (<>) { if(m#^id: (.*)$#) { $current_id = $1 } elsif (m#filesystem\s*name\s*:\s*(.*)?$#) { $struct{$current_id} = $1 } }; foreach my $key (keys %struct) { print "$key--->$struct{$key}\n" }' | grep "^$ws--->" | sed -e "s/^$ws--->//" + } + fi + + + function get_job_name { + if command -v screen &> /dev/null; then + scontrol show job $1 | grep JobName | sed -e 's/.*JobName=//' + else + red_text "Program scontrol does not exist, cannot run it" + fi + } + + function run_commands_in_parallel { + args=$# + if command -v screen &> /dev/null; then + if command -v uuidgen &> /dev/null; then + THISSCREENCONFIGFILE=/tmp/$(uuidgen).conf + for (( i=1; i<=$args; i+=1 )); do + thiscommand=${@:$i:1} + echo "screen $thiscommand" >> $THISSCREENCONFIGFILE + echo "title '$thiscommand'" >> $THISSCREENCONFIGFILE + if [[ $i -ne $args ]]; then + echo "split -v" >> $THISSCREENCONFIGFILE + echo "focus right" >> $THISSCREENCONFIGFILE + fi + done + if [[ -e $THISSCREENCONFIGFILE ]]; then + echo $THISSCREENCONFIGFILE + cat $THISSCREENCONFIGFILE + screen -c $THISSCREENCONFIGFILE + rm $THISSCREENCONFIGFILE + else + echo "$THISSCREENCONFIGFILE not found" + fi + else + echo "Command uuidgen not found, cannot execute run_commands_in_parallel" + fi + else + echo "Command screen not found, cannot execute run_commands_in_parallel" + fi + } + + function multiple_slurm_tails { + if command -v screen &> /dev/null; then + if command -v uuidgen &> /dev/null; then + THISSCREENCONFIGFILE=/tmp/$(uuidgen).conf + for slurmid in "$@"; do + logfile=$(slurmlogpath $slurmid) + if [[ -e $logfile ]]; then + echo "screen tail -f $logfile" >> $THISSCREENCONFIGFILE + echo "title '$(get_job_name $slurmid) ($slurmid)'" >> $THISSCREENCONFIGFILE + if [[ ${*: -1:1} -ne $slurmid ]]; then + echo "split -v" >> $THISSCREENCONFIGFILE + echo "focus right" >> $THISSCREENCONFIGFILE + fi + fi + done + if [[ -e $THISSCREENCONFIGFILE ]]; then + debug_code "Screen file:" + cat $THISSCREENCONFIGFILE + debug_code "Screen file end" + screen -c $THISSCREENCONFIGFILE + rm $THISSCREENCONFIGFILE + else + red_text "$THISSCREENCONFIGFILE not found" + fi + else + red_text "Command uuidgen not found, cannot execute multiple tails" + fi + else + red_text "Command screen not found, cannot execute multiple tails" + fi + } + + + + function kill_multiple_jobs_usrsignal { + FAILED=0 + if ! command -v squeue &> /dev/null; then + red_text "squeue not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v scancel &> /dev/null; then + red_text "scancel not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if [[ $FAILED == 0 ]]; then + TJOBS=$(get_squeue_from_format_string "'%A' '%j (%t, %M)' OFF") + chosenjobs=$(eval "whiptail --title 'Which jobs to kill with USR1?' --checklist 'Which jobs to choose USR1?' $WIDTHHEIGHT $TJOBS" 3>&1 1>&2 2>&3) + if [[ -z $chosenjobs ]]; then + green_text "No jobs chosen to kill" + else + NEWT_COLORS=$(warningcolors) + if (whiptail --title "Really kill multiple jobs ($chosenjobs)?" --yesno --defaultno --fullbuttons "Are you sure you want to kill multiple jobs ($chosenjobs)?" 8 78); then + debug_code "scancel --signal=USR1 --batch $chosenjobs" + eval "scancel --signal=USR1 --batch $chosenjobs" + NEWT_COLORS='' + return 0 + fi + NEWT_COLORS='' + fi + fi + return 1 + } + + function kill_multiple_jobs { + FAILED=0 + if ! command -v squeue &> /dev/null; then + red_text "squeue not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v scancel &> /dev/null; then + red_text "scancel not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if [[ $FAILED == 0 ]]; then + TJOBS=$(get_squeue_from_format_string "'%A' '%j (%t, %M)' OFF") + chosenjobs=$(eval "whiptail --title 'Which jobs to kill?' --checklist 'Which jobs to choose?' $WIDTHHEIGHT $TJOBS" 3>&1 1>&2 2>&3) + if [[ -z $chosenjobs ]]; then + green_text "No jobs chosen to kill" + else + NEWT_COLORS=$(warningcolors) + if (whiptail --title "Really kill multiple jobs ($chosenjobs)?" --yesno --defaultno --fullbuttons "Are you sure you want to kill multiple jobs ($chosenjobs)?" 8 78); then + debug_code "scancel $chosenjobs" + eval "scancel $chosenjobs" + NEWT_COLORS='' + return 0 + fi + NEWT_COLORS='' + fi + fi + return 1 + } + + function tail_multiple_jobs { + FAILED=0 + AUTOON=OFF + + if [[ $1 == 'ON' ]]; then + AUTOON=ON + fi + + if ! command -v squeue &> /dev/null; then + red_text "squeue not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v tail &> /dev/null; then + red_text "tail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v screen &> /dev/null; then + red_text "screen not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if [[ $FAILED == 0 ]]; then + TJOBS=$(get_squeue_from_format_string "'%A' '%j (%t, %M)' $AUTOON") + chosenjobs=$(eval "whiptail --title 'Which jobs to tail?' --checklist 'Which jobs to choose for tail?' $WIDTHHEIGHT $TJOBS" 3>&1 1>&2 2>&3) + if [[ -z $chosenjobs ]]; then + green_text "No jobs chosen to tail" + else + #whiptail --title "Tail for multiple jobs with screen" --msgbox "To exit, press , then <\\>" 8 78 3>&1 1>&2 2>&3 + eval "multiple_slurm_tails $chosenjobs" + fi + fi + } + + function single_job_tasks { + chosenjob=$1 + gobacktoslurminator="$2" + + if ! command -v scontrol &> /dev/null; then + red_text "scontrol not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v tail &> /dev/null; then + red_text "tail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + WHYPENDINGSTRING="" + if command -v whypending &> /dev/null; then + WHYPENDINGSTRING="'w)' 'whypending'" + fi + + SCANCELSTRING="" + if command -v scancel &> /dev/null; then + SCANCELSTRING="'k)' 'scancel' 'c)' 'scancel with signal USR1'" + fi + + TAILSTRING="" + if command -v tail &> /dev/null; then + TAILSTRING="'t)' 'tail -f'" + else + red_text "Tail does not seem to be installed, not showing 'tail -f' option" + fi + + jobname=$(get_job_name $chosenjob) + whiptailoptions="'s)' 'Show log path' $WHYPENDINGSTRING $TAILSTRING $SCANCELSTRING 'm)' 'go to main menu' 'q)' 'quit slurminator'" + whattodo=$(eval "whiptail --title 'Slurminator >$jobname< ($chosenjob)' --menu 'What to do with job >$jobname< ($chosenjob)' $WIDTHHEIGHT $whiptailoptions" 3>&2 2>&1 1>&3) + case $whattodo in + "s)") + debug_code "slurmlogpath $chosenjob" + slurmlogpath $chosenjob + ;; + "t)") + chosenjobpath=$(slurmlogpath $chosenjob) + debug_code "tail -f $chosenjobpath" + tail -f $chosenjobpath + ;; + "w)") + debug_code "whypending $chosenjob" + whypending $chosenjob + ;; + "k)") + NEWT_COLORS=$(warningcolors) + if (whiptail --title "Really kill >$jobname< ($chosenjob)?" --yesno --defaultno --fullbuttons "Are you sure you want to kill >$jobname< ($chosenjob)?" 8 78); then + debug_code "scancel $chosenjob" + scancel $chosenjob && green_text "$jobname ($chosenjob) killed" || red_text "Error killing $jobname ($chosenjob)" + fi + NEWT_COLORS="" + ;; + "m)") + slurminator + ;; + "c)") + NEWT_COLORS=$(warningcolors) + if (whiptail --title "Really kill with USR1 >$jobname< ($chosenjob)?" --yesno --defaultno --fullbuttons "Are you sure you want to kill >$jobname< ($chosenjob) with USR1?" 8 78); then + debug_code "scancel --signal=USR1 --batch $chosenjob" + scancel --signal=USR1 --batch $chosenjob && green_text "$chosenjob killed" || red_text "Error killing $chosenjob" + fi + NEWT_COLORS="" + ;; + "q)") + green_text "Ok, exiting" + ;; + esac + + if [[ $gobacktoslurminator -eq '1' ]]; then + slurminator + fi + } + + function get_squeue_from_format_string { + if ! command -v squeue &> /dev/null; then + red_text "squeue not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if [[ $FAILED == 0 ]]; then + for line in $(squeue -u $USER --format $1 | sed '1d'); do + echo "$line" | tr '\n' ' '; + done + fi + } + + function show_accounting_data { + FAILED=0 + if ! command -v sreport &> /dev/null; then + red_text "sreport not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if [[ $FAILED == 0 ]]; then + whiptailoptions="'t)' 'Show accounting data as tree' 'o)' 'Show top user accounting' 'm)' 'Show top user accounting for this month'" + WIDTHHEIGHT="$LINES $COLUMNS $(( $LINES - 18 ))" + whattodo=$(eval "whiptail --title 'Accounting data' --menu 'Show accounting information' $WIDTHHEIGHT $whiptailoptions" 3>&2 2>&1 1>&3) + NUMBEROFLINES=$(( $LINES - 5 )) + case $whattodo in + "t)") + debug_code "sreport cluster AccountUtilizationByUser tree" + sreport cluster AccountUtilizationByUser tree + ;; + "o)") + debug_code "sreport user top start=0101 end=0201 TopCount=$NUMBEROFLINES -t hourper --tres=cpu,gpu" + sreport user top start=0101 end=0201 TopCount=$NUMBEROFLINES -t hourper --tres=cpu,gpu + ;; + "m)") + debug_code "sreport user top start=0101 end=0201 TopCount=$NUMBEROFLINES -t hourper --tres=cpu,gpu Start=`date -d "last month" +%D` End=`date -d "this month" +%D`" + sreport user top start=0101 end=0201 TopCount=$NUMBEROFLINES -t hourper --tres=cpu,gpu Start=`date -d "last month" +%D` End=`date -d "this month" +%D` + ;; + esac + else + red_text "Missing requirements, cannot run show_accounting_data" + fi + } + + function show_workspace_options_single_job { + ws=$1 + gobacktomain="$2" + + EXTENDSTRING="" + if command -v ws_extend &> /dev/null; then + EXTENDSTRING="'e)' 'extend workspace 100 days' 'j)' 'extend workspace custom number of days'" + fi + + RELEASESTRING="" + if command -v ws_release &> /dev/null; then + RELEASESTRING="'r)' 'release workspace'" + fi + + whiptailoptions="$EXTENDSTRING $RELEASESTRING 'm)' 'go to main menu' 'q)' 'quit slurminator'" + whattodo=$(eval "whiptail --title 'Slurminator workspace $ws' --menu 'What to do with workspace $ws' $WIDTHHEIGHT $whiptailoptions" 3>&2 2>&1 1>&3) + case $whattodo in + "e)") + filesystem=$(get_filesystem_workspace $ws) + debug_code "ws_extend -F $filesystem $ws 100" + ws_extend -F $filesystem $ws 100 + ;; + "j)") + filesystem=$(get_filesystem_workspace $ws) + days=$(whiptail --inputbox "How many days to extend workspace?" 8 78 100 --title "Please enter a number of days" 3>&1 1>&2 2>&3) + re='^[0-9]+$' + if ! [[ $days =~ $re ]] ; then + red_text "error: Not a number" + else + debug_code "ws_extend -F $filesystem $ws $days" + ws_extend -F $filesystem $ws $days + fi + ;; + "r)") + NEWT_COLORS=$(warningcolors) + if (whiptail --title "Are you sure you want to release $ws?" --yesno --defaultno --fullbuttons "Are you sure you want to release workspace $ws?" 8 78); then + debug_code "ws_release $ws" + ws_release $ws + fi + NEWT_COLORS="" + ;; + "m)") + show_workspace_options + ;; + "q)") + green_text "Ok, exiting" + gobacktomain=0 + ;; + esac + + if [[ $gobacktomain -eq '1' ]]; then + show_workspace_options + fi + } + + function show_workspace_options { + FAILED=0 + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v ws_list &> /dev/null; then + red_text "ws_list not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v ws_allocate &> /dev/null; then + red_text "ws_allocate not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v ws_extend &> /dev/null; then + red_text "ws_extend not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v ws_release &> /dev/null; then + red_text "ws_release not found. Cannot execute slurminator without it" + FAILED=1 + fi + if [[ $FAILED == 0 ]]; then + existingworkspaces=$(ws_list | perl -e 'my %struct = (); my $current_id = q##; while (<>) { if(m#^id: (.*)$#) { $current_id = $1 } elsif (m#remaining time\s*:\s*(.*)?$#) { $struct{$current_id} = $1 } }; foreach my $key (keys %struct) { print qq#"$key" "$struct{$key}" # }') + chosenjob=$(eval "whiptail --title 'Which workspaces to do something with?' --menu 'Which workspace?' $WIDTHHEIGHT $existingworkspaces 'r)' 'reload' 'm)' 'go to main menu' 'q)' 'quit slurminator'" 3>&1 1>&2 2>&3) + if [[ $chosenjob == 'm)' ]]; then + slurminator + elif [[ $chosenjob == 'q)' ]]; then + green_text "Ok, exiting" + elif [[ $chosenjob == 'r)' ]]; then + show_workspace_options + else + show_workspace_options_single_job $chosenjob 1 + fi + else + red_text "Cannot run show_workspace_options because of missing programs" + fi + } + + function slurminator { + FAILED=0 + + NEWT_COLORS="" + + if ! command -v squeue &> /dev/null; then + red_text "squeue not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v whiptail &> /dev/null; then + red_text "whiptail not found. Cannot execute slurminator without it" + FAILED=1 + fi + + if ! command -v scontrol &> /dev/null; then + red_text "scontrol not found. Cannot execute slurminator without it" + FAILED=1 + fi + + SCANCELSTRING="" + if command -v scancel &> /dev/null; then + SCANCELSTRING="'k)' 'kill multiple jobs' 'n)' 'kill multiple jobs with USR1'" + fi + + ACCOUNTINGSTRING="" + if command -v sreport &> /dev/null; then + ACCOUNTINGSTRING="'a)' 'Show accounting data'" + fi + + TAILSTRING="" + if command -v tail &> /dev/null; then + if command -v screen &> /dev/null; then + TAILSTRING="'t)' 'tail multiple jobs' 'e)' 'tail multiple jobs (all enabled by default)'" + else + red_text "Screen could not be found, not showing 'tail multiple jobs' option" + fi + else + red_text "Tail does not seem to be installed, not showing 'tail multiple jobs'" + fi + + WORKSPACESSTRING="" + if command -v ws_list &> /dev/null; then + WORKSPACESSTRING="'w)' 'show options for workspaces'" + else + red_text "ws_list does not seem to be installed" + fi + + FULLOPTIONSTRING="$JOBS $SCANCELSTRING $TAILSTRING $ACCOUNTINGSTRING $WORKSPACESSTRING" + + if [[ $FAILED == 0 ]]; then + WIDTHHEIGHT="$LINES $COLUMNS $(( $LINES - 8 ))" + JOBS=$(get_squeue_from_format_string "'%A' '%j (%t, %M)'") + chosenjob=$( + eval "whiptail --title 'Slurminator' --menu 'Welcome to Slurminator' $WIDTHHEIGHT $FULLOPTIONSTRING 'r)' 'reload slurminator' 'q)' 'quit slurminator'" 3>&2 2>&1 1>&3 + ) + + if [[ $chosenjob == 'q)' ]]; then + green_text "Ok, exiting" + elif [[ $chosenjob == 'r)' ]]; then + slurminator + elif [[ $chosenjob == 't)' ]]; then + tail_multiple_jobs + elif [[ $chosenjob == 'e)' ]]; then + tail_multiple_jobs ON + elif [[ $chosenjob == 'n)' ]]; then + kill_multiple_jobs_usrsignal || slurminator + elif [[ $chosenjob == 'k)' ]]; then + kill_multiple_jobs || slurminator + elif [[ $chosenjob == 'a)' ]]; then + show_accounting_data + elif [[ $chosenjob == 'w)' ]]; then + show_workspace_options + else + single_job_tasks $chosenjob 1 + fi + else + red_text "Missing requirements, cannot run Slurminator" + fi + } +fi