How to Install the Janitor on ARC 0.6.1 1. Requirements Currently the Janitor is only supported with the PBS back-end. If you are using another back-end and want to use the Janitor, please contact or for help. Further the Janitor currently only supports environments in which software is provided with help of a shared directory (e.g. nfs) to the worker nodes. At first read the the installation instructions for ARC 0.6.1. To use the Janitor some additional perl modules are required: * RDF::Redland (http://librdf.org/) Version 1.0.6 is known to work on Scientific Linux. The Debian Package librdf-perl 1.0.4.1 works fine, too. * Log::Log4perl (http://log4perl.sourceforge.net/) This package is used by the Janitor for logging. It is optional, but without it there will be no logging. On Debian systems install liblog-log4perl-perl. 2. Installation 2.1. Installing ARC After installing the requirements of ARC and the Janitor extract the ARC source code and apply the patch for the Janitor. It can be downloaded from http://dre.knowarc.eu:8080/files/janitor.patch or retrieved via svn with this command: $ svn diff http://svn.nordugrid.org/repos/nordugrid/arc0/branches/janitor -r 6229:HEAD > janitor.patch To apply the patch change to the directory nordugrid-arc-0.6.1 created by extracting the ARC tarball and execute the following command: $ patch -p0 < /PATH/TO/FILE/janitor.patch Then compile and install ARC as described in the ARC documentation. 2.2. Installing the Janitor In the next step the Janitor itself is installed. For this download the Janitors tarball from http://dre.knowarc.eu:8080/files/janitor_342.tar.gz and extract it into e.g. /opt/janitor. Currently the Janitor must be executed as root. For this a suid root helper is needed. It is provided in /opt/janitor/rjanitor.c. If you installed the Janitor in another directory then /opt/janitor change the parameter of the execv command in rjanitor.c. Then compile the file with $ gcc -o rjanitor rjanitor.c and run as root $ chown root:root rjanitor $ chmod u+s rjanitor to make the binary suid root. A future version of the Janitor will get rid of the suid root helper. The Grid Manager does not call the Janitor directly in /opt/janitor but calls /opt/nordugrid/libexec/janitor. So a link is needed (as root): $ ln -s /opt/janitor/rjanitor /opt/nordugrid/libexec/janitor It is suggested to create a user and a group "janitor" for the Janitor. The Janitor needs a directory for storing information on installed REs: $ mkdir -p /var/lib/nordugrid/janitor $ chown janitor:janitor /var/lib/nordugrid/janitor It also needs a directory on the shared volume for installing the REs: $ mkdir -p /janitor $ chown janitor:janitor /janitor 3. Configuring the Janitor The Janitor is only used if there is a [janitor] section in the arc.conf. It looks like this: [janitor] basedir="/opt/janitor" logconf="/opt/janitor/log.conf" registrationdir="/var/lib/nordugrid/janitor" installationdir="/janitor downloaddir="/tmp/ uid="janitor" gid="janitor" allow_base="*tar*" allow_rte="*" For each catalog used by the janitor an additional section is needed: [janitor/] catalog="/path/to/file/knowarc.rdf" Currently only local files are supported. For more information on these options have a look at the arc.conf example. To configure how the Janitor shall write log files have a look at the file /opt/janitor/log.conf 4. Starting Restart the grid-manager and it should work... 5. Further Reading With the Janitor comes a handbook which explains all the details. It can be found in the sub-directory "doc" of the Janitor.