|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +# get dataset configuration info |
| 4 | +mkdir -p ./inputs/das-json-config-store |
| 5 | +while IFS= read -r dataset; do |
| 6 | + dataset_result_file=$(echo $dataset | tr '/' '@') |
| 7 | + okay=0 |
| 8 | + while [ $okay -lt 1 ]; do |
| 9 | + echo "==> DAS config dataset=$dataset" |
| 10 | + dasgoclient -query "config dataset=$dataset" -json > ./inputs/das-json-config-store/"${dataset_result_file}.json" |
| 11 | + if [ $? -eq 0 ]; then |
| 12 | + okay=1 |
| 13 | + fi |
| 14 | + done |
| 15 | +done < ./inputs/cms-2016-collision-datasets.txt |
| 16 | + |
| 17 | +# get the config file info for the RECO step (the parent of MINI) |
| 18 | +minis=$(cat inputs/cms-2017-collision-datasets.txt | grep '/MINI') |
| 19 | +for dataset in $minis; do |
| 20 | + parent=$(dasgoclient -query "parent dataset=$dataset") |
| 21 | + dataset_result_file=$(echo $parent | tr '/' '@') |
| 22 | + okay=0 |
| 23 | + while [ $okay -lt 1 ]; do |
| 24 | + echo "==> DAS config dataset=$parent" |
| 25 | + dasgoclient -query "config dataset=$parent" -json > ./inputs/das-json-config-store/"${dataset_result_file}.json" |
| 26 | + if [ $? -eq 0 ]; then |
| 27 | + okay=1 |
| 28 | + fi |
| 29 | + done |
| 30 | +done |
| 31 | + |
| 32 | +# extract configuration file URLs |
| 33 | +rm -f temp_urls |
| 34 | +for file in $(ls -1 inputs/das-json-config-store/*.json); do |
| 35 | + cat $file | jq -S '.[].config [] | .urls' | grep https >> temp_urls |
| 36 | +done |
| 37 | +sed -i -e 's,",,g' temp_urls |
| 38 | +sed -i -e 's,configFile\,,configFile,g' temp_urls |
| 39 | +cat temp_urls | sort -u > urls |
| 40 | + |
| 41 | +# download configuration files |
| 42 | +mkdir -p ./inputs/config-store |
| 43 | +cat urls | awk -F/ '{print "curl -o ./inputs/config-store/"$6".configFile -k --key ~/.globus/userkey.nodes.pem --cert ~/.globus/usercert.pem " $0}' | bash |
| 44 | + |
| 45 | +# remove config files with process HARVESTING |
| 46 | +configs_harvesting=$(grep -l HARVESTING inputs/config-store/*) |
| 47 | +for c in $configs_harvesting; do |
| 48 | + rm $c; |
| 49 | +done |
0 commit comments