Rush Logo Rush Render Queue - Common Admin Tasks
V 103.08 03/23/16
(C) Copyright 2008, 2015 Seriss Corporation. All rights reserved.
(C) Copyright 1995,2000 Greg Ercolano. All rights reserved.


Common Rush Administration Tasks


   Adding Hosts to Rush  

Preparation

    To add new machines to the rush network, *first* make sure the new machines are configured correctly on the network as per these prerequisites. Some specifics:

    • Make sure they have their own static IP addresses
    • Make sure the hostnames are registered in your name lookup system (DNS, LDAP, NIS, /etc/hosts, etc)
    • Software firewalls: either turn them off, or allow Rush TCP and UDP port 696
    • Macs: make sure the machine's hostname is properly set using the following. In this example, we set the machine's hostname to 'tahoe':
      
      	         scutil --set HostName tahoe
      	     
      ..and then reboot for the hostname to take effect.

      Macs typically have /three/ hostnames. Rush only cares about "HostName", but you can set all three with:

      	         scutil --set ComputerName  newname
      		 scutil --set LocalHostName newname
      		 scutil --set HostName      newname
      	     
      For older versions of OSX that don't support this command, you can put a HOSTNAME=xxx entry in /etc/hostconfig (and reboot).

      The goal of this is to prevent problems with hostname resolution during boot due to delays caused by Rendezvous/Bonjours

    Double check that hostname lookups are working correctly:

    • Verify the new machines are 'ping'able by their hostname:

      ping newhost

      If linux, make sure your /etc/hosts file doesn't have this loopback address problem.

    • If using DNS, verify forward and reverse lookups using 'nslookup' from a DOS or Unix shell:

      echo newhost | nslookup
      echo newhost_ip_address | nslookup

    Also: If your new hosts are Windows machines, be sure to install Perl (from activestate.com) on each.

Installing Rush

    Start on the license server logged in as 'root' (UNIX) or administrator (WINDOWS):

    1) Add the new hostnames to the license server's rush/etc/hosts file, then push your changes to the network.

      You can either use rushadmin:

        a) Click on 'hosts'
        b) Duplicate one of the existing entries, and modify
        c) Hit 'Save'
        d) Hit 'Send'

      ..or use the command line and a text editor to do the same thing, eg:

            Unix/Mac
            vi /usr/local/rush/etc/hosts
            rush -checkhosts /usr/local/rush/etc/hosts
            rush -push hosts +any
      
            Windows
            edit \rush\etc\hosts               -- the DOS 'edit' program
            rush -checkhosts \rush\etc\hosts
            rush -push hosts +any
                
    2) Copy the entire rush directory from a similar platform to the new machines:
           Unix/Mac: rcp -rp /usr/local/rush newhost:/usr/local/rush
            Windows: xcopy /i /e c:\rush \\newhost\c$\rush
    3) Run the install script and start the daemon on each new machine:
           Unix
           rsh newhost /usr/local/rush/etc/bin/install.sh
           rsh newhost /usr/local/rush/etc/S99rush start
           
           Windows
    
               Login as administrator on the new machine, open a DOS window and:
    
    	       a) Run the install script:
    		       
    		       c:\rush\etc\bin\install
    		       
    	       b) Go into Start | Control Panel | Admin Tools | Services | Rushd,
    		  and set the account name and password for the service.
    
    	       c) Start the service:
    		       
    		       net start rushd
    		       
    4) Verify the daemon has started:
    
    	rush -ping newhost1 newhost2 newhost3
           
      If some don't respond, take a look in both the newhost's rushd.log and the license server's rushd.log to see what the error is.

      The most common problems are hostnames not being in ALL the rush/etc/hosts files, or misconfigured IP addresses in either the name lookup system, or the actual static IP config on the machines themselves.

    5) Done.

   Removing Hosts from Rush  

    1) Offline Rush for the machine being removed.

      
             rush -getoff oldhost
             

      This will requeue frames that were rendering to other machines, and prevent new frames from starting, so that you don't have jobs with 'stuck frames' when you disable Rush on the box.

    2) Stop the daemon and disable it from booting.

    Login to the old machine as root, and then:

      a) Stop the daemon:

             UNIX: /usr/local/rush/etc/S99rush stop
          WINDOWS: net stop rushd
      	   

      b) Disable the rushd service.

             Windows
             -------
             Go into Start | Control Panel | Admin Tools | Services | Rushd
             and change the service from 'Automatic' to 'Disable'.
      
             Mac OSX
             -------
             Change the RUSHSERVER entry in /etc/hostconfig from "-YES-" to "-NO-".
             You can either do this manually with vi(1) or pico(1), or just run this
             single shell command:
             
             (echo g/RUSHSERVER=/s/-YES-/-NO-/g; echo wq) | ex /etc/hostconfig
             
             Linux/Irix
             ----------
             chkconfig rush off
      	   

    3) On the license server, remove the old machine from rush/etc/hosts and push the changes to the network.

      You can either use rushadmin(1):

        1) Click 'hosts' (to edit the hosts file)
        2) Remove (or comment out) the entry
        3) Hit 'Save'
        4) Hit 'Send' to update the network

      ..or just edit the file with a text editor and use rush -push:

            Unix/Mac
            vi /usr/local/rush/etc/hosts
            rush -checkhosts /usr/local/rush/etc/hosts
            rush -push hosts +any
      
            Windows
            edit \rush\etc\hosts               -- the DOS 'edit' program
            rush -checkhosts \rush\etc\hosts
            rush -push hosts +any
                

    4) Done.

      Optional: if you don't intend to use Rush again on this machine, you can remove it from the machine's disk drive:

        Unix/Mac
        rm -rf /usr/local/rush

        Windows
        c:\rush\etc\bin\uninstall
        rmdir /s c:\rush

   Configuring Rush Hostname Resolution (Without DNS or /etc/hosts)  

    If your network does not have hostname-to-IP resolution managed by DNS or /etc/hosts, you can use the rush/etc/hosts file to manage the hostname-to-IP lookups by including IP addresses in the rush/etc/hosts file next to each hostname.

    To do this, immediately after each hostname, include '=' followed by the IP address, as shown in blue in the following example:

      Rush 'hosts' file including IP lookups
      
      # CACHE MODES
      daemon-hostcache full
      app-hostcache    demand
      negcachesecs     900
      
      #Host                  Cpus    Ram     MinPri  Criteria/Hostgroups   
      #--------------------- ----    -----   ------  -------------------
      spirit=192.168.1.100   1       100     0       +any
      tahoe=192.168.1.101    1       100     0       +any
      superior=192.168.1.102 1       100     0       +any
      meade=192.168.1.103    1       100     0       +any
          

    Caveats

    On Rush versions 103.05 or older, the rush boot scripts for OSX and Linux/SGI need to have the 'waitlocal' ping check disabled, otherwise you'll see these errors when you try to start the rush daemon:

    
        INIT.D     Local hostname XXX won't resolve (ping: cannot resolve XXX: Unknown host): 10 sec retries
        ..
    	

    To do this, add the single line below shown in red to the rush/etc/S99rush file to short circuit this check:

      
          ..
          'restart')
              # RESTART THE DAEMON
              $0 stop && $0 start
              ;;
      
          'waitlocal')
              exit 0        # ADD THIS LINE
              # WAIT FOR LOCAL HOSTNAME TO RESOLVE CORRECTLY UNDER OSX
              #    Apple is going to get rid of /etc/hostconfig, so we need a way
              #    to make sure the resolver is working correctly before rush starts.
              #
              while [ 1 ]; do
              ..

    In Rush versions 103.06 and up, this modification shouldn't be necessary.