diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index ab394abe9287933378a2e3967e616557b2c41b26..b8cdc8e986b271c3d3d658171e7ebce09802cc00 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -128,7 +128,7 @@ job_snapshot_cvmfs: artifacts: paths: - ${CI_PROJECT_DIR}/traces - - ${CI_PROJECT_DIR}/cvmfs_export_dir_content + - ${CI_PROJECT_DIR}/cvmfs_export_dir_content.txt - ${CI_PROJECT_DIR}/cvmfs_export_py2-scipy_content - ${CI_PROJECT_DIR}/cms/patatrack/cvmfs expire_in: 1 week diff --git a/cms/patatrack/ci-scripts/snapshot_cvmfs.sh b/cms/patatrack/ci-scripts/snapshot_cvmfs.sh index 4cf653363c44ddf57f4284270f001e2b6a97cb42..21cc3830e19b91d8b469e293be7c8139e19acd88 100644 --- a/cms/patatrack/ci-scripts/snapshot_cvmfs.sh +++ b/cms/patatrack/ci-scripts/snapshot_cvmfs.sh @@ -1,7 +1,7 @@ #!/bin/bash # script used in gitlab CI -# for job job_snapshot_cvmfs +# for job snapshot_cvmfs # in file cms/cms-patatrack-ci.yml function _before_script() { @@ -18,21 +18,30 @@ function _script() { docker pull gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-gpu/cms/cms-patatrack-nvidia-2:qa docker run --name patatrack_container --gpus '"device=0"' -v ${CIENV_CVMFSVOLUME}:/cvmfs gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-gpu/cms/cms-patatrack-nvidia-2:qa -e 100 -t 8 -c 1 # run shrinkwrapper - docker exec cvmfs_${CI_JOB_ID} /root/shrinkwrap.sh -t /tmp/traces/ -e ${CVMFS_EXPORT_DIR} + docker exec cvmfs_${CI_JOB_ID} /root/shrinkwrap.sh -t /tmp/traces -e ${CVMFS_EXPORT_DIR} + # get the generated traces from the container + docker cp cvmfs_${CI_JOB_ID}:/tmp/traces ${CI_PROJECT_DIR}/traces + # TODO: check if fixed in CI via traces/cms.cern.ch_spec_custom.txt # FIXME this is a dirty patch needed to make scipy running. cvmfs shrinkwrapper alone does not copy all files of that dir. To be investigated why ls -lR ${CVMFS_EXPORT_DIR}/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/py2-scipy/1.2.3-bcolbf/lib/python2.7 >${CI_PROJECT_DIR}/cvmfs_export_py2-scipy_content rm -fr ${CVMFS_EXPORT_DIR}/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/py2-scipy/1.2.3-bcolbf/lib/python2.7/site-packages docker cp patatrack_container:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/py2-scipy/1.2.3-bcolbf/lib/python2.7/site-packages ${CVMFS_EXPORT_DIR}/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/py2-scipy/1.2.3-bcolbf/lib/python2.7 - # remove duplicated data + # TODO: include sha5checksum of exported CVMFS? + # tar -cf /tmp/cvmfs_checksum.tar ${CVMFS_EXPORT_DIR}/cvmfs && md5sum /tmp/cvmfs_checksum.tar | cut -f1 -d" " > /tmp/cvmfs_checksum.txt && rm /tmp/cvmfs_checksum.tar + # mv /tmp/cvmfs_checksum.txt ${CVMFS_EXPORT_DIR}/cms/patatrack/cvmfs + # remove duplicated data & empty dirs + # find ${CVMFS_EXPORT_DIR} -type d -empty -delete rm -rf ${CVMFS_EXPORT_DIR}/cvmfs/.data - ls -R ${CVMFS_EXPORT_DIR} >${CI_PROJECT_DIR}/cvmfs_export_dir_content + ls -R ${CVMFS_EXPORT_DIR} >${CI_PROJECT_DIR}/cvmfs_export_dir_content.txt } function _after_script() { + #sigkill and remove containers, images remain. docker rm -f cvmfs_${CI_JOB_ID} docker rm -f patatrack_container } +# TODO: clean up $CIENV_CVMFSVOLUME, clean up docker image cache export CIENV_CVMFSVOLUME=/scratch/cvmfs_hep/CI-JOB-${CI_JOB_ID} export CVMFS_EXPORT_DIR=${CI_PROJECT_DIR}/cms/patatrack export CIENV_CVMFSREPO=cms.cern.ch diff --git a/cms/patatrack/cms-patatrack/bmk-driver.sh b/cms/patatrack/cms-patatrack/bmk-driver.sh index e711aeb142892d04b9b1ca8fbe0b435da3285610..6c1215b07530ff6d6c6535e5e6ec04ecd7f14301 100644 --- a/cms/patatrack/cms-patatrack/bmk-driver.sh +++ b/cms/patatrack/cms-patatrack/bmk-driver.sh @@ -324,7 +324,6 @@ function doOneWrapper(){ # local status=${PIPESTATUS[0]} # NB do not use $? if you pipe to tee! # chown -R root:root $workDir 2>&1 | tee -a $log # else - myecho "[doOneWrapper ($1)] not inside docker - run doOne as $(whoami)\n" 2>&1 | tee -a $log doOne $1 2>&1 | tee -a $log local status=${PIPESTATUS[0]} # NB do not use $? if you pipe to tee! # fi diff --git a/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh b/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh index eed2c5c4b55b633c34d7d09d5bbae2977b246279..71d2706da0ea44d5e62f2d6fe9dfbc141afae940 100755 --- a/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh +++ b/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh @@ -52,21 +52,21 @@ function validateInputArguments(){ export CMSSW_RELEASE=CMSSW_11_1_0_pre8_Patatrack export VO_CMS_SW_DIR=/cvmfs/cms.cern.ch - export LC_ALL=en_US.UTF-8 + # TODO: These functions are *bad* in anything non-privileged! we can only r/w in mounted DIRs! + cd ${resultsDir} source $VO_CMS_SW_DIR/cmsset_default.sh [[ ! -e ${CMSSW_RELEASE} ]] && scram project CMSSW ${CMSSW_RELEASE} cd ${CMSSW_RELEASE}/src; + # sets all paths to point to CMVFS; ignores system binaries eval `scramv1 runtime -sh`; cd - env | grep LD_LIBRARY_PATH env | grep SRT_LD_LIBRARY_PATH_SCRAMRT - # FIXME: so far, after having snapshotted cvmfs the LD_LIBRARY_PATH - # FIXME: does not contain all path needed as when cvmfs is bind mounted - # FIXME: therefore I'm forcing it to be as the correct one - export LD_LIBRARY_PATH=/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/llvm/9.0.1-pfdnen/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 + # TODO: This error comes from making CVMFS 555 - paths are set via <pkg>/<version>/etc/init.d/* + export LD_LIBRARY_PATH=/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/llvm/9.0.1-pfdnen/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/.singularity.d/libs export SRT_LD_LIBRARY_PATH_SCRAMRT=/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_0_pre8_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/llvm/9.0.1-pfdnen/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib64:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/external/gcc/8.2.0-bcolbf/lib @@ -91,9 +91,12 @@ fi export LC_ALL=en_US.UTF-8 -# Source the common benchmark driver +# Execute common benchmark driver if [ -f $(dirname $0)/bmk-driver.sh ]; then . $(dirname $0)/bmk-driver.sh -else +elif [ -f $(dirname $0)/../../../common/bmk-driver.sh ]; then . $(dirname $0)/../../../common/bmk-driver.sh +else + echo "Something went wrong with the default work dir. Could not find bmk-driver.sh"; + exit 1; fi diff --git a/cms/patatrack/traces/cms.cern.ch_spec_custom.txt b/cms/patatrack/traces/cms.cern.ch_spec_custom.txt index e1badbcfe7e2791c18c36773c0a3321a621e3366..d7a8f40bfc064a167fcfd2c52bb70eab89178e83 100644 --- a/cms/patatrack/traces/cms.cern.ch_spec_custom.txt +++ b/cms/patatrack/traces/cms.cern.ch_spec_custom.txt @@ -1,3 +1,3 @@ -/slc7_amd64_gcc820/external/py2-future/* -/slc7_amd64_gcc820/external/py2-numpy/* -/slc7_amd64_gcc820/external/py2-scipy/* \ No newline at end of file +/slc7_amd64_gcc820/external/py2-future/0.18.2-bcolbf/* +/slc7_amd64_gcc820/external/py2-numpy/1.16.6-bcolbf/* +/slc7_amd64_gcc820/external/py2-scipy/1.2.3-bcolbf/*