Rush Logo Rush Unix Install Instructions
(C) Copyright 1995,2000 Greg Ercolano. All rights reserved.
V 102.41 02/11/05




Unix Install Instructions
                                                     

  Installing Rush  

  Network Install  
    To install rush on the rest of the network (assuming you've got it working on one machine), you will want to rdist(1) the /usr/local/rush directory to all the machines, start the daemons, and verify they're running.

    Make sure you've disabled any software firewalls on the remote machines that might prevent rush's communications.

  1. Copy the rush directory to the remotes, run install and start commands.

    Make sure /usr/local/rush/etc/hosts contains the names of all the hosts that will be running rushd, including the license server, and that the license.dat file is in place.

    This implies the new machines being added are already in DNS (or whatever system you're using for mananging hostname lookups).

    ALSO, on the new machines being configured, make sure you disable any software firewalls that might prevent rush from communicating before installing Rush.

    Then, release everything to the net, and start the daemons:

      Network Install
        The new install script can greatly simplify installation; it handles the platform
        specific stuff, and simplifies things down to single rdist(1) and rsh(1) commands:
        
        # IRIX REMOTES
        foreach i ( octane1 octane2 octane3 octane4 )
            rdist -c /usr/local/rush ${i}:/usr/local/rush
            rsh $i /usr/local/rush/etc/bin/install.sh \; /etc/rc.d/init.d/rush start       
        end
        
        # LINUX REMOTES
        foreach i ( linux1 linux2 linux3 linux4 )
            rdist -c /usr/local/rush ${i}:/usr/local/rush
            rsh $i /usr/local/rush/etc/bin/install.sh \; /etc/rc.d/init.d/rush start
        end
                          

      Old Network Install Commands
        These are the *old* install commands, here only for reference.
        It's up to you to automate adding /usr/local/rush/bin to the system PATHs:
        
        # OLD INSTALL COMMANDS: IRIX REMOTES
        foreach i ( octane1 octane2 octane3 octane4 )
            rdist -c /usr/local/rush             ${i}:/usr/local/rush
            rdist -c /usr/local/rush/etc/S99rush ${i}:/etc/init.d/rush      
            rsh $i ln -s /etc/init.d/rush /etc/rc2.d/S99rush
            rsh $i ln -s /etc/init.d/rush /etc/rc0.d/K01rush
            rsh $i /etc/init.d/rush start
        end
        
        # OLD INSTALL COMMANDS: LINUX REMOTES
        foreach i ( linux1 linux2 linux3 linux4 )
            echo -n Working on ${i}: dist..
            rdist -c /usr/local/rush             ${i}:/usr/local/rush
            rdist -c /usr/local/rush/etc/S99rush ${i}:/etc/rc.d/init.d/rush
            rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc3.d/S99rush
            rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc5.d/S99rush    
            rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc0.d/K01rush
            rsh $i ln -s /etc/rc.d/init.d/rush /etc/rc.d/rc6.d/K01rush
            rsh $i /etc/rc.d/init.d/rush start
        end
                

  2. Verify all the daemons have started.

    You can 'ping' all the daemons in the rush/etc/hosts file:

      rush -ping +any -t 5

  3. Check the daemon logs for errors.

    Common errors (and their soultions) can be found in the Admin FAQ.

  Network Install: Disk Cloning  
    If you are setting up a large farm, often you set up the software on one machine, then 'clone the disk' to all the other machines.

    With rush, the idea is to ensure the /usr/local/rush/var directory is empty on all the cloned disks, so that the daemons on the cloned machines don't inherit stale files from the master (eg. old accounting logs, job checkpoint files, daemon logs with irrelevant error messages), as these files will negatively interfere with the cloned machines:

      Preparing A Master Disk To Be Cloned
        The following commands will prepare the cloning 'master disk';
        shut down the rush daemon on this machine so that all files in
        the /usr/local/rush/var directory are closed, then clear out the
        'var' directory completely by removing and re-creating it. Run these
        commands as root:
        
        /etc/init.d/rush stop
        rm -rf /usr/local/rush/var
        mkdir -m 755 /usr/local/rush/var
        	    

        The disk is now ready to be cloned.

        You can shut down the machine, but do not reboot it using this drive,
        or the daemon will start automatically, and the /usr/local/rush/var
        directory will have to be cleared again with the above commands.

    That should be all you need to do.

    If you made a mistake, and forgot to clear the /usr/local/rush/var directory, and cloned an entire farm accidentally, then run these cleanup commands with the farm running:

      Forgot To Do Preparation Steps? How To Clean Up
        If you forgot to prepeare the master disk for cloning, you can fix up the farm by running these commands as root:
        
        foreach i ( farm1 farm2 farm3 .. farm99 )
            echo -n Working on ${i}:
            rsh $i /etc/init.d/rush stop 
            rsh $i rm -rf /usr/local/rush/var
            rsh $i mkdir -m 755 /usr/local/rush/var
            rsh $i /usr/local/rush/etc/bin/install.sh
            rsh $i /etc/init.d/rush start
        end
        	    

        This will clean up a farm that was accidentally cloned with left over files in the /usr/local/rush/var directory.

  Installing www-rush  
To use www-rush, the web GUI interface for rush, make sure *one* of the rush machines is also running a web server (like Apache). You would only need to the following config on the web server.

  1. Copy the www-rush perl script to the webserver's 'cgi-bin' directory.
    
        cp /usr/local/rush/cgi-bin/www-rush /usr/local/apache/cgi-bin
    
  2. Install the www-rush documentation in the 'htdocs' directory.
    
        cp -rp /usr/local/rush/html/www-rush /usr/local/apache/htdocs/www-rush
    
  3. Test it by opening Netscape to the URL for the script.
    
        http://yourserver.com/cgi-bin/www-rush
    
  4. Customize the www-rush script's variables if need be.
    Usually the defaults work fine, but sometimes the variables at the top of the www-rush script will need to be modified to help it know about your web server's environment.

  Uninstalling Rush  

    1) Kill the daemon: 

           killall rushd

    2) Remove the entire /usr/local/rush directory: 

           rm -rf /usr/local/rush

    3) Remove the boot scripts: 

           rm /etc/init.d/rush /etc/rc?.d/[SK]??rush