Installing the Worker Node Client via Tarball¶
The OSG Worker Node Client is a collection of software components that is expected to be added to every worker node that can run OSG jobs. It provides a common environment and a minimal set of common tools that all OSG jobs can expect to use. Contents of the worker node client can be found here.
It is possible to install the Worker Node Client software in a variety of ways, depending on your local site:
- Install using a tarball (this guide) - useful when installing onto a shared filesystem for distribution to worker nodes
- Use from OASIS - useful when worker nodes already mount CVMFS
- Install using RPMs and Yum - useful when managing your worker nodes with a tool (e.g., Puppet, Chef) that can automate RPM installs
This document is intended to guide users through the process of installing the worker node software and configuring the installed worker node software. Although this document is oriented to system administrators, any unprivileged user may install and use the client.
Before starting, ensure the host has a supported operating system.
Download the WN Client¶
Please pick the
osg-wn-client tarball that is appropriate for your distribution and architecture. You will find them in https://repo.opensciencegrid.org/tarball-install/ .
- For OSG 3.5:
- For OSG 3.4:
Install the WN Client¶
- Unpack the tarball.
- Move the directory that was created to where you want the tarball client to be.
<PATH_TO_CLIENT>/osg/osg-post-install) to fix the directories in the installation.
- Source the setup
setup.cshdepending on the shell).
- Download and set up CA certificates using
osg-ca-manage(See the CA management documentation for the available options).
- Download CRLs using
The WN client requires a Perl interpreter to be available in
If not present, install by running
yum install perl as root.
osg-post-install is run to relocate the install, it cannot be run again. You will need to unpack a fresh copy.
Example installation (in
[email protected] $ mkdir /home/user/test-install [email protected] $ cd /home/user/test-install [email protected] $ wget http://repo.opensciencegrid.org/tarball-install/3.4/osg-wn-client-latest.el6.x86_64.tar.gz [email protected] $ tar xzf osg-wn-client-latest.el6.x86_64.tar.gz [email protected] $ cd osg-wn-client [email protected] $ ./osg/osg-post-install [email protected] $ source setup.sh [email protected] $ osg-ca-manage setupCA --url osg [email protected] $ fetch-crl
Configure the CE¶
Using the wn-client software installed from the tarball will require a few changes on the compute entrypoint so that the resource's configuration can be correctly reported.
grid_dir in the
Storage section of your OSG-Configure configs: CE configuration instructions.
grid_dir is used as the
$OSG_GRID environment variable in running jobs - see the worker node environment document. Pilot jobs source
$OSG_GRID/setup.sh before performing any work. The value set for
grid_dir must be the path of the wn-client installation directory. This is the path returned by
echo $OSG_LOCATION once you source the setup file created by this installation.
The WN client is a collection of client programs that do not require service startup or shutdown. The only services are
osg-update-certs that keeps the CA certificates up-to-date and
fetch-crl that keeps the CRLs up-to-date. Following the instructions below you'll add the services to your crontab that will take care to run them periodically until you remove them.
Auto-updating certificates and CRLs¶
You must create cron jobs to run
osg-update-certs to update your CRLs and certificates automatically.
Here is what they should look like. (Note: fill in
<OSG_LOCATION> with the full path of your tarball install, including
osg-wn-client that is created by the tarball).
# Cron job to update certs. # Runs every hour by default, though does not update certs until they're at # least 24 hours old. There is a random sleep time for up to 45 minutes (2700 # seconds) to avoid overloading cert servers. 10 * * * * ( . <OSG_LOCATION>/setup.sh && osg-update-certs --random-sleep 2700 --called-from-cron )
# Cron job to update CRLs # Runs every 6 hours at, 45 minutes +/- 3 minutes. 42 */6 * * * ( . <OSG_LOCATION>/setup.sh && fetch-crl -q -r 360 )
You might want to configure proxy settings in
Enabling and Disabling Services¶
To enable the CRL updates, you must edit your cron with
crontab -e and add the lines above. To disable, remove
the lines from the
Validating the Worker Node Client¶
To verify functionality of the worker node client, you will need to submit a test job against your CE and verify the job's output.
- Submit a job that executes the
envcommand (e.g. Run
-dflag from your HTCondor CE)
- Verify that the value of
$OSG_GRIDis set to the directory of your worker node client installation
How to get Help?¶
To get assistance please use this Help Procedure.