Project

General

Profile

Packaging artg4tk and Scripts for Grid Running

Why

We must package up any code that we are going to use that doesn't already live on CVMFS and isn't our main script submitted to jobsub. Grid nodes, as a rule, can no longer access BlueArc disks; our only option is streaming data and PNFS. We'll make a tarball of our built artg4tk and some scripts we'll use and place that tarball on PNFS so that it is accessible on the grid nodes using ifdh cp.

Fetch runartg4tk Scripts, Build UPS Products

Do these steps if it wasn't done as part of building artg4tk in the previous step:

cd ${MRB_SOURCE}

# scripts written by Robert Hatcher for this purpose
git clone https://github.com/nusense/runartg4tk

# add this to the things MRB should "build" 
cat >> CMakeLists.txt < EOF

set(runartg4tk_not_in_ups true)
include_directories ( ${CMAKE_CURRENT_SOURCE_DIR}/runartg4tk )
include_directories ( $ENV{MRB_BUILDDIR}/runartg4tk )

ADD_SUBDIRECTORY(runartg4tk)

EOF

# build everything and "install" into localProducts_runartg4tk_v0_03_00_e15_prof (or whatever)
cd ${MRB_BUILD}
mrb i

Make a Tarball

At this point the ${MRB_INSTALL} (e.g. localProducts_*) subdirectory should contain two products: artg4tk and runartg4tk.

This isn't a stand-alone UPS installation because it doesn't contain the ups product necessary to bootstrap, but it has only our additions.

cp ${MRB_SOURCE}/runartg4tk/scripts/bootstrap_ups.sh ${MRB_INSTALL} # is this still necessary?

${MRB_SOURCE}/runartg4tk/scripts/make_mrb_tarball.sh

This should yield a file similar to: localProducts_runartg4tk_v0_03_00_e15_prof_2018-04-05.tar.bz2 in /pnfs/geant4/persistent/${USER}/
Take note of the name as your grid job will need to ask for it by name.