From 71f999c027f080667c764c1e10692f2474366152 Mon Sep 17 00:00:00 2001 From: Jake Calcutt Date: Sat, 11 Jul 2026 16:15:03 -0400 Subject: [PATCH 1/3] Adding skeleton for choosing replica --- commands/justin-test-jobscript | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/commands/justin-test-jobscript b/commands/justin-test-jobscript index f4ec799..6e671c6 100755 --- a/commands/justin-test-jobscript +++ b/commands/justin-test-jobscript @@ -37,7 +37,7 @@ umask 0077 export JUSTIN_WORKDIR=`mktemp -d /tmp/justin-test-jobscript.XXXXXX` mkdir -p $JUSTIN_WORKDIR/home/workspace -ARGS=$(getopt -o 'j:m:e:i:' --long 'jobscript:,mql:,monte-carlo:,env:,image:' -- "$@") || exit +ARGS=$(getopt -o 'j:m:e:i:c' --long 'jobscript:,mql:,monte-carlo:,env:,image:,choose-replica' -- "$@") || exit eval "set -- $ARGS" while true; do @@ -50,6 +50,8 @@ while true; do MONTECARLO="true"; shift 2;; (--image) IMAGE=$2; shift 2;; + (--choose-replica) + CHOOSEREPLICA="true"; shift 1;; (--env) echo "export $2" >> $JUSTIN_WORKDIR/home/justin-jobscript-env.sh; shift 2;; (--) shift; break;; @@ -102,21 +104,34 @@ else IMAGE="/cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest" fi - +#Get the replica for testing if [ "$MONTECARLO" != "" ] ; then replica='monte-carlo-000001-000001 000001 MONTECARLO' else echo "Execute justin show-replicas for $MQL" - replica=`justin show-replicas --mql "$MQL" | head -1` + + #Get list of replicas + replicas=$(justin show-replicas --mql "$MQL") + if [ $? != 0 ] ; then echo "justin show-replicas failed!" exit 3 fi - if [ "$replica" = "" ] ; then + if [ "$replicas" = "" ] ; then echo "No replica found" exit 4 fi + + echo "here" + + if [ "$CHOOSEREPLICA" != "" ] ; then + #Invoke TUI here + echo "Choosing replica" + else + replica=$(echo "$replicas" | head -n 1) + echo "Chose replica: $replica" + fi fi # Fake justin-get-file command using the values from MetaCat/Rucio From aa271aaf3554a8af9a50fd8108f830eedb5a5617 Mon Sep 17 00:00:00 2001 From: Jake Calcutt Date: Sat, 11 Jul 2026 16:27:31 -0400 Subject: [PATCH 2/3] Adding ability to choose which replica to run --- commands/justin-test-jobscript | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/commands/justin-test-jobscript b/commands/justin-test-jobscript index 6e671c6..dd95fee 100755 --- a/commands/justin-test-jobscript +++ b/commands/justin-test-jobscript @@ -123,11 +123,27 @@ else exit 4 fi - echo "here" - if [ "$CHOOSEREPLICA" != "" ] ; then - #Invoke TUI here - echo "Choosing replica" + # Display numbered list of replicas + echo "Available replicas:" + echo "$replicas" | nl -w1 -s') ' + + printf "Enter replica number: " + read selected + + if [ "$selected" = "" ]; then + echo "No replica selected, exiting" + exit 6 + fi + + replica=$(echo "$replicas" | sed -n "${selected}p") + + if [ "$replica" = "" ]; then + echo "Invalid selection, exiting" + exit 6 + fi + + echo "Chose replica: $replica" else replica=$(echo "$replicas" | head -n 1) echo "Chose replica: $replica" From 88abb900ac1312b1a63cc4548e50c9b8659120a1 Mon Sep 17 00:00:00 2001 From: Jake Calcutt Date: Sat, 11 Jul 2026 16:37:40 -0400 Subject: [PATCH 3/3] Brush up output --- commands/justin-test-jobscript | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/commands/justin-test-jobscript b/commands/justin-test-jobscript index dd95fee..4f9c4dd 100755 --- a/commands/justin-test-jobscript +++ b/commands/justin-test-jobscript @@ -124,9 +124,13 @@ else fi if [ "$CHOOSEREPLICA" != "" ] ; then - # Display numbered list of replicas + # Display numbered list of replicas as "site pfn" + echo + echo "----------------------------------------" echo "Available replicas:" - echo "$replicas" | nl -w1 -s') ' + echo "$replicas" | awk '{print $3, $2}' | nl -w1 -s') ' + echo "----------------------------------------" + echo printf "Enter replica number: " read selected @@ -143,6 +147,7 @@ else exit 6 fi + echo echo "Chose replica: $replica" else replica=$(echo "$replicas" | head -n 1)