Return to Release Management Workflow
Deploying a release on CVMFS
Summary
- Log on to the cvmfs server.
- Start a transaction.
- Add the new versions of
sbndcode
andsbndutil
. - Finish the transaction.
Instructions
-
Log on to the cvmfs server
ssh cvmfssbnd@oasiscfs.fnal.gov
-
Source content for the sbnd cvmfs repository will be visible in /cvmfs/sbnd.opensciencegrid.org
-
Check the last tags of the cvmfs repository
cvmfs_server tag -l sbnd.opensciencegrid.org
-
I usually do this from the
temp/
directory as the scripts copy over some manifest files into your current directory for some reason, these can just be deleted. -
Start a transaction
cvmfs_server transaction sbnd.opensciencegrid.org
-
Update repository content with shell scripts
~/scripts/install_on_cvmfs.sh sbnd-< dot version (no preceeding v) >
-
e.g.\
~/scripts/install_on_cvmfs.sh sbnd-08.43.00
-
-
Make sure the installation didn't fail.
-
End transaction and publish updated content
cvmfs_server publish -m "Published sbndcode < version > and sbndutil < version >" -a < new tag > sbnd.opensciencegrid.org
-
If something goes wrong and you want to get rid of the changed you just made and end the transaction you can
cvmfs_server abort sbnd.opensciencegrid.org
-
log out
-
When you initially log in, you only have read access. Starting and ending the update transaction involves dismounting and remounting the repository read/write or read only. You should not cd to any location in the repository when you're inside a transaction.
sbnd_data
-
If you want to update sbnd_data without changing the version number you can add new files to the relevant
/grid/fermiapp
directory and usersync
rsync -r < user >@sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/< version >* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/
Details: install_on_cvmfs.sh
- A modified version of the script used to deploy on
/grid/fermiapp/
taken from microboone (not sure where to find the original. - You will have to modify this if qualifiers and/or build types change.
- The large commented out section at the end was used to remove the
need for qualifiers when setting up pre-built binaries.
- It wasn't very robustly written and had to be changed every time new build types were added.
- Given the limited number of users of pre-built binaries I decided to drop this feature.
- Most of the heavy lifting is done by the pullProducts script, you shouldn't ever have to modify this script but may have to pick up changes if instructed.