Skip to content
Snippets Groups Projects
Commit 4c95f0fa authored by Maiken's avatar Maiken
Browse files

Merge branch 'cherryMR1869master-APPTAINER-RTE' into 'master'

Creating Apptainer RTE

See merge request !1870
parents cd21161b e518cd92
Branches
No related tags found
No related merge requests found
# description: executes the job inside apptainer container
# param:APPTAINER_IMAGE:string:NULL:apptainer image or tree per VO, key:value comma separated, key default if VO not matched
# param:APPTAINER_OPTIONS:string: :apptainer options
# param:BINARY_PATH:string:/usr/bin/apptainer:apptainer binary location
APPTAINER_OPTIONS="${APPTAINER_OPTIONS:-}"
APPTAINER_IMAGE="${APPTAINER_IMAGE:-}"
BINARY_PATH="${BINARY_PATH:-'/usr/bin/apptainer'}"
BINARY_PATH="${4:-$BINARY_PATH}"
DEFAULT_IMAGE="NULL"
if [ "x$1" = "x0" ]; then
LOCAL_FILE=$(control_path "${joboption_controldir}" "${joboption_gridid}" "local")
# get VO
#vo=`arcproxy -P $joboption_controldir/job.$joboption_gridid.proxy -i vomsVO 2> /dev/null`
vo=`grep voms= $LOCAL_FILE | awk -F / '{print $2}'|sort -u`
values=`echo $APPTAINER_IMAGE | sed -e 's/,/ /g'`
for i in $values
do
voname=`echo $i | awk -F : '{print $1}'`
voimage=`echo $i | awk -F : '{print $2}'`
if [ "xdefault" = "x$voname" ]; then
DEFAULT_IMAGE=$voimage
fi
if [ "x$vo" = "x$voname" ] ; then
IMAGE=$voimage
fi
done
IMAGE="${IMAGE:-$DEFAULT_IMAGE}"
# explicit image, NULL skips container
IMAGE="${2:-$IMAGE}"
# unquote IMAGE
temp="${IMAGE%\"}"
temp="${temp#\"}"
IMAGE=$temp
# Check if apptainer already used/set by another RTE
echo $joboption_args |grep -q apptainer; sused=$?
if [ "x$IMAGE" != "xNULL" ] && [ "x$sused" == "x1" ] ; then
joboption_args="$BINARY_PATH exec $APPTAINER_OPTIONS --home \${RUNTIME_JOB_DIR} $IMAGE $joboption_args"
# account apptainer image usage
export ACCOUNTING_WN_INSTANCE="${IMAGE}"
fi
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment