INT           Dashboard       Workflows       Jobs       AWT       Sites       Storages       Docs       Login

Workflow 500, Stage 1

Priority50
Processors1
Wall seconds80000
Image/cvmfs/singularity.opensciencegrid.org/fermilab/fnal-wn-sl7:latest
RSS bytes2097152000 (2000 MiB)
Max distance for inputs0.0
Enabled input RSEs CERN_PDUNE_EOS, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, MANCHESTER, MONTECARLO, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled output RSEs CERN_PDUNE_EOS, DUNE_CERN_EOS, DUNE_ES_PIC, DUNE_FR_CCIN2P3_DISK, DUNE_IN_TIFR, DUNE_IT_INFN_CNAF, DUNE_UK_GLASGOW, DUNE_UK_LANCASTER_CEPH, DUNE_UK_MANCHESTER_CEPH, DUNE_US_BNL_SDCC, DUNE_US_FNAL_DISK_STAGE, FNAL_DCACHE, FNAL_DCACHE_STAGING, FNAL_DCACHE_TEST, MANCHESTER, NIKHEF, PRAGUE, QMUL, RAL-PP, RAL_ECHO, SURFSARA, T3_US_NERSC
Enabled sites
Scopeusertests
Events for this stage

File states

Total filesFindingUnallocatedAllocatedOutputtingProcessedNot foundFailed
30300000

Job states

TotalSubmittedStartedProcessingOutputtingFinishedNotusedAbortedStalledJobscript errorOutputting failedNone processed
3854696000261720491130009290
Replicas per RSE3400.0331304518183124.940351515945273436.9201290122996140.581790068627443464.7738901977444169.382367330593783479.1740157950471206.771425162801683477.83520260816863246.815311613156643460.96992059330466283.15905282615493431.2546938286821310.03488883408853393.40533553671776323.1776183711673353.42854745679534320.50148728109393317.66865491782335302.43119817440133291.80076097061396271.83451002790073279.9301062474737233.567124185093633283.9405663434148193.70208345242733303.1956803322521158.56597882947343334.63965725984065133.734918083392422366.59466446328236123.82238162883297Replicas per RSEDUNE_CERN_EOS (6%)DUNE_ES_PIC (6%)DUNE_FR_CCIN2P3_DIS…DUNE_FR_CCIN2P3_DISK (6%)DUNE_IT_INFN_CNAF (…DUNE_IT_INFN_CNAF (6%)DUNE_UK_GLASGOW (6%)DUNE_UK_LANCASTER_C…DUNE_UK_LANCASTER_CEPH (6%)DUNE_UK_MANCHESTER_…DUNE_UK_MANCHESTER_CEPH (6%)DUNE_US_BNL_SDCC (6…DUNE_US_BNL_SDCC (6%)DUNE_US_FNAL_DISK_S…DUNE_US_FNAL_DISK_STAGE (6%)NIKHEF (6%)PRAGUE (6%)QMUL (6%)RAL_ECHO (6%)RAL-PP (6%)DUNE_CA_SFU (6%)SURFSARA (4%)

Stats of processed input files as CSV or JSON, and of uploaded output files as CSV or JSON (up to 10000 files included)

Jobscript

#!/bin/bash
:<<'EOF'
justin simple-workflow \
  --rss-mb 2000 \
  --description 'Automated Workflow Tests' \
  --mql 'rucio-dataset testpro:awt' \
  --jobscript awt.jobscript
EOF

source /cvmfs/dune.opensciencegrid.org/products/dune/setup_dune.sh
setup python v3_9_13
setup metacat
setup rucio
export X509_USER_PROXY=$JUSTIN_PATH/awt-proxy.pem
export X509_NOROLES_PROXY=$JUSTIN_PATH/justin-jobs-no-roles.proxy.pem
export METACAT_AUTH_SERVER_URL=https://metacat.fnal.gov:8143/auth/dune
export METACAT_SERVER_URL=https://metacat.fnal.gov:9443/dune_meta_prod/app
export RUCIO_ACCOUNT=dunepro
setup justin
unset GFAL_CONFIG_DIR GFAL_PLUGIN_DIR
which metacat
metacat --version
which rucio
rucio --version
python3 -c 'import gfal2 ; print("gfal version",gfal2.get_version())'
metacat auth login -m x509 dunepro
export upload_dataset=`date --utc +'awt-uploads-%Y%W'`

touch results.txt
export now=`date +'%s'`

echo '===Start $JUSTIN_PATH/justin-awt-rse-list.txt==='
cat "$JUSTIN_PATH/justin-awt-rse-list.txt"
echo '===End $JUSTIN_PATH/justin-awt-rse-list.txt==='

cat $JUSTIN_PATH/justin-awt-rse-list.txt | (

while read rse_name write_protocol read_pfn
do
  echo '---------------------------------------------------------------------'
  echo $JUSTIN_SITE_NAME $rse_name $write_protocol $read_pfn

  # Test download of file prepositioned on RSEs using normal jobscript proxy
  X509_USER_PROXY=$X509_NOROLES_PROXY xrdcp --force --nopbar --verbose \
    "$read_pfn" "downloaded.txt"
  download_retval=$?

  echo "'xrdcp --force --nopbar --verbose $read_pfn downloaded.txt' returns $download_retval"

  # Test upload of random file
  fn=`mktemp awt-$now-XXXXXXXXXX`
  echo "$fn" > $fn

  echo '{"namespace":"testpro","name":"'$fn'","size":0}' >tmp.json
  metacat file declare --json -f tmp.json "dune:all"
  ret=$?
  echo "metacat file declare returns $ret"

  echo "GFAL_CONFIG_DIR: $GFAL_CONFIG_DIR   GFAL_PLUGIN_DIR: $GFAL_PLUGIN_DIR"
  for i in 1 2 3 4 5
  do
    echo "justin-rucio-upload attempt $i"
    justin-rucio-upload \
            --rse "$rse_name" \
            --protocol "$write_protocol" \
            --scope testpro \
            --dataset $upload_dataset \
            --timeout 1200 \
            "$fn" 2>&1 
#            | sed -r 's/\x1B\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g'
    upload_retval=$?
    if [ $upload_retval != 63 ] ; then
      break
    fi
  done

  echo "'justin-rucio-upload --rse $rse_name --protocol $write_protocol --scope testpro --dataset $upload_dataset $fn --timeout 1200' returns $upload_retval"
  echo
  echo

  echo "==awt== $JUSTIN_SITE_NAME $rse_name $download_retval $upload_retval" \
    "$read_pfn $write_protocol" >> results.txt

done

)

voms-proxy-info --all --file $X509_USER_PROXY

echo
echo '===== Results ====='
echo
echo 'Download/upload commands:'
echo 'xrdcp --force --nopbar --verbose $read_pfn downloaded.txt'
echo echo \''{"namespace":"testpro","name":"FILENAME","size":0}'\' \>tmp.json
echo 'metacat file declare --json -f tmp.json "dune:all"'
echo 'justin-rucio-upload --rse $rse_name --protocol $write_protocol --scope testpro --dataset '$upload_dataset' --timeout 1200 FILENAME'
echo 'Use the wrapper job link on the page for the job on the justIN Dashboard to find the full log file, with errors from these commands'
echo
echo 'Each line: $JUSTIN_SITE_NAME $rse_name $download_retval $upload_retval $read_pfn $write_protocol'
cat results.txt
justIN time: 2025-05-25 06:57:34 UTC       justIN version: 01.04.rc1
<