From fe535df5b56d27dfba6903d9143a7cc4c1742843 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 11:51:48 +0200 Subject: [PATCH 01/20] need to pass the cuda-10.1 in hte LD_LIBRARY_PATH --- cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh b/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh index 91ad002..380eae2 100755 --- a/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh +++ b/cms/patatrack/cms-patatrack/cms-patatrack-bmk.sh @@ -66,9 +66,9 @@ function validateInputArguments(){ env | grep SRT_LD_LIBRARY_PATH_SCRAMRT # 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_3_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_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 LD_LIBRARY_PATH=/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_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:/usr/local/cuda-10.1/compat/ - export SRT_LD_LIBRARY_PATH_SCRAMRT=/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_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 + export SRT_LD_LIBRARY_PATH_SCRAMRT=/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/bmk/cms-patatrack/CMSSW_11_1_3_Patatrack/external/slc7_amd64_gcc820/lib:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/biglib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_Patatrack/lib/slc7_amd64_gcc820:/cvmfs/cms.cern.ch/slc7_amd64_gcc820/cms/cmssw/CMSSW_11_1_3_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/cuda-10.1/compat/ # Configure WL copy myecho "info about python and tests" -- GitLab From a80f9aed49513b6c9ee37ce69d6d14a86fd43faa Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 11:55:13 +0200 Subject: [PATCH 02/20] change gpus argument from devide=0 to all --- cms/README.md | 2 +- cms/patatrack/ci-scripts/snapshot_cvmfs.sh | 5 ++++- cms/patatrack/ci-scripts/test_standalone_image.sh | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cms/README.md b/cms/README.md index cce5abe..5f1e63f 100644 --- a/cms/README.md +++ b/cms/README.md @@ -17,5 +17,5 @@ As image use the most recent tag version or the qa one, as reported in the [regi export RESULTS_DIR=/any_path_you_like export IMAGE_NAME=gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-gpu/cms/cms-patatrack-nvidia-bmk:qa docker pull ${IMAGE_NAME} -docker run --rm --gpus '"device=0"' -v ${RESULTS_DIR}:/results ${IMAGE_NAME} +docker run --rm --gpus all -v ${RESULTS_DIR}:/results ${IMAGE_NAME} ``` \ No newline at end of file diff --git a/cms/patatrack/ci-scripts/snapshot_cvmfs.sh b/cms/patatrack/ci-scripts/snapshot_cvmfs.sh index 0386d3c..0f174c5 100644 --- a/cms/patatrack/ci-scripts/snapshot_cvmfs.sh +++ b/cms/patatrack/ci-scripts/snapshot_cvmfs.sh @@ -16,7 +16,10 @@ function _script() { docker exec cvmfs_${CI_JOB_ID} cvmfs_config probe # Here comes the dry run of the CMS Patatrack container. Arguments are for the time being defaults/hardcoded FIXME docker pull ${INTERIM_IMAGE} - docker run --name patatrack_container --gpus '"device=0"' -v ${CIENV_CVMFSVOLUME}:/cvmfs ${INTERIM_IMAGE} -e 100 -t 8 -c 1 + # just check the list of GPUs via the ${INTERIM_IMAGE} + docker run --rm --gpus all ${INTERIM_IMAGE} nvidia-smi --list-gpus + + docker run --name patatrack_container --gpus all -v ${CIENV_CVMFSVOLUME}:/cvmfs ${INTERIM_IMAGE} -e 100 -t 8 -c 1 # run shrinkwrapper docker exec cvmfs_${CI_JOB_ID} /root/shrinkwrap.sh -t /tmp/traces -e ${CVMFS_EXPORT_DIR} # get the generated traces from the container diff --git a/cms/patatrack/ci-scripts/test_standalone_image.sh b/cms/patatrack/ci-scripts/test_standalone_image.sh index 217e361..11b7b3f 100644 --- a/cms/patatrack/ci-scripts/test_standalone_image.sh +++ b/cms/patatrack/ci-scripts/test_standalone_image.sh @@ -5,9 +5,10 @@ # in file cms/cms-patatrack-ci.yml function _script() { + chmod a+w ${RESULTS_DIR} # Needed to allow creation of subdirs by bmkuser docker pull ${IMAGE_NAME} # Here comes the test run of the CMS Patatrack standalone container. Arguments are for the time being defaults/hardcoded FIXME - docker run --rm --gpus '"device=0"' -v ${RESULTS_DIR}:/results ${IMAGE_NAME} -e 100 -t 8 -c 1 + docker run --rm --gpus all -v ${RESULTS_DIR}:/results ${IMAGE_NAME} -e 100 -t 8 -c 1 mv ${RESULTS_DIR} ${CI_PROJECT_DIR}/. } -- GitLab From e7ef4aeca7f8cb19d9b71c37dfca5f057a099a76 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 11:55:33 +0200 Subject: [PATCH 03/20] the maxEvents is modified in the utility script --- cms/patatrack/cms-patatrack/profile_pixel-only_GPU.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cms/patatrack/cms-patatrack/profile_pixel-only_GPU.py b/cms/patatrack/cms-patatrack/profile_pixel-only_GPU.py index 8a39d39..30857fe 100644 --- a/cms/patatrack/cms-patatrack/profile_pixel-only_GPU.py +++ b/cms/patatrack/cms-patatrack/profile_pixel-only_GPU.py @@ -26,7 +26,7 @@ process.load('DQMOffline.Configuration.DQMOfflineMC_cff') process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(4200), + input = cms.untracked.int32(10), output = cms.optional.untracked.allowed(cms.int32,cms.PSet) ) -- GitLab From 821ceac73cb57d3005b7605863c1f43d396c52c1 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 12:29:40 +0200 Subject: [PATCH 04/20] remove kv test in CI --- .gitlab-ci.yml | 34 ---------------------------------- 1 file changed, 34 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 480aa50..7dd0fef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,40 +37,6 @@ stages: - export IMAGE=$CI_REGISTRY_IMAGE/something -##################################################### -### ATLAS KV (a test of cvmfs functionality) -##################################################### - -.job_test_kv: - stage: test - image: gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-builder/dind:qa - tags: - - hep-workload-gpu-docker-builder - before_script: - - export CIENV_CVMFSVOLUME=/scratch/cvmfs_hep/CI-JOB-${CI_JOB_ID} - - export CVMFS_IMAGE=gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-builder/cvmfs-image:${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - - docker pull ${CVMFS_IMAGE} - - docker run --name cvmfs_${CI_JOB_ID} -d --privileged -v ${CIENV_CVMFSVOLUME}:/cvmfs:shared ${CVMFS_IMAGE} -r atlas.cern.ch -t /tmp/traces - script: - - sleep 1m # to give time to cvmfs to start - - export CIENV_CVMFSVOLUME=/scratch/cvmfs_hep/CI-JOB-${CI_JOB_ID} - - docker exec cvmfs_${CI_JOB_ID} cvmfs_config probe - - docker run --rm -v ${CIENV_CVMFSVOLUME}:/cvmfs gitlab-registry.cern.ch/hep-benchmarks/hep-workloads/atlas-kv-bmk:ci1.2 -c 2 -t 1 -e 4 - - docker exec cvmfs_${CI_JOB_ID} cvmfs_talk -i atlas.cern.ch tracebuffer flush - - docker exec cvmfs_${CI_JOB_ID} python /usr/libexec/cvmfs/shrinkwrap/spec_builder.py --policy=exact /tmp/traces/cvmfs-atlas.cern.ch.trace.log /tmp/traces/cvmfs-atlas.cern.ch.spec - - docker cp cvmfs_${CI_JOB_ID}:/tmp/traces ${CI_PROJECT_DIR}/traces - after_script: - - docker rm -f cvmfs_${CI_JOB_ID} - only: - variables: - - $CI_COMMIT_BRANCH =~ /^qa.*$/ - - $CI_COMMIT_TAG =~ /^v.*$/ - artifacts: - paths: - - ${CI_PROJECT_DIR}/traces - expire_in: 1 week - when: always - ##################################################### ### CMS PATATRACK ##################################################### -- GitLab From 4038eb0024024d5fda57d93435a28d3a25886b0f Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 12:43:45 +0200 Subject: [PATCH 05/20] Extends instead of anchor and include instead of trigger --- .gitlab-ci.yml | 12 ++++++------ cms/cms-patatrack-ci.yml | 13 ++++++++----- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7dd0fef..a68388e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,15 +41,15 @@ stages: ### CMS PATATRACK ##################################################### +#Adopt the include instead of trigger +include: + - local: cms/cms-patatrack-ci.yml + build_patatrack: stage: triggers - trigger: - include: - - local: cms/cms-patatrack-ci.yml - strategy: depend only: variables: - - $CI_COMMIT_BRANCH =~ /^qa.*$/ + - $CI_COMMIT_BRANCH =~ /^qa-patatrack.*$/ changes: - cms/patatrack/* - cms/patatrack/ci-scripts/* @@ -76,7 +76,7 @@ build_simpletrack: strategy: depend only: variables: - - $CI_COMMIT_BRANCH =~ /^qa.*$/ + - $CI_COMMIT_BRANCH =~ /^qa-simpletrack.*$/ changes: - lhc/simpletrack/Dockerfile.* - lhc/simpletrack/lhc-simpletrack.* diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index db7d194..f6d0777 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -35,7 +35,10 @@ stages: # # See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference for available variables # - /kaniko/executor --context $CONTEXT --dockerfile $DOCKERFILE $DESTINATIONS -.definition_build_image: &template_build_image +# Adopt the extends instead of anchors +# https://docs.gitlab.com/ee/ci/yaml/#extends + +.template_build_image tags: - hep-workload-gpu-docker-builder image: @@ -62,13 +65,13 @@ stages: ########################################################### job_build_base_image: + extend: template_build_image stage: build_base_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.base - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - <<: *template_build_image only: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.base @@ -76,13 +79,13 @@ job_build_base_image: - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: + extend: template_build_image stage: build_data_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.data - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-data - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - <<: *template_build_image only: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.base @@ -91,13 +94,13 @@ job_build_data_image: - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_interim_image: + extend: template_build_image stage: build_interim_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-interim - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - <<: *template_build_image only: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.* @@ -142,12 +145,12 @@ job_snapshot_cvmfs: job_build_standalone_image: stage: build_standalone_image + extend: template_build_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-bmk - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - <<: *template_build_image only: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.* -- GitLab From 40342f685e267ab70401bf63bafaa2989e0e3806 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:47:37 +0200 Subject: [PATCH 06/20] still use trigger --- .gitlab-ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a68388e..3d47712 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,11 +42,15 @@ stages: ##################################################### #Adopt the include instead of trigger -include: - - local: cms/cms-patatrack-ci.yml +#include: +# - local: cms/cms-patatrack-ci.yml build_patatrack: stage: triggers + trigger: + include: + - local: cms/cms-patatrack-ci.yml + strategy: depend only: variables: - $CI_COMMIT_BRANCH =~ /^qa-patatrack.*$/ -- GitLab From 1884b477d518d3c925f88e1ad050115c1ca4891f Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:49:38 +0200 Subject: [PATCH 07/20] fix typo --- cms/cms-patatrack-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index f6d0777..f518412 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -65,7 +65,7 @@ stages: ########################################################### job_build_base_image: - extend: template_build_image + extends: template_build_image stage: build_base_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.base @@ -79,7 +79,7 @@ job_build_base_image: - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: - extend: template_build_image + extends: template_build_image stage: build_data_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.data @@ -94,7 +94,7 @@ job_build_data_image: - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_interim_image: - extend: template_build_image + extends: template_build_image stage: build_interim_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full @@ -145,7 +145,7 @@ job_snapshot_cvmfs: job_build_standalone_image: stage: build_standalone_image - extend: template_build_image + extends: template_build_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack -- GitLab From a6f2f53159521f211c98a849dfedff81a8cbe635 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:51:59 +0200 Subject: [PATCH 08/20] temporary change --- cms/cms-patatrack-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index f518412..4c986e3 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -73,8 +73,8 @@ job_build_base_image: - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} only: - changes: - - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + # changes: + # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ -- GitLab From d84f65a10862b5e0b7d9c034f78c62a5f3916b5b Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:53:46 +0200 Subject: [PATCH 09/20] temporary change --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d47712..89ca551 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,11 +54,11 @@ build_patatrack: only: variables: - $CI_COMMIT_BRANCH =~ /^qa-patatrack.*$/ - changes: - - cms/patatrack/* - - cms/patatrack/ci-scripts/* - - cms/patatrack/cms-patatrack/* - - cms/patatrack/cms-patatrack/utility_scripts/* + # changes: + # - cms/patatrack/* + # - cms/patatrack/ci-scripts/* + # - cms/patatrack/cms-patatrack/* + # - cms/patatrack/cms-patatrack/utility_scripts/* promote_patatrack: <<: *template_promote_prod_image -- GitLab From 10db15fe0b4fa14f09ca5be636333b16a55d29f5 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:56:38 +0200 Subject: [PATCH 10/20] temp change --- cms/cms-patatrack-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 4c986e3..f0b42b4 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -72,11 +72,11 @@ job_build_base_image: - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - only: - # changes: - # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - variables: - - $CI_COMMIT_BRANCH =~ /^qa.*$/ + # only: + # # changes: + # # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + # variables: + # - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: extends: template_build_image -- GitLab From f3f670d9169396fa7ec7cac30aef68f53f7c2800 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 13:58:01 +0200 Subject: [PATCH 11/20] fix job missing colon --- cms/cms-patatrack-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index f0b42b4..6f59e41 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -38,7 +38,7 @@ stages: # Adopt the extends instead of anchors # https://docs.gitlab.com/ee/ci/yaml/#extends -.template_build_image +.template_build_image: tags: - hep-workload-gpu-docker-builder image: -- GitLab From 4c9168396a07cdc848d03cfaad5344576a8d45ab Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:05:10 +0200 Subject: [PATCH 12/20] fix extend syntax --- cms/cms-patatrack-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 6f59e41..3df06ce 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -65,7 +65,7 @@ stages: ########################################################### job_build_base_image: - extends: template_build_image + extends: .template_build_image stage: build_base_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.base @@ -79,7 +79,7 @@ job_build_base_image: # - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: - extends: template_build_image + extends: .template_build_image stage: build_data_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.data @@ -94,7 +94,7 @@ job_build_data_image: - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_interim_image: - extends: template_build_image + extends: .template_build_image stage: build_interim_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full @@ -144,8 +144,8 @@ job_snapshot_cvmfs: when: always job_build_standalone_image: + extends: .template_build_image stage: build_standalone_image - extends: template_build_image before_script: - export DOCKERFILE=$CI_PROJECT_DIR/cms/patatrack/ci-scripts/Dockerfile.nvidia.full - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack -- GitLab From bcbd6b4a2ef4614dd73b631207939b1aa2df2c4c Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:23:30 +0200 Subject: [PATCH 13/20] back to triggers --- .gitlab-ci.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 89ca551..9d61bc6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -41,10 +41,6 @@ stages: ### CMS PATATRACK ##################################################### -#Adopt the include instead of trigger -#include: -# - local: cms/cms-patatrack-ci.yml - build_patatrack: stage: triggers trigger: @@ -54,11 +50,11 @@ build_patatrack: only: variables: - $CI_COMMIT_BRANCH =~ /^qa-patatrack.*$/ - # changes: - # - cms/patatrack/* - # - cms/patatrack/ci-scripts/* - # - cms/patatrack/cms-patatrack/* - # - cms/patatrack/cms-patatrack/utility_scripts/* + changes: + - cms/patatrack/* + - cms/patatrack/ci-scripts/* + - cms/patatrack/cms-patatrack/* + - cms/patatrack/cms-patatrack/utility_scripts/* promote_patatrack: <<: *template_promote_prod_image -- GitLab From 707114186d71c5762b9438b99ce2a123fb61dd53 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:32:45 +0200 Subject: [PATCH 14/20] move build to a include yml --- ci_template_build_image.yml | 21 +++++++++++++++++++++ cms/cms-patatrack-ci.yml | 28 +++++----------------------- 2 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 ci_template_build_image.yml diff --git a/ci_template_build_image.yml b/ci_template_build_image.yml new file mode 100644 index 0000000..dd188be --- /dev/null +++ b/ci_template_build_image.yml @@ -0,0 +1,21 @@ +.template_build_image: + tags: + - hep-workload-gpu-docker-builder + image: + name: gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-builder/dind:qa # Use instead of kaniko. FIXME use a prod tag + entrypoint: [""] + script: + - echo "current commit is ${CI_COMMIT_SHA:0:8}" + - echo "current branch is ${CI_COMMIT_BRANCH}" + - echo "current tag is ${CI_COMMIT_TAG}" + - if [[ -z $DOCKERFILE ]]; then echo "ERROR variable DOCKERFILE is not defined "; exit 1; fi + - if [[ -z $CONTEXT ]]; then echo "ERROR variable CONTEXT is not defined "; exit 1; fi + - if [[ -z $IMAGE_NAME ]]; then echo "ERROR variable IMAGE_NAME is not defined "; exit 1; fi + - if [[ -z $IMAGE_TAG ]]; then echo "ERROR variable IMAGE_TAG is not defined "; exit 1; fi + - docker rmi -f $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG || echo "image $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG does not exist" + - echo $CI_BUILD_TOKEN | docker login -u gitlab-ci-token --password-stdin gitlab-registry.cern.ch + - docker build --no-cache -t $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} -f $DOCKERFILE $CONTEXT + - docker tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG + - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} + - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG + - docker rmi $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} \ No newline at end of file diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 3df06ce..10f4e06 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -38,27 +38,9 @@ stages: # Adopt the extends instead of anchors # https://docs.gitlab.com/ee/ci/yaml/#extends -.template_build_image: - tags: - - hep-workload-gpu-docker-builder - image: - name: gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-builder/dind:qa # Use instead of kaniko. FIXME use a prod tag - entrypoint: [""] - script: - - echo "current commit is ${CI_COMMIT_SHA:0:8}" - - echo "current branch is ${CI_COMMIT_BRANCH}" - - echo "current tag is ${CI_COMMIT_TAG}" - - if [[ -z $DOCKERFILE ]]; then echo "ERROR variable DOCKERFILE is not defined "; exit 1; fi - - if [[ -z $CONTEXT ]]; then echo "ERROR variable CONTEXT is not defined "; exit 1; fi - - if [[ -z $IMAGE_NAME ]]; then echo "ERROR variable IMAGE_NAME is not defined "; exit 1; fi - - if [[ -z $IMAGE_TAG ]]; then echo "ERROR variable IMAGE_TAG is not defined "; exit 1; fi - - docker rmi -f $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG || echo "image $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG does not exist" - - echo $CI_BUILD_TOKEN | docker login -u gitlab-ci-token --password-stdin gitlab-registry.cern.ch - - docker build --no-cache -t $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} -f $DOCKERFILE $CONTEXT - - docker tag $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} - - docker push $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - - docker rmi $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8} +include: + - local: '/ci_template_build_image.yml' + ########################################################### # docker in docker image: to trigger other docker runs @@ -73,8 +55,8 @@ job_build_base_image: - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} # only: - # # changes: - # # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + # changes: + # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base # variables: # - $CI_COMMIT_BRANCH =~ /^qa.*$/ -- GitLab From 0f5888c404386e45f92cf0e28c32165794a7029e Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:34:20 +0200 Subject: [PATCH 15/20] fix trigger condition --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9d61bc6..2be853c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -51,6 +51,7 @@ build_patatrack: variables: - $CI_COMMIT_BRANCH =~ /^qa-patatrack.*$/ changes: + - cms/cms-patatrack-ci.yml - cms/patatrack/* - cms/patatrack/ci-scripts/* - cms/patatrack/cms-patatrack/* -- GitLab From c3476a35adab11bc583d5b4d7726436d45f1846a Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:35:40 +0200 Subject: [PATCH 16/20] fix conditions --- cms/cms-patatrack-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 10f4e06..66f010a 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -54,11 +54,11 @@ job_build_base_image: - export CONTEXT=$CI_PROJECT_DIR/cms/patatrack - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} - # only: + only: # changes: # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - # variables: - # - $CI_COMMIT_BRANCH =~ /^qa.*$/ + variables: + - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: extends: .template_build_image @@ -69,9 +69,9 @@ job_build_data_image: - export IMAGE_NAME=cms/cms-patatrack-nvidia-data - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} only: - changes: - - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - - cms/patatrack/ci-scripts/Dockerfile.nvidia.data + # changes: + # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + # - cms/patatrack/ci-scripts/Dockerfile.nvidia.data variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ -- GitLab From 6912f16987f4117ce83e0a4ebd3a2bf1a7dc03e3 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:42:40 +0200 Subject: [PATCH 17/20] fix cosmetic --- ci_template_build_image.yml | 30 +++++++++++++++++++++++ cms/cms-patatrack-ci.yml | 48 ++++++------------------------------- 2 files changed, 37 insertions(+), 41 deletions(-) diff --git a/ci_template_build_image.yml b/ci_template_build_image.yml index dd188be..f1ecdfb 100644 --- a/ci_template_build_image.yml +++ b/ci_template_build_image.yml @@ -1,3 +1,33 @@ +########################## +## Templates ############# + +# .definition_build_image_kaniko: &template_build_image_kaniko +# tags: +# - hep-workload-gpu-docker-builder +# image: # NB enable shared runners and do not specify a CI tag +# name: gitlab-registry.cern.ch/ci-tools/docker-image-builder # CERN version of the Kaniko image +# entrypoint: [""] +# script: +# - echo "current commit is ${CI_COMMIT_SHA:0:8}" +# - echo "current branch is ${CI_COMMIT_BRANCH}" +# - echo "current tag is ${CI_COMMIT_TAG}" +# - if [[ -z $DOCKERFILE ]]; then echo "ERROR variable DOCKERFILE is not defined "; exit 1; fi +# - if [[ -z $CONTEXT ]]; then echo "ERROR variable CONTEXT is not defined "; exit 1; fi +# - if [[ -z $IMAGE_NAME ]]; then echo "ERROR variable IMAGE_NAME is not defined "; exit 1; fi +# - if [[ -z $IMAGE_TAG ]]; then echo "ERROR variable IMAGE_TAG is not defined "; exit 1; fi +# - export DESTINATIONS="--destination $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG --destination $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8}" +# - echo "DESTINATIONS $DESTINATIONS" +# # Prepare Kaniko configuration file +# - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json +# # Build and push the image from the Dockerfile at the root of the project. +# # To push to a specific docker tag, amend the --destination parameter, e.g. --destination $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME +# # See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference for available variables +# - /kaniko/executor --context $CONTEXT --dockerfile $DOCKERFILE $DESTINATIONS + + +########################################################### +# use docker in docker image: to trigger other docker runs +########################################################### .template_build_image: tags: - hep-workload-gpu-docker-builder diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 66f010a..e27141a 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -6,47 +6,13 @@ stages: - snapshot_cvmfs - build_standalone_image - test -#- publish -#- announce - -########################## -## Templates ############# - -# .definition_build_image_kaniko: &template_build_image_kaniko -# tags: -# - hep-workload-gpu-docker-builder -# image: # NB enable shared runners and do not specify a CI tag -# name: gitlab-registry.cern.ch/ci-tools/docker-image-builder # CERN version of the Kaniko image -# entrypoint: [""] -# script: -# - echo "current commit is ${CI_COMMIT_SHA:0:8}" -# - echo "current branch is ${CI_COMMIT_BRANCH}" -# - echo "current tag is ${CI_COMMIT_TAG}" -# - if [[ -z $DOCKERFILE ]]; then echo "ERROR variable DOCKERFILE is not defined "; exit 1; fi -# - if [[ -z $CONTEXT ]]; then echo "ERROR variable CONTEXT is not defined "; exit 1; fi -# - if [[ -z $IMAGE_NAME ]]; then echo "ERROR variable IMAGE_NAME is not defined "; exit 1; fi -# - if [[ -z $IMAGE_TAG ]]; then echo "ERROR variable IMAGE_TAG is not defined "; exit 1; fi -# - export DESTINATIONS="--destination $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG --destination $CI_REGISTRY_IMAGE/$IMAGE_NAME:ci-${CI_COMMIT_BRANCH}-${CI_COMMIT_SHA:0:8}" -# - echo "DESTINATIONS $DESTINATIONS" -# # Prepare Kaniko configuration file -# - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json -# # Build and push the image from the Dockerfile at the root of the project. -# # To push to a specific docker tag, amend the --destination parameter, e.g. --destination $CI_REGISTRY_IMAGE:$CI_BUILD_REF_NAME -# # See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#variables-reference for available variables -# - /kaniko/executor --context $CONTEXT --dockerfile $DOCKERFILE $DESTINATIONS - -# Adopt the extends instead of anchors -# https://docs.gitlab.com/ee/ci/yaml/#extends include: - local: '/ci_template_build_image.yml' - -########################################################### -# docker in docker image: to trigger other docker runs -########################################################### - job_build_base_image: +# Adopt the extends instead of anchors +# https://docs.gitlab.com/ee/ci/yaml/#extends extends: .template_build_image stage: build_base_image before_script: @@ -55,8 +21,8 @@ job_build_base_image: - export IMAGE_NAME=cms/cms-patatrack-nvidia-base - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} only: - # changes: - # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + changes: + - cms/patatrack/ci-scripts/Dockerfile.nvidia.base variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ @@ -69,9 +35,9 @@ job_build_data_image: - export IMAGE_NAME=cms/cms-patatrack-nvidia-data - export IMAGE_TAG=${CI_COMMIT_TAG:-$CI_COMMIT_BRANCH} only: - # changes: - # - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - # - cms/patatrack/ci-scripts/Dockerfile.nvidia.data + changes: + - cms/patatrack/ci-scripts/Dockerfile.nvidia.base + - cms/patatrack/ci-scripts/Dockerfile.nvidia.data variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ -- GitLab From 1fc3c48428692f5d2f2c47dafe16f4a915ae7948 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 14:57:48 +0200 Subject: [PATCH 18/20] add a dummy pre job --- cms/cms-patatrack-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index e27141a..d743000 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -10,6 +10,11 @@ stages: include: - local: '/ci_template_build_image.yml' +job_dummy: + - stage: .pre + - script: + - echo "Here starts the CMS Patatrack standalone pipeline" + job_build_base_image: # Adopt the extends instead of anchors # https://docs.gitlab.com/ee/ci/yaml/#extends -- GitLab From c98f9f6760218e588e940868550518a4ea4de6c4 Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 15:00:21 +0200 Subject: [PATCH 19/20] fix CI --- cms/cms-patatrack-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index d743000..5acdc07 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -11,8 +11,8 @@ include: - local: '/ci_template_build_image.yml' job_dummy: - - stage: .pre - - script: + stage: .pre + script: - echo "Here starts the CMS Patatrack standalone pipeline" job_build_base_image: -- GitLab From 782aecf774df27df944f9afac6717121a273e65a Mon Sep 17 00:00:00 2001 From: Domenico Giordano <domenico.giordano@cern.ch> Date: Sat, 26 Sep 2020 15:01:32 +0200 Subject: [PATCH 20/20] change pre stage in zero stage --- cms/cms-patatrack-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 5acdc07..c237229 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -1,5 +1,6 @@ --- stages: + - zero - build_base_image - build_data_image - build_interim_image @@ -11,7 +12,7 @@ include: - local: '/ci_template_build_image.yml' job_dummy: - stage: .pre + stage: zero script: - echo "Here starts the CMS Patatrack standalone pipeline" -- GitLab