Weekends or mornings are generally a good time to do upgrades.
Here's a brief summary of the upgrade process:
Upgrade the rest of the network
1) Make sure no jobs are running.
o Go into Irush, and click 'All Jobs'.
o Highlight all jobs running, and click the 'Dump' button at the left.
o Repeat 'All Jobs' until no jobs are running.
2) Stop rushd on the license server
net stop rushd
3) Rename out the old version on the license server
You'll first need to make sure no Rush programs are running,
or the rename will fail with 'File in use by another process'
or similar error.
First close irush, onrush, rushtop, etc, and make sure 'rush.exe'
and/or 'rushd.exe' are not in the tasklist, otherwise the rename will fail.
move c:\rush c:\rush.MM-DD-YYYY
4) Extract the new version onto license server in C:\RUSH
5) Copy over old files
copy /y c:\rush.MM-DD-YYYY\etc\hosts c:\rush\etc
copy /y c:\rush.MM-DD-YYYY\etc\license.dat c:\rush\etc
6) Manually merge your changes from the old rush.conf file (do not copy the old rush.conf over the new!)
Visually compare the c:\rush.MM-DD-YYYY\etc\rush.conf file to the
new c:\rush\etc\rush.conf file, and check for customizations you know
you need to keep. (Or use a tool like WINDIFF or XDIFF to compare the files)
The most common rush.conf commands to customize:
ntrushuid \___ Used in mixed environments of Windows and Unix.
ntrushgid / Tells rush what uid/gid to use when running Windows submitted jobs.
forceuid \___ Used to force renders to run as a specific uid/gid
forcegid / on unix machines. (OPTIONAL)
smtpserver \___ Used for rush's mail delivery.
smtpfrom / Set to your mail server, and the 'from' email address for rush emails.
permit ---- Sets the names of users who can administer rush
See the complete rush.conf documentation for more info.
(The documentation shows new or modified commands with red stars)
7) Run the install script
c:\rush\etc\bin\install
8) Start the daemon, verify running OK
net start rushd
Then ping the daemon to see if it started:
rush -ping
If you get any errors, check the rushd.log:
more c:\rush\var\rushd.log
9) Stop rush on all machines
rush -dexit +any -t 5
10) Install new version on each machine
The easiest way to do this is to pick a machine that has the
new version successfully installed (usually the license server),
and use xcopy to distribute the new version to the network:
for %i in ( hosta hostb hostc .. ) do move \\%i\c$\rush \\%i\c$\rush.MM-DD-YYYY
for %i in ( hosta hostb hostc .. ) do xcopy /e /i c:\rush \\%i\c$\rush
Then restart rush on each machine. If you have rshd configured
on your network, this should be easy to do:
for %i in ( hosta hostb hostc .. ) do rsh %i net stop rushd
for %i in ( hosta hostb hostc .. ) do rsh %i net start rushd
11) Verify entire network is up.
When you're done, check your work with:
rush -ping +any
..all machines should reply with the NEW version number.
Any that don't, recheck the install manually.
If a machine complains about 'bind(): address in use' for more
than 2 minutes, you may need to reboot that machine.
BACKOUT PROCEDURE
In the event you need to back out the new release, just stop the daemon
on all machines, rename back the old directory, and restart.
Again, start with the license server.