0) Be sure your network meets these prerequisite requirements.
1) Check your /etc/hosts file for this common loop back address problem:
2) Choose a local directory to install rush.
This is essential to ensure a stable network so Rush can operate reliably.
It's important machines don't change their hostnames or IP addresses
after normal reboots, and that IP address lookups are consistent throughout
reboots which a consistent local DNS (or /etc/hosts) configuration provides.
It is recommended to use /usr/local/rush. Extract the tar file as:
gunzip -c /tmp/rush-xxxxx.tar.gz | tar xvfp -
It is important to use the 'p' flag to tar(1), to preserve permissions.
To install the system on a large network, first install the software
on the license server(s) and get everything working, then follow the
Network Install instructions below.
If you install rush in another location, then you must be sure the $RUSH_DIR
environment variable points to the directory, and this variable must be set
a) before the daemon is started and b) in all user environments. You will
make life easier if you install rush in /usr/local/rush.
WARNING: As with all daemons and their config files,
do *not* install the rush directory or binaries on an NFS drive.
Keep rush binaries and config files local on each machine. Here is why.
3) Configure the /usr/local/rush/etc/hosts file
It should contain the
names of all hosts that participate in rendering.
See Hosts File for descriptions of each field.
4) (OPTIONAL) Configure the /usr/local/rush/etc/rush.conf file.
For most situations the defaults suffice.
Be sure to register your settings for serverport in /etc/services,
equivalent. See serverport for an example
If security is an issue at your site, be sure to check ALL
settings, esp. UidRange and GidRange.
Also, correctly configure AdminUser
for your environment. Read about these before accepting the defaults.
If you want to make changes, see the
Rush Configuration File
documentation for more info.
5) (OPTIONAL) Configure the /usr/local/rush/etc/templates file.
template render/submit scripts for your local environment. TDs use these
templates to create their submit scripts and render scripts via 'rush -tss/-trs',
and they will want to inherit settings for typical situations.
6) (OPTIONAL) Configure the /usr/local/rush/etc/.submit and /usr/local/rush/etc/.render files.
7) Run the install script.
8) Start the daemon, and test it.
Start the daemon by invoking the boot script:
Then open a *new terminal window* and use 'rush -ping' to verify the daemon's running:
Testing The Daemon
% rush -ping
yourhost: RUSHD 102.42 PID=XXXXX Boot=10/15/00,03:25:49 Online, 0 jobs, 0 procs
Possible Error Messages
rush: command not found
This means you might have:
- Not opened a new terminal window before running 'rush -ping'
- Forgot to run the install script
- Terminal windows using a default shell other than sh/bash/csh/tcsh
- New windows that are not picking up the settings from the
/etc/profile or /etc/csh.cshrc files. Add /usr/local/rush/bin
to your PATH, then try the 'rush -ping' command again. Or use the
complete path to invoke the command, e.g.:
Under some window managers, opening a new window doesn't source shell
rc files (/etc/profile, etc) unless you log out, in which case you can source
the files manually to avoid logging out, eg. from Bash:
or from Csh on Mac or Linux:
source /etc/csh.cshrc, or from
Csh on Irix:
libstdc++.so.5: cannot open shared object file
(Linux specific) You probably downloaded the wrong tar file
for the platform you're running on. In some cases this can happen
if you don't have the 'compatibilitiy libraries' installed.
For instance, you can run the redhat9 binaries on RHE4/FC4
if you install
from the install cds.
rresvport(): Permission denied
Example context might be:
% rush -ping +any -t 5
rodin: rush: rresvport(): Permission denied
bacon: rush: rresvport(): Permission denied
Make sure the SUID bit on the rush(1) binary is enabled,
and make sure the owner is root:
chmod 4755 /usr/local/rush/bin/rush
chown 0.0 /usr/local/rush/bin/rush
Connection refused or other such errors..
Check the daemon logs for problems, eg:
tail -f /usr/local/rush/var/rushd.log
To test if the daemon is working, you can run this test submit script,
just to verify jobs can be started, listed, and dumped:
To submit a real job, similar to what TDs use, you can run
this test which includes
complete instructions for someone who has never used rush before.
9) Install the submit scripts for the users
Use these instructions to
install the submit scripts on your file server.
Then login as a normal user, and verify you can
desktop shortcuts to the submit scripts, and can bring
up the interfaces properly.
10) (OPTIONAL) Setup accounting log rotations.
Make a crontab entry that runs on a nightly basis that rotates out
the cpu accounting information. The simplest would be:
Once you have things working on the first machine, then you can easily install
rush on the rest of the machines. See 'Network Install' below..