0) Be sure your network meets these prerequisite requirements.
This is essential to ensure a stable network so Rush can operate reliably.
It's important machine's hostnames and IP addresses don't change after
casual reboots. IP addresses should be consistent through reboots,
which a well configured static DNS (or /etc/hosts) configuration provides.
1) Check your /etc/hosts file for this common loop back address problem:
2) (LINUX) Make sure the 'selinux' kernel option is off
This is linux-specific.
Unless you know how to configure the selinux kernel option
for your needs, disable it.
How to do this varies from distro to distro; look at your distro's docs
for the correct way to disable selinux. Often it's a setting inside the
/etc/selinux/config file.
Problems selinux can cause: www-rush may give "Permission denied"
errors whenever you click its buttons, e.g.
rush -laj: rush: connect(webserver): Permission denied
ERROR: 'rush -laj' failed [EXIT=1]
This is selinux preventing cgi-bin scripts from initiating new network connections.
3) Choose a local directory to install rush.
It is recommended to use /usr/local/rush.
Login as root, and extract the tar file as:
cd /usr/local
tar xvfzp /tmp/rush-xxxxx.tar.gz
It is important to use the 'p' flag to tar(1), to preserve permissions.
To install Rush on a large network..
First complete all these install steps you're reading
for setting up the first machine, then you can use the Network Install instructions
to set up the rest of the network easily by just copying
the /usr/local/rush directory to the other machines.
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.
Do *not* install the rush directory completely on an NFS drive.
Install it in a local directory on each machine.
Here is why.
For cloud configurations, you may want to install Rush on an NFS server.
But you'll need to make sure at least the rush/var directory is local.
This is because rush read/writes host-specific files to this directory,
and assumes the var dir is unique to each machine. So it must
be local. All the other rush/* subdirs could be symlinks to the server.
4) 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.
5) (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,
or
equivalent. See serverport for an example
entry.
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.
6) Run the install script.
7) Start the daemon, and test it.
Start the daemon by invoking the boot script:
/usr/local/rush/etc/S99rush start
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 errors:
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.:
'/usr/local/rush/bin/rush -ping'.
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:
. /etc/profile,
or from Csh on Mac or Linux:
source /etc/csh.cshrc, or from
Csh on Irix:
source /etc/cshrc
|
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
compat-libstdc++-33-3.2.3-47.3.i386.rpm
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:
/usr/local/rush/examples/test-submit
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.
8) 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
make
desktop shortcuts to the submit scripts, and can bring
up the interfaces properly.
9) (OPTIONAL) Miscellaneous configuration settings.
- Pathname Translations
If you need them, set up "path_convert" commands in the
rush/etc/path_convert file
to configure pathnames in a from/to format. For instance,
converting Windows "Z:/share" paths
to cross platform "//ourserver/share" paths.
- Automatic Drive Mappings (Windows)
If you need them, set up "drive_map" commands in the
rush/etc/path_convert file
to configure drive letter mappings. For instance,
mapping "Z:" to "//ourserver/share".
- Cpu Accounting
By default, Rush maintains a history of cpu utilization information in the
/usr/local/rush/var/cpu.acct file, which is local to each render node.
If you don't want this file to grow too large, you might want to have it
rotated on a monthly basis, eg:
0 0 1 * * root /bin/mv /usr/local/rush/var/cpu.acct /usr/local/rush/var/Ocpu.acct
If, however, you want to keep the cpu accounting data, you can centralize
the data to a file server using the new rush.conf command
cpuacct.dbasedir. This tells
the rush daemons to regularly write the cpu accounting data to a file server,
and rush will regularly update the file info into a date stamped directory
to make it easy to get at the data.
10) (OPTIONAL) Security issues.
11) That's it.
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..