CRAB Logo

Notes about CRAB3 release management

Instructions below are mostly tailored for patching a given release once master branch in GIT has progressed ahead. For the more normal case of creating a new release from current master branch, the tag can be simply created in github, see: https://help.github.com/articles/creating-releases/

Staying aligned with WMCore

Cross service dependencies

Releasing a CRABClient release candidate / patch

See https://twiki.cern.ch/twiki/bin/view/CMSPublic/CMSCrabClient

Releasing a CRAB TaskWorker release candidate / patch

*1) Create a new release in GitHub

*2) If the new code requires changes to WMCore, make a Pull Request for this and coordinate with WMCore developers in order to have a WMCore release with the changes in. You can not create a WMCore release yourself.

3) Modifying the specfile and building a package

Quick tutorial about building RPMs with cmsdist scripts

Building and uploading a package:

For the *slc6 distribution use vocms022 as building machine, gcc493 as <gcc-version> and slc6_amd64_gcc493 as <architecture>.

  • For the slc7 distribution use vocms055 as building machine, gcc630 as <gcc-version> and slc7_amd64_gcc630 as <architecture>.

# prepare a build area  (only do once):
mkdir -p /build/$USER
cd /build/$USER
(git clone -b V00-30-XX https://github.com/cms-sw/pkgtools.git)
(git clone https://github.com/cms-sw/cmsdist.git && cd cmsdist && git checkout comp_<gcc-version>)
(cd ..)

# no need to touch pkgtools unless someone of the maintainers of that tells you to
# but keep your cmsdisk local repostory up to date with upstream one in github

# Do needed changes to the specfile
# usually we only modify the first line "### RPM cms crabserver 3.3.1603.rc1" to e.g. have the version 3.3.2002
# if a new WMCore version is also neede, chane the line : %define wmcver 1.2.9
vim cmsdist/crabtaskworker.spec

You can now use git to cmmit and make a PR in the `cms-sw` repository, this wil trigger an automatic check in Jenkins, once your PR receive the "+1" comment from Jenkins you can merge it by adding a "merge" comment if you have the authorization, or ask `cms-sw` peple to do with a proper comment.

An automatic script will build the package that will be available in ~1h at the RPM repository listed below

You can also build the package yourself and upload it to http://cmsrep.cern.ch/cmssw/repos/comp.$USER:

# building the new package (works only in the machine mentioned above)
pkgtools/cmsBuild -c cmsdist --repository comp -a <architecture> --builders 8 -j 5 --work-dir w build crabtaskworker | tee logBuild

# uploading it to comp.$USER (works only in the machine mentioned above)
pkgtools/cmsBuild -c cmsdist --repository comp -a <architecture> --builders 8 -j 5 --work-dir w upload crabtaskworker --upload-user=$USER | tee logUpload

The user repository in comp.$USER only holds one release, latest one will override previous versions. If you want to upload more packages (e.g. crabtaskworker and crabserver) you need to indicate both in the same upload command like

pkgtools/cmsBuild -c cmsdist --repository comp -a <architecture> --builders 8 -j 5 --work-dir w upload crabserver crabtaskworker --upload-user=$USER
In case of strange errors that can't be explained by logs, try to reset your environment by deleting the work directory (/build/$USER/w/). Also make sure that you're checked out to the correct commit/branch of the git repositories!

4) Deploying and testing the TaskWorker on your VM

Follow the regular deployment instructions on the twiki: https://twiki.cern.ch/twiki/bin/view/CMSPublic/CMSCrabTaskWorker

5) After testing the TaskWorker on your VM

If all looks good, install the new TaskWorker release on a test machine, configure it to access preprod instance of CRAB database andmake sure that it is thourougly tested before releasing it into production. Afterwards, make a pull request to the cmsdist repository with the new crabtaskworker.spec file.

Notes on RPM repositories

Edit | Attach | Watch | Print version | History: r39 < r38 < r37 < r36 < r35 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r39 - 2020-02-18 - StefanoBelforte
 
    • 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-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback