Public Repository

Last pushed: a year ago
Short Description
MicroBoone docker to be controlled by glidein frontend
Full Description

MicroBoone Docker to be Controlled by glidein Frontend

What is this docker?

Built on the basis of uboone-5_15, this docker patches osg client so that BOSCO can pull jobs from frontend.

FROM jyan/uboone-05_15
RUN rpm -Uvh https://repo.grid.iu.edu/osg/3.3/osg-3.3-el6-release-latest.rpm
RUN yum install -y osg-wn-client
COPY glidein_startup.sh /root
CMD ["bash", "-lc ./glidein_startup.sh $GLIDEIN_ARGS"]

Notice that glidein_startup.sh (aka condor_exec.exe) script is available inside the container already.

Export GLIDEIN_ARGS

The argument variable for glidein_startup.sh is extremely long. One way to export this variable inside container is to use --env-file option when we run docker run. First we put this variable in a env.txt file:

GLIDEIN_ARGS=-v std -name hepcloud_instance -entry T3_US_NERSC_Edison -clientname cmssrv279-fnal-gov_OSG_gWMSFrontend.opportunistic -schedd schedd_glideins2@cmssrv280.fnal.gov -proxy None -factory hepcloud_factory -web http://cmssrv280.fnal.gov:8319/factory/stage -sign f1d577e07527a24445f9836871fa71afd263bb93 -signentry 066d43bc235a124cf11688b89fc336d6f17a209c -signtype sha1 -descript description.g7qh86.cfg -descriptentry description.g7qh86.cfg -dir AUTO -param_GLIDEIN_Client cmssrv279-fnal-gov_OSG_gWMSFrontend.opportunistic -submitcredid 515221 -slotslayout partitionable -clientweb http://cmssrv279.fnal.gov:8319/vofrontend/stage -clientsign adfe213e1a752a751f91e352069452d7deffabb9 -clientsigntype sha1 -clientdescript description.g7t9rW.cfg -clientgroup opportunistic -clientwebgroup http://cmssrv279.fnal.gov:8319/vofrontend/stage/group_opportunistic -clientsigngroup d5adfe2ecfdaf33bda8d8c0078dfbf232680a2fc -clientdescriptgroup description.g7t9rW.cfg -param_CONDOR_VERSION default -param_GLIDEIN_Glexec_Use NONE -param_GLIDEIN_Job_Max_Time 34800 -param_GLIDECLIENT_ReqNode cmssrv280.dot,fnal.dot,gov -param_VM_MAX_LIFETIME 2600000 -param_GLIDECLIENT_Rank 1 -param_GLIDEIN_Report_Failed NEVER -param_MIN_DISK_GBS 1 -param_GLIDEIN_Max_Walltime 2600000 -param_GLIDEIN_PARROT_ALIEN /project/projectdirs/cmsnersc/parrot/alien_cachedir -param_CONDOR_ARCH default -param_UPDATE_COLLECTOR_WITH_TCP True -param_USE_MATCH_AUTH True -param_GLIDEIN_PARROT_TMP /dev/shm/cmsparrot -param_CONDOR_OS default -param_GLIDEIN_Collector cmssrv274.dot,fnal.dot,gov.colon,9620.minus,9640.semicolon,cmssrv276.dot,fnal.dot,gov.colon,9620.minus,9640 -cluster 10940 -subcluster 0

Then specify it when we start running the docker:

docker run --volume=/local/path:/mnt --env-file env.txt jyan/uboone-osg bash -lc './products/startup_glidein.sh $GLIDEIN_ARGS'

To stop the docker:

docker stop $docker_name

where docker_name can be found in the output of command docker ps. In fact, we can specify a name when starting running docker with --name [string] option.

Run it on Edison @ NERSC with SLURM

The following SLURM script will start the docker container in order to execute glidein client:

#!/bin/bash

#SBATCH --partition=debug
#SBATCH --ntasks-per-node=1
#SBATCH --nodes=1
#SBATCH --image=docker:jyan/uboone-osg:latest
#SBATCH --volume="/global/cscratch1/sd/timm/test_timm/run_uboone:/mnt"
#SBATCH -t 00:29:00

module load shifter
GLIDEIN_ARGS="-v std -name hepcloud_instance -entry T3_US_NERSC_Edison -clientname cmssrv279-fnal-gov_OSG_gWMSFrontend.opportunistic -schedd schedd_glideins2@cmssrv280.fnal.gov -proxy None -factory hepcloud_factory -web http://cmssrv280.fnal.gov:8319/factory/stage -sign f1d577e07527a24445f9836871fa71afd263bb93 -signentry 066d43bc235a124cf11688b89fc336d6f17a209c -signtype sha1 -descript description.g7qh86.cfg -descriptentry description.g7qh86.cfg -dir AUTO -param_GLIDEIN_Client cmssrv279-fnal-gov_OSG_gWMSFrontend.opportunistic -submitcredid 515221 -slotslayout partitionable -clientweb http://cmssrv279.fnal.gov:8319/vofrontend/stage -clientsign adfe213e1a752a751f91e352069452d7deffabb9 -clientsigntype sha1 -clientdescript description.g7t9rW.cfg -clientgroup opportunistic -clientwebgroup http://cmssrv279.fnal.gov:8319/vofrontend/stage/group_opportunistic -clientsigngroup d5adfe2ecfdaf33bda8d8c0078dfbf232680a2fc -clientdescriptgroup description.g7t9rW.cfg -param_CONDOR_VERSION default -param_GLIDEIN_Glexec_Use NONE -param_GLIDEIN_Job_Max_Time 34800 -param_GLIDECLIENT_ReqNode cmssrv280.dot,fnal.dot,gov -param_VM_MAX_LIFETIME 2600000 -param_GLIDECLIENT_Rank 1 -param_GLIDEIN_Report_Failed NEVER -param_MIN_DISK_GBS 1 -param_GLIDEIN_Max_Walltime 2600000 -param_GLIDEIN_PARROT_ALIEN /project/projectdirs/cmsnersc/parrot/alien_cachedir -param_CONDOR_ARCH default -param_UPDATE_COLLECTOR_WITH_TCP True -param_USE_MATCH_AUTH True -param_GLIDEIN_PARROT_TMP /dev/shm/cmsparrot -param_CONDOR_OS default -param_GLIDEIN_Collector cmssrv274.dot,fnal.dot,gov.colon,9620.minus,9640.semicolon,cmssrv276.dot,fnal.dot,gov.colon,9620.minus,9640 -cluster 10940 -subcluster 0"

srun shifter bash -lc "./products/startup_glidein.sh $GLIDEIN_ARGS" &
job_pid=$!

# Wait for the user job to finish
wait $job_pid
user_retcode=$?

exit $user_retcode
Docker Pull Command
Owner
jyan

Comments (0)