Status
We currently have two separate versions of Hudson running for:
The SRS version just got updated to the latest pre-2.0 version: 1.398 (see all versions here).
This particular version had to be patched due to a bug in running maven processes on remote nodes. We followed the instructions on how to upgrade the version of sisu-guice 3.0.1.
Goals
The main goal is to have only one Hudson server running. It will handle builds from different experiments delegating the execution to worker nodes.
To do this we need to:
- Re-organize the EXO slaves; they are currently pretty messy.
- These are Tony's notes:
The Hudson slave code for EXO is in /nfs/slac/g/exo/software/hudson/ It contains all the jar files, directories and scripts for exo-build03. In it there is also a directory for exo-build01. The idea was to create a directory for exo-build03, parallel to the exo-build01 one. The problem is that many EXO users rely on these directories being where they are. The main thing that would have to stay the same is the /nfs/slac/g/exo/software/hudson/builds directory, which is itself already a symlink to builds-rhel5 (the rhel4 stuff is obsolete and can be deleted). However inside the hudson task itself there may be other assumptions about file location, built into the script which runs the job.
- For these reasons we decided to leave this as it is for the moment.
- These are Tony's notes:
- Find a server to run the LSST builds
- Import in SRS the Fermi builds.
Distribution
The Hudson war file is located at: /u/ey/freehep/hudson/. There is a directory for each version, containing hudson.war. There is also a current symlink that is used to load the most recent version in the server.xml on the server in which hudson is running.
Hudson Home
The home directory where Hudson keeps its configuration files and build results is located at tomcat/BASE/HOST/home/.home on the HOST where it is running.
Hudson Settings
For SRS the Hudson settings are located under /nfs/slac/g/srs/hudson
Worker Nodes
There are a few worker nodes that are running experiment specific builds. The slave.jar file must be kept synchronized with the version of the hudson war file when upgrades are performed. To do this it is necessary to shut down the worker node by loggin in on the machine on which the worker node is running and killing the java process.
To find which server a worker node is running on follow: Manage Hudson -> Manage Nodes -> NODE_NAME -> System Information There you can look for HOST.
How do we run the monitor script?
Worker Node |
Account |
Directory |
Host |
Comment |
---|---|---|---|---|
exo-build01 |
exodata |
/nfs/slac/g/exo/software/hudson/exo-build01 |
scalnx01 |
|
exo-build02 |
exodata |
~/hudson |
www.exo200.org |
|
exo-build-yakut14 |
exodata |
/nfs/slac/g/exo/software/hudson/ |
yakut14 |
This agent is started on-demand via ssh |
srs-build01 |
srs |
/nfs/slac/g/srs/hudson/srs-build01 |
scalnx01 |
cronjob ok |
lsst-build01 |
srs |
/nfs/slac/g/srs/hudson/lsst-build01 |
scalnx01 |
cronjob ok. Running java at 32 bits. |
freehep-build01 |
freehep |
/nfs/slac/g/jas/hudson/freehep-build01 |
scalnx01 |
|
lcsim-build01 |
lcdprod |
/nfs/slac/g/lcd/mc/prj/sw/hudson |
lcddata01 |
|
fermi-build01 |
glast |
/nfs/slac/g/glast/ground/software/hudson/ |
glastlnx20 |
|
cta-build01 |
ctadata |
/nfs/slac/g/agis/repo/hudson/rhel5-64/ |
scalnx01 |
|