Deployment of CRAB Client

Complete: 5 Go to SWGuideCrab

Using CRABClient directly from your GitHub repository

If you only want to develop some code and do not care about installing the whole client then you should consider sourcing the production client (source /cvmfs/, cloning the client from the GitHub repository ( and then:

export CLIENT_HOME=/your-local-github-repository/CRABClient
export WMCORE_REPO=/your-local-github-repository/
export PYTHONPATH=$CLIENT_HOME/src/python/:~$WMCORE_REPO/WMCore/src/python/:$PYTHONPATH

You may also test not only your own code like this but also the PRs from other people: For how to checkout locally the PRs from the upstream repository see here:

$ vi .git/config

[remote "upstream"]
   url =
   fetch = +refs/heads/*:refs/remotes/upstream/*
   fetch = +refs/pull/*/head:refs/remotes/origin/pr/*

$ git fetch upstream
$ git checkout pr/999
When you finish testing the PR in question go back to the original branch

$ git checkout master

Deployment using RPM

The CRAB3 client can be installed via RPM using the following instructions:

Please check and select newest or needed version for you. If you are developing, you should be taking always the newest version.

Follow the instructions at point 4) in NotesAboutReleaseManagement#Releasing_a_CRABClient_release_c

Deployment of CRAB client on CVMFS (production and pre-production)

The procedure is very simple thanks to the automated Bockjoo build/install scripts. This script constantly check for new rpm of the client, and then installs them on cvmfs. This is how you can trigger the automatic creation of a RPM:

  • Modify the crabclient.spec file to contain the needed (newest) version. The .spec file to use is the one in the comp_gcc493 branch of the cms-sw/cmsdist github repo. Lets say we're ready to deploy the production April CRABClient (3.3.1604). We change the first line of the .spec file containing the 3.3.1604.rc2 version to 3.3.1604, which can be accomplished using the GitHub edit function in the browser. Otherwise, use the listed git commands to push the changes to your fork of cmsdist and them make a PR.
git clone <your-cmsdist-fork> && cd cmsdist && git checkout comp_gcc493
vim crabclient.spec
git add crabclient.spec
git commit -m "Message about commit" 
git push origin

Changes to the crabclient.spec file:

-### RPM cms crabclient 3.3.1604.rc2
+### RPM cms crabclient 3.3.1604

  • If needed, we can also modify the following two lines for the WMCore and CRABServer versions respectively:
%define wmcver 1.0.14_crab_4
%define crabserver 3.3.1604.rc1
    • If the specified CRABClient version is of the 3.3.1604 or 3.3.1604.patch## format, it means this is a production version of the client, which will be deployed after the merge and point the and crab.csh to the 3.3.1604 or 3.3.1604.patch## client.
    • If the specified CRABClient version ends with a release candidate ("=rc=") extension, 3.3.1604.rc##, it means this is a pre-production version, which will be deployed after the merge and point the and crab_pre.csh to the 3.3.1604.rc## client.

  • Wait for the automatic build to run and check the corresponding comment on the PR. If no error occurred the message will show a "+1", the architecture version and the link to the build log.

  • Add a comment with the "merge" text to merge the PR.

Some discussions about client deployment:

Edit | Attach | Watch | Print version | History: r21 < r20 < r19 < r18 < r17 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r21 - 2019-02-12 - LeonardoCristella
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback