(C) Copyright 2008, 2016 Seriss Corporation. All rights reserved.
(C) Copyright 1995,2007 Greg Ercolano. All rights reserved.

Green -- Nice features
Orange -- Useful bug fixes
Red -- Critical bug fixes

Release Notes
Current Release Latest: 103.07b, 103.07, 103.06, 103.06rc1, 103.06-pre2, 103.06-pre, 103.05, 103.04, 103.03, 103.02, 103.01, 103.00
Previous Releases 102.42a9d4, 102.42a9d, 102.42a9c, 102.42a9b, 102.42a9a, 102.42a9, 102.42a8, 102.42a7, 102.42a6, 102.42a5, 102.42a4, 102.42a3, 102.42a2, 102.42a, 102.42
102.41, 102.411, 102.412, 102.413
102.40g 102.40g2, 102.40g3
102.40f 102.40f2, 102.40f3
102.31p 102.31p2
102.31m, 102.31m1, 102.31m2, 102.31m3, 102.31m4

103.07b (103.07a1 + Backport of select 103.08 Fixes/Features) 05/10/16 _______________________________________________________________________________
o rush -status: fixed how rush reports Swap space on OSX machines. This affects rushtop too. o www-rush: double click feature added to www-rush Jobs and Frames reports: > Double click a job: sets the "current jobid" and shows Frames report for that job > Double click a frame: shows the frame log for that frame o rushtop: no longer shows "X" when swap on OSX is zero. Also: Added swap size to display, since esp. on OSX, swap can change size dynamically. o rush -bootcheck: added as a new flag, as a simple 'bootcheck' command (invoked by rushd via rush.conf) to check the machine's IP, hostname, and ping to self, to ensure rush starts successfully esp. on Windows. Enabled by default in rush.conf with bootcheck_cmd. o OSX 10.11: fixed "must install as root" issue with (Old releases complained even when logged in as root.) This works around an apparent new bug in OSX's test(1) function. o WINDOWS: Fixed problem with the bootcheck script not having its output automatically redirected to the rushd.log. ('HANDLE out' was being shadowed) o WINDOWS: install.bat runs straight through without 'pause' for user input. (Makes it easier to automate installs) o LINUX: Mods for systemd in centos 7.2. The new systemd in the 7.2 update doesn't like the double symlink (/etc/rcX.d/rush -> /etc/init.d/rush -> S99rush). For details, see: o perl submit scripts: small mods to Tab names and main page layout small improvements to verbose messages for -ljf during rendering o python submit scripts: o Changed all scripts: -- #!/usr/bin/env python -B -> #!/usr/bin/python -B -- added DependOn -- python3 support (has_key(), print(), except, self->scriptpath..) -- Removed force SetLogtrimAlways(0) in Init() o submit_afterfx -- License error checks added + improved -- New "License behavior": added Sleep+Retry option o submit_blender -- added o submit_timeshaper -- numerous mods for Billy Lynn o README-webserver-config.html: additional info for apache configs o python/lib: -- Added (instinctual) -- -- mods to support python3
103.07a1 (Fixes/Features) 01/28/16 _______________________________________________________________________________
o Fixed bug in new use_acctlogdir (accounting was only written when rendernode == jobserver)
103.07a (Fixes/Features) 07/20/15 _______________________________________________________________________________
o Added a render accounting feature to keep a log in the job's log directory to keep track of each frame's render attempt, including requeues, killed via priority battles, etc. Added rush.conf "use_acctlogdir" (ZOIC/ROMEY, EMAIL 07/20/15)
103.07 (Fixes/Features) 05/21/15 _______________________________________________________________________________
RUSH o Sped up 'rush' cli startup time when one or more hosts won't resolve in rush/etc/hosts file The new fast hostname lookup code was causing all hosts in the hosts file to be resolved, and this was on even for the 'rush' application code. o Speed up 'rush' frame startup times Changed how internal 'Intermediate Process' works to prevent triggering unneeded rush.conf + hosts file loads. O 'rush -push' fixed a bug with how files are pushed Problem would show up intermittently where 'rush -push' could sometimes give the error: somehost[hosts]: 'push hosts' failed: client sent #####, server got uncompressed size ##### ..where the "#####" values are not the same. (Off by one or more) The fix should solve this problem. (GENER8/H.YANG 04/06/15) o 'rush -laj' and 'rush -lac': defers bad hostname lookup errors to /end/ of report, so as not to screw up irush "All Jobs"/"All Cpus" report headers o 'rush -tasklist' added -x flag for 'extra info'. Currently this includes "[This host cpus=0]" in the NOTES field if the machine's cpus are disabled. o Removed rush_eval scripts RUSHTOP o Fixed problem introduced in 103.05 where resizing/repositioning the rushtop window would loose the scroll position. Fixed in 103.07. IRUSH o Fix "Jobs -> Requeue Job's.. -> frames" menu item to instead read ".. -> All Frames" o Fix subtle problem with '# items selected' counter not always showing up during a selection (Had to click+release on one item first, then drag selection would work) o irush can now find columns by their header names now, instead of position-specific. This helps custom reports be able to reposition columns for Jobid/Status/Frame without breaking irush features such as report coloring or double-clicking jobs to pick them. Header names are used to find fields now, and will match regardless of case (e.g. "FRAME" or "Frame" will work) PYTHON SCRIPTS o added, with shotgun support, python2+3 o added shotgun support, python2+3 o added o added o added o Application wrapper checks if #! line of python scripts include the -B flag, and if so, set that flag during invocation, to allow prevention of .pyc file creation o Added rush-gui-tail tool to aid in debugging shotgun background tasks. Tails log files, includes optional color coded line match patterning. o TODO: python2+3 conversion of all submit scripts o Ran 'pychecker' on all python code, applied fixes INTERNALS o MyFile class: removed dependence on rush.conf and rush hosts (so it can be used by new IntermediateProcess class)
103.06 BUILD 03/24/15 (Fixes/Features) 03/24/15 _______________________________________________________________________________
RUSH o Fixed threading bug with cpuacct.dbasedir This caused daemons to crash while writing logs to the server. With older 103 versions (before the fix), avoid configuring the rush.conf cpuacct.dbasedir command to write to a server if you are experiencing problems with daemons crashing. e.g. ======= Backtrace: ========= /lib64/[0x3e57076126] /lib64/[0x3e57079ba4] /lib64/[0x3e5707a951] /usr/local/rush/bin/rushd[0x4821a1] -- MALLOC /usr/local/rush/bin/rushd[0x485527] -- STRING APPEND /usr/local/rush/bin/rushd[0x485f8a] -- STRING /usr/local/rush/bin/rushd[0x550cb6] -- AcctNetlogWriteToServer::String /usr/local/rush/bin/rushd[0x551555] -- AcctNetlogWriteToServer::List_String /usr/local/rush/bin/rushd[0x551f03] -- AcctNetlog::ChildThread /lib64/[0x3e57807851] /lib64/[0x3e570e894d] o 'rush -status': if swap data unavailable (e.g. Tiger), show all zeroes for 'S' (instead of an 'X' error) o rush -status: hostname lookup errors in rush/etc/hosts file no longer prevent multihost reports from completing. o Made some changes to many of the rush command flags to make sure hostname lookup errors in the rush/etc/hosts file don't prevent entire reports from being printed. (Added a new -foe flag (Fail On Error) to enable this if desired) This was preventing rushtop from working if one or more hosts in rush/etc/hosts didn't have proper IP lookups. RUSHTOP o Fixed a problem where rushtop would show "END OF DATA" if one or more hosts in the +any group have bad IP lookups (i.e. not configured in DNS). o Errors with hostname lookups are shown inside the rushtop interface o Small cosmetic mods to how errors are shown inside rushtop o Font size changes (+/-) affect error messages too o Shows red 'X' for swap if swap data unavailable o Ctrl-click can post popup menu (for one button mouse) IRUSH o Hotkeys now have their own column width 'memory' for each hotkey report. So if you create three different custom Jobs reports, each with special columns of data, resizing the columns in one report won't affect the column sizes in the other. Changes are saved so when you reopen irush, the column widths are remembered. o Fixed some broken documentation links in the Hotkeys -> Edit -> Help docs. (The hotkeys tutorial docs had somehow gone AWOL..) o Fixed a problem with ^C not copying text from help viewers. (FLTK bug) PYTHON LIBS o All python scripts + libs modified to simultaneously support python 2 and 3 INTERNALS o String class thread safety: removed statics from Append(), Sprintf(), SprintfCat(). o Task: now has FIFO_ORDER
103.06rc1 (Fixes/Features) 02/19/15 _______________________________________________________________________________
RUSH o OSX 10.10 Yosemite support. Mods were needed to the bootscripts and daemon since "StartupItems" has been abandoned by Apple in favor of "LaunchDaemons". Also, all GUI programs needed mods to prevent a bug in Yosemite's handling of environment variables provided to GUIs from the Finder. (Duplicate environment variables) o Added -json flag to 'rush -lj' and 'rush -ljf' Examples: $ rush -lj -json { "Jobs": [ { "Jobid": "yosemite.1", "State": "Done", "ActState": "Done", "RebootId": "2052", "Title": "MAYA-foo", "DefPriority": "1", "LogDir": "//eagle/net/tmp/scenes/", "LogExt": "-", ((..long report snipped..)) } ] } $ rush -lj -json -fmt "Jobid Frames Owner" -- only show Jobid/Frames/Owner from report { "Jobs": [ { "Jobid": "yosemite.1", "Frames": "5000", "Owner": "render" } ] } o rush: Fixed range check with 'rush -reorder' If the same frame is specified more than once, it could crash the daemon. Example: with a simple 10 frame job (1-10), the crash could be induced with: rush -reorder 1-10,5 1-10 tahoe.123 -fu In older verisons (103.06rc1 and older), be careful with 'rush -reorder' to make sure you don't specify frames more than once. For the above, the 'correct' version of the command would be: rush -reorder 1 6 2-5 7-10 tahoe.123 -fu o rush: Fix negative floating point frames issue (reported by e.g. "-100.3" would show up as "-98.3", the integerized fraction was being combined without taking into account the sign of the integer part. Problem was in FrameType::Parse(). - MICHAEL/SPYPOST (103.06rc1) o Added '*' to cpu specifications (e.g. "tahoe=*") This is a way to request all cpus a machine is configured to use, instead of having to specify the value in advance. Example: if 'tahoe' has 8 cpus configured in rush/etc/hosts, then "tahoe=*@100" expands to "tahoe=8@100". This has no meaning for +hostgroups, which do this automatically for each host, and the number after the '=' represents a cap for the whole group. o rushd: added -fg flag Necessary for OSX 10.10 (Yosemite) which abandoned /Library/StartupItems in favor of /Library/LaunchDaemons/ style boot, which insists on daemon running in foreground. o rush -checkhosts: improved to show multiple errors (instead of stopping on first one), e.g. $ rush -checkhosts rush: 'rush -checkhosts': /usr/local/rush/etc/hosts: Line 43: host ea[] already in hosts file as eagle[] rush: 'rush -checkhosts': /usr/local/rush/etc/hosts: Line 44: 'eagle[]' and 'eagle[]' have same host alias 'eagle' rush: 'rush -checkhosts': /usr/local/rush/etc/hosts: Line 44: host eagle[] already in hosts file as eagle[] rush: 'rush -checkhosts': /usr/local/rush/etc/hosts: Line 45: gethostbyname(foobar): unknown host -- may be negative cached rush: 'rush -checkhosts': Two hosts 'eagle' and 'ea' have the same IP: $ echo $status 1 o rush -checkhosts: now checks for: o Duplicate hostnames, e.g. two different hostnames that are aliases for the same host and IP) o Duplicate hostname aliases o Duplicate IPs o Failed hostname lookups o rush/var/cpu.acct report now includes two new fields in the 'p' entries: pre-103.06: p start-time() jobid title owner frame hostname pri elapsed systime usrtime exit/sig pid 103.06: p start-time() jobid title owner frame hostname pri elapsed systime usrtime exit/sig pid ram/tot_ram cpuslots Specifically: p start-time jobid title .. pid ram/tot_ram cpuslots ----------- -------- | | | # cpus configured in rush/etc/hosts | for current rendernode at the time | this job ran. | Amount of ram job requested / total ram configured in the rush/etc/hosts for this machine. Old parsers unaware of these two new fields should be unaffected, as they should simply ignore the added fields. New parsers can make use of the new info when doing ram and cpu usage calculations. o 'rush -showconf': added 'permit_fifo_order' to report, so that the configured value of the new permit 'fifo-order' option can be viewed. o 'rush -ljf': added new 'Fix' field to show 'Frame IndeX' values. (Mostly for internal use) o New rush.conf options: permit ------ Added new 'fifo-order' option, so that fifo reordering with the new 'rush -fifo-order' flag can be limited to certain users, e.g permit { .. online,offline,getoff,kill,almighty,fifo-order: { .. } } cpuacct_ramcpus --------------- Controls the two new fields added to 'p' lines of the cpu.acct file. The default is 'on'; can be turned off to disable the new fields. Example: pre-103.06: "p (start-time) (jobid) (title) (owner) (frame) (hostname) (pri) (elapsed-secs) (systime-secs) (usrtime-secs) (exit)/(sig) (pid)" new: "p (start-time) (jobid) (title) (owner) (frame) (hostname) (pri) (elapsed-secs) (systime-secs) (usrtime-secs) (exit)/(sig) (pid) (ram)/(total-ram) (cpu-slots)" ..where the new fields are: (ram) -- The amount of ram the job requested to use at submit time, or has set with the 'rush -ram <jobid>' command. (total-ram) -- The total ram configured in the rush/etc/hosts file at the time the frame was rendering. Useful to determine if the RAM value in the rush/etc/hosts file was changed. (cpu-slots) -- The CPUS value in the rush/etc/hosts file at the time the frame was rendering. Useful to determine if the CPUS value in the rush/etc/hosts file was changed. ..these new values help scripts tally cpu utilization more accurately when changes are made to the rush/etc/hosts file over time. The default is enabled, since old parsers unaware of these two new fields should be unaffected: they should simply ignore any extra fields on the line it doesn't know how to parse. New parsers can make use of the new info when doing ram and cpu usage calculations. notes_use_udp ------------- Controls if 'rush -notes' uses new low latency UDP or older TCP messaging. Default is 'on' to use new low latency 'rush -notes' reporting. Can be turned off to revert to use the older TCP protocol. ip_reportbad ------------ This option controls how bad hostnames are reported in the daemon logs. This feature is enabled by default so that bad hostname lookups are reported in the daemon log. Can be disabled if such errors get too chatty. fmt_keys_103_06 --------------- This option cleans up how the 'rush -ljf' report handles the special expansion of these two fields: JobData[string] Notes[string] This flag is on by default to make the output more predictable, but can be disabled if the 'predictable output' breaks old behavior. fifo_reset_flags ---------------- Controls what happens to the FIFO priority when a job finishes. The current two supported values: RUSH_FIFO_RESET_JOBDONE ----------------------- This is the default, resets the FIFO priority when the job is done so that if frames are requeued, the job will re-enter the queue as if it had just been submitted. (So that the job won't immediately take over the network due its seniority) This is usually preferred to prevent users from keeping old jobs around just to requeue frames so as to have FIFO priority over jobs more recently submitted. RUSH_FIFO_RESET_NEVER --------------------- This causes the job to never reset its FIFO priority; the FIFO priority sticks with the job even after it is done, such that requeued frames will run with the same FIFO seniority the job had when it was first submitted. This perhaps unfairly allows users to keep requeing old jobs and retain their old FIFO schedule ordering, which will always usurp all younger jobs. The longer such jobs stay in the queue, the more FIFO priority they'll have when frames are requeued. o rush: Added -key to -jobdata and -jobnotes Allows changing values by keyname. % rush -jobdata -key TD_NOTES 'Director approved.' tahoe.123 tahoe.123: jobdata for 'TD_NOTES' is now 'Director approved.' o rush: fixed issue with 'rush -ljf -fmt' for resolving e.g. 'JobData[string]'. Didn't work at all in 103.05, now works correctly: $ rush -ljf zoar.99 -fmt 'JobData' <-- show the raw data JobData[0]: SHOW:big_job <-- no space after : in data JobData[1]: SHOT:sc37a <-- no space after : in data JobData[2]: TAKE 200a <-- no : just space JobData[3]: CAMA <-- no delimiter for 'CAM' JobData[4]: LOO <-- empty string 'LOO' JobData[5]: SCENE: scn48 <-- has : and trailing space The proper use is e.g. "SHOW:big_job" and "SCENE: svn48" which shows the proper use of job data where key and value pairs are separated by a colon so that indexing with e.g. "JobData[SHOW]" and "JobData[SCENE]" will work correctly. Pathological cases are also shown ("TAKE 200a" and "CAMA") and the behavior for those: $ rush -lj zoar.99 -fmt 'JobData[SHOW:]:-14 JobData[SHOT:]:-14 JobData[SHOW]:-14 JobData[SHOT]:-14 JobData[SCENE]:-14 JobData[TAKE]:-14 JobData[CAM]:-14 JobData[LOO]:-14' JobData[SHOW:] JobData[SHOT:] JobData[SHOW] JobData[SHOT] JobData[SCENE] JobData[TAKE] JobData[CAM] JobData[LOO] big_job sc37a big_job sc37a scn48 200a A - $ rush -ljf zoar.99 -fmt 'JobData[SHOW:] JobData[SHOT:] JobData[SHOW] JobData[SHOT] JobData[SCENE] JobData[TAKE] JobData[CAM] JobData[LOO]' JobData[SHOW]: big_job <-- handles ending : in index JobData[SHOT]: sc37a <-- handles ending : in index JobData[SHOW]: big_job <-- handles no : in index JobData[SHOT]: sc37a <-- handles no : in index JobData[SCENE]: scn48 <-- handles not showing leading white after : JobData[TAKE]: 200a <-- handles no : in data, no leading whitespace JobData[CAM]: A <-- handles partial indexing normally JobData[LOO]: <-- handles empty string Made 'Notes' behave consistently as well: $ rush -ljf zoar.99 -fmt Notes Notes[0]: SHOW:big_job Notes[1]: SHOT:sc37a Notes[2]: TAKE 200a Notes[3]: CAMA Notes[4]: LOO Notes[5]: SCENE: scn48 $ rush -lj zoar.99 -fmt 'Notes[SHOW:]:-14 Notes[SHOT:]:-14 Notes[SHOW]:-14 Notes[SHOT]:-14 Notes[SCENE]:-14 Notes[TAKE]:-14 Notes[CAM]:-14 Notes[LOO]:-14' Notes[SHOW:] Notes[SHOT:] Notes[SHOW] Notes[SHOT] Notes[SCENE] Notes[TAKE] Notes[CAM] Notes[LOO] big_job sc37a big_job sc37a scn48 200a A - $ rush -ljf zoar.99 -fmt 'Notes[SHOW:] Notes[SHOT:] Notes[SHOW] Notes[SHOT] Notes[SCENE] Notes[TAKE] Notes[CAM] Notes[LOO]' Notes[SHOW]: big_job Notes[SHOT]: sc37a Notes[SHOW]: big_job Notes[SHOT]: sc37a Notes[SCENE]: scn48 Notes[TAKE]: 200a Notes[CAM]: A Notes[LOO]: IRUSH o Jobs report now has a single operation to requeue failed frames of multiple selected jobs in a single operation: 1) Select jobs from the Jobs report with Fail frames 2) Right-click and choose: Requeue Selected Jobs.. -> Fail In older versions of Irush you had to do these steps for the same effect: 1) Select jobs from the Jobs report with Fail frames 2) Hit "Set Jobid" (this sets the RUSH_JOBID environment variable) 3) Run the following in the "Cmd" field: rush -que fail ..which uses the RUSH_JOBID environment variable This new "Requeue Selected Jobs.." menu option also includes ways to reuqueue "Done", "Hold", "Run" and "All Frames". o The "Search filter" field's values are now saved across invocations of irush in ~/.irush-search file. The file is loaded when irush starts, and updated whenever the user types a new value into the Search field. o When "Jobid:" field is hand-modified, report highlighting updates correctly - FLOQFX x/x/14 o Minimum size of lower tty now 100px fixed (instead of 25% of window) - FLOQFX 11/25/14 o "Priority +/-" button now restores 'All Jobs' report correctly. - FLOQFX 11/25/14 (Previously a standard 'rush -laj' report was shown, absent the new extended fields, e.g. "Priority", "Progress", "Render Time", etc) o Changed progress bar color 'Orn' (Hold) to contrast more from 'Red' (Fail) - FLOQFX 11/0x/14 o Fixed OSX stray tooltips popping up sometimes when guis iconified/stowed. - FLOQFX 11/2x/14 o Changed column cropping algorithm to avoid clipping issues with some fonts - FLOQFX 11/24/14 o irush/Mac: Ctrl-Click can now be used to bring up context menus so that old apple computers missing Right Click mice can still access the context menus via the Ctrl key. An option was added to Edit -> Preferences -> Ctrl-Click Menus FLOQFX 11/xx/14 o Fixed problem with report clearing before selected jobs/frames recorded into the IRUSH_FRAMES and IRUSH_JOBS variables before hotkey would run. - SWISS 09/29/14 o Windows: fixed problem specifically on Windows where irush hotkeys were setting the environment variable IRUSHFRAMES instead of IRUSH_FRAMES. - CODE AUDIT 12/11/14 o Linux: added taskbar icon ONRUSH o Linux: added taskbar icon that reflects online/offline state DOCS o Improved docs for "user" command (in rush-submit-cmds.html) o Removed "New in 102.xx" comments in rush-submit-cmds and rush-conf, replaced with "Historical Notes".
103.06-pre (Special release for Zoic tests) 12/10/14 _______________________________________________________________________________
RUSH o rush: Fixed crash if "app-cachemode none" specified in rush/etc/hosts file An endless loop is avoided when caching is disabled. o 'rush -notes' changed to use UDP. Allows one to (finally) use 'rush -notes' during rendering without latency concerns. (this feature can be disabled via the rush.conf command: "notes_use_udp 0" ) o rush: added 'rush -fifo-order' option to let users redefine FIFO ordering. Examples: rush -fifo-reorder 06/13/14,21:20:30 [jobid..] # m/d/y,h:m:s (same format -ljf reports) rush -fifo-reorder 1234567890 [jobid..] # unix time(2) value o rush: Fixed issue with FIFO reset on job Done not getting to cpuserver's scheduler Fix: "Unpass" now piggybacks new FIFO value to nodes when job restarted. -- JESSE@ZOIC 06/13/14 o rush: Fixed issue with 'rush -uping'; the '-c #' and '-b #' options would always print an index error, and abort. This problem has been around for a long time. -- S.PARKER/SONY 06/05/14 o rush -checkhosts and -checkconf: simplified output format.. > Removed redundant ALERT messages > '-checkhosts' only prints the total hosts loaded if there were no errors Examples -- note the '***' lines were removed: OLD: $ rush -checkhosts /tmp/foo rush: ALERT /tmp/foo: Line 3: expected 'app-hostcache none|demand|full' *** rush: 'rush -checkhosts': /tmp/foo: Line 3: expected 'app-hostcache none|demand|full' 0 hosts in /tmp/foo *** NEW: $ rush -checkhosts /tmp/foo rush: 'rush -checkhosts': /tmp/foo: Line 3: expected 'app-hostcache none|demand|full' o rush -lj -fmt: jobdata[XXX] now removes the XXX prefix from the printed string so if you have "jobdata Scene=foo' then 'rush -lj -fmt "JobData[Scene=]"' will print 'foo' instead of 'Scene=foo' o Added RUSH_INDEXHINTS variable to renders; helps 'rush -notes' avoid linear lookups on the jobserver for jobs + frames in the common use case where one is changing the same frame that is being rendered. o Fixed 'rush -tail -f'.. wasn't detecting new file data properly on unix. (Worked OK on Windows) o rush/etc/rush.conf: > Added 'fifo-order' to permit { } to allow control over *who can use* 'rush -fifo-order', e.g. permit { .. fifo-order: { jack jane wrangler } .. } > Added 'fifo.reset' to control when job auto-resets the FIFO order: # FIFO RESET # Events that cause the FIFO time stamp to be reset. # never -- never reset # jobdone -- reset when job is done (default) # fifo.reset jobdone > Changed rush.laj_secs default from 2 -> 3 IRUSH o irush: Hand-entered jobids into Jobid: field updates report highlighting ANTOINE/FLOQFX - 04/22/14 o irush: Fixed problem with irush not recongizing IP address jobids. If the rush/etc/hosts file had an IP address in place of a hostname, jobids for that machine would be e.g. Rush could handle it, but irush's double-click did not. Jobid detection code was old; replaced with Jobid class's detector. AEVAR/BEEANDBIRD 06/12/14 o irush: [MAC] fixed problem with last pixel of text sometimes being cut off (Problem with the ANSI mods to Fl_Browser; wasn't rounding up fl_width()'s return value) ANTOINE/FLOQFX - 04/22/14 SUBMIT SCRIPTS o > Added "Create Image Directory" option so that user can control this. (Had to remove blocking dialog, as that doesn't work in HTML submissions where blocking isn't really available) > Improved support of html job submissions; all errors printed in HTML, even script errors RUSHTOP o rushtop: Ctrl-/+/0 now works for the /numeric keypad/ keys as well as the number keys along the top of the keyboard. RUSHADMIN o Changed default to Tan color theme o Fixed some font size issues in main window and Permit Users screens. o Fixed unnecessary horizontal scrollbar in main window. BOOTSCRIPTS o rush/etc/S99rush modified to skip localhost DNS lookup if IP hardcoded in rush/etc/hosts (e.g. somehost= This allows a network w/out hostname lookups to operate normally, while still holding back rush boot until net iface is "up" (by checking the hardcoded IP) INTERNALS o Flattened out copyright notices; erco 1995~2007 reflects beginning of Rush development (when it was first named 'nrq') thru 1999 when sold as Rush, then the seriss take over 2008-'present' o rush: Fixed problem in Spawn.C with parsing "indexhints" If indexhints was "", would not parse, causing problems with StartIntermediateProcess() Noticed this on PPC (tower). 103.05 (Fixes/Features) 03/07/14 ------------------------------------------------------------------------------- RUSH o Fixed bug for machines not in rush hosts file The 103.04 daemons can crash if a machine not in the rush/etc/hosts file (but has rush installed) tries to contact the active daemons. (Problem with reverse hostname lookups). This is an important fix; anyone running 103.04 should upgrade to 103.05 (or higher) to prevent this problem. o Improved docs for 'rush -lc' to describe the messages in the NOTES field o 'rush -status -usage' added features: > Added network I/O for all platforms. See the new 'N' lines of data in the 'rush -status' docs. > Macs now include swap data (it was all zeroes before) IRUSH o Added a status bar to show how many lines are selected in the window. (CHI/DELUXE) Useful in the Frames report to see how many frames are selected, or in the 'Hosts' report to see how many hosts are in the hosts file; Hit 'Hosts' then hit ^A (select all) to see the count.
RUSHTOP o Added Network I/O statistics, so one can see how busy the network interfaces are for each host:

(This makes use of the new 'N' line data provided by 'rush -status -usage') o Added a 'View' submenu to the rushtop popup menu to allow one to show only the columns of data that are of interest.

o Added a '-view' command line flag to allow control of which columns are displayed via the command line. o Added 'swap' use for macs (it had always been all zero) o Improved how to select hosts; a new host browser window lets you pick the hosts to display.

o Improved the look of the bars a bit, tightened up bar display graphics o Added font size adjustment to rushtop (Ctrl+ and Ctrl-) so people with retina displays and hi-def screens can see hostnames and legends more easily. (On Macs: use Command+ and Command-)

SUBMIT SCRIPTS o python/ o Added -html and -html-submit flags, so that the script can be used as a cgi-bin script on a web server, e.g. http://yourserver/rushscripts/ This way users can submit jobs by filling out a web form. The URL can be used with -field arguments to preset fields in the form, so the URL can be invoked from within maya, e.g. http://yourserver/rushscripts/ o Tooltips: Fixed tooltip for ProjectPath, added one for ImageDirectory o Fixed a problem with the submitinfo filename; it wasn't deriving it from the "Scene Path" correctly. o perl/ Modified to support Solid Angle's new version of Arnold, to support standalone rendering of the 'kick' .ass files. o perl/ o python/ Added support for rendering with the new SolidAngle Arnold plugin o python/lib/ NEW METHODS ----------- PresentInputFormAsHTML() -- presents a submit form in HTML, to make it easy to make web pages out of the submit scripts. Makes use of changes in the input(1) tool. Example use: the new -html flag in $RUSH_DIR/examples/python/ With this, modifications to the submit form 'ascii art' can create an HTML page to prompt the user for data, so as to submit jobs through a web interface. SubmitFormCSS() -- Used by the above, presents CSS code to help make the HTML submit form look nice. o python/lib/ NEW METHODS ----------- Version() -- returns the current 'rush -version' info GetHostGroups() -- Returns hostgroup memberships as a dict GetRushStatus() -- returns the 'rush -status' report variations as a dict MODIFIED METHODS ---------------- GetAllCpus() -- Improved parsing + docs All methods that run 'rush -xxx' commands now use RushDir() to determine the path to the executable. o -- fixed problem with Mac use of 'rush-loginwindow-run' o Added newer fltk color table to input docs INTERNALS o Upgraded FLTK to svn current for Fl_Tree draw_item_content() override (to support irush2) o Perl scripts: removed all references to, replaced with 'use POSIX'. (In perl 5.14, they removed See: 103.04 (Fixes/Features) 11/11/13 ------------------------------------------------------------------------------- RUSH o Fixed problem where lowering the MinPri in the hosts file wasn't affecting existing jobs already turned away. When the daemon reloads the hosts file (either by seeing the date stamp change or forced with 'rush -reload hosts'), the MinPri will be re-applied to turned away jobs. o Same fix for the hosts file Ram value. o Various fixes to irush Preferences -> Interface Colors Some colors didn't look good together.. 103.03 (Fixes/Features) 10/18/13 ------------------------------------------------------------------------------- RUSH o Small fix to 'dependon -i' warning message if a jobid doesn't exist BEFORE: rush: (WARNING) Line 2: (ignored) AFTER: rush: (WARNING) Line 2: 'dependon zoar.33': unknown jobid (ignored) o rush.conf: Added 'ljc_nojobs [0|1]' option to control whether 'rush -ljc' should reply ": no jobs" if a machine doesn't have any jobs. o Small mod to ANSI codes used for progress bars: orange bars changed: BEFORE: \033[37;43m AFTER: \033[33;43m o rush -pathconvert: added "-list" flag e.g. "rush -pathconvert -list" o optimizations for avoiding SecsSinceSystemBoot_NET() within newtask sort loops (forward port of zoic 102.42a8b1 mods) o optimization for very fast hostname lookups, even on huge hosts files Added 'fast search' option to hostname lookups (rush.conf: host.fastsearch) o Fix -laj once and for all :P 'rush -laj' and 'rush -lajf' modified to use a combo of UDP (to find job servers) and TCP (to pull potentially huge reports) to solve large report issues. (This fix was also backported to 102 as 102.42a9d2; see details..) ALL RUSH GUIS - MAC ONLY o A special release update of 103.03 was needed for "OSX Maverick" 10.9 to solve benign "performance note" messages that were appearing on stderr. These messages recommend the app use PostScript fontnames over Apple's usual non-postscript font names. OSX Maverick was released a few weeks after the 103.03 build was uploaded to the website, but before the release was announced on the website for download. So only a few customers received it. The release number was left unchanged (103.03), but the fix has a newer 'build date' that shows 10/30/13 (instead of the older 10/15/13 build date). IRUSH o Added new preference "Auto Frames Report", which when set (default off) automatically opens a "Frames" report when someone double-clicks on a job in a 'Jobs' or 'All Jobs' report. o Added feature to let Alt-Double-click select jobs + show Frames report automatically. o Show current jobid(s) highlighted differently in the Jobs and All Jobs reports. (sean@methodstudios) o Right click menu for Jobs and All Jobs report headers let you add/remove new columns. o Added sorting options to the right click menu for report headers o Improved column header resizing area (enlarged) o Irush can now handle tab delimited column data, so that fields containing spaces aren't mistaken as separate columns. irush looks at the first line in a report; if it contains any tabs, it will use tabs to delimit the report. Otherwise, it uses spaces (old behavior). o Changed how preferences are saved; saved when a preference is changed instead of when irush is closed. o Fixed icons on Windows for irush/onrush/rushtop/rushadmin o Added a 'black' color theme (Edit | Preferences | Interface Colors | Black)
o Apply path_convert to Frames -> View Log In -> Text Editor SUBMIT SCRIPTS o -- added multiple cameras and 'One job per camera' option Lets you submit multiple cameras where each camera renders as a separate job, or as a single job (where maya is invoked serially to render each camera) o [MAC] Added rush-loginwindow-run to force GUI oriented render apps (e.g. AfterFX) to have access to window manager via mach ports. o Added an Edit | Preferences | Themes submenu so that one can control the color theme of the interface using the $RUSH_DIR/etc/.input-themes file.
o Added a new 'black' color theme (Edit | Preferences | Themses | Black) for all you night owls and compositors who go blind when bright interfaces open up:
The .input-themes file is similar to the .irush-themes file, and can be customized to create new theme names, and/or adjust individual color's RGB values. o Python submit scripts: the FixPath() function was not using the new "path_convert" feature. Implemented this fix: o Houdini submit scripts (perl+python) modified; removed the 'background ( on )' bit from the hscript example code which seems no longer relevant in modern versions of Houdini. o Fixed maya submit's 'Project' field tooltip, which wasn't showing up. (Python and Perl submit scripts) o Fixed bug with standalone vray's handling of VrayFlags:, spaces weren't preventing multiple flags from being specified properly. o Mods to handle a job with 'waitfor' set ('rush -cont' would fail in a submit-with-pause job) CHRISTIAN/EVOX 7/3/13 o Added submit_dng_convert, to manage Adobe DNG image conversion. (RACHEL/KINETO 8/16/13) o submit-afterfx: modified to support new RQ Index: field. JEREMIE/DUCKSTUDIOS 8/19/13 o submit-afterfx: automatically derived Log Directory path now includes the Comp Name / RQ Index to ensure logs don't overwrite when rendering the same scene with multiple jobs. JEREMIE/DUCKSTUDIOS 8/19/13 MISC o Upgraded to fltk 1.3.x-svn 9957 (08/21/2013) 1) On zoar as root: cd LINUX/fltk svn update 2) Installed and removed Fl_Sys_Menu.obj from 3) Ran RUSH/ o Due to the above, switched everything from /MD to /MT for static builds. Modified: Makefile.MICROSOFT Makefile.MICROSOFT-COMMON zlib/Makefile.MICROSOFT common/Makefile.MICROSOFT irush/Makefile.MICROSOFT input/Makefile.MICROSOFT libiconv-1.9.1/lib/Makefile.msvc (added MFLAGS=-MT) o logtrim: added build date 103.02 (Fixes/Features) 02/06/13 ------------------------------------------------------------------------------- RUSH o Dependon: if a job submitted with 'dependon', but with some frames preset into the non-Que state (eg. 'frames 1-10=Done 11-100=Que'), the state of the non-Que frames is preserved (ie. not converted to the Hold state) o rush -dependon: if enabled for a job, the job's Que frames are converted to Hold for frames that are not already done in the other jobs being depended on. (SEAN@TURNER) o Added '-' option (to read stdin for jobids) to the following: rush -dump rush -end rush -pause rush -cont rush -licpause rush -lj o install script: saves previous rushd.log (if any), and logs a message indicating install script was executed in the rushd.log o Added new '-acct_archive' flag so that raw cpu.acct file can be archived to a file server in the format used by cpuacct.dbasedir, ie. "YYYY/MM/DD/-cpu.acct". Example usage: rush -acct_archive -dbasedir //server/data/rush-dbase < /usr/local/rush/var/cpu.acct IRUSH o Dump/End/Pause/Continue in the Jobs + All Jobs report now can handle very large lists of jobs at once without hitting argument limits. (Uses new '-' flag added to 'rush -dump' etc.) SEAN@TURNER RUSHTOP o Added option to show the ram size (in GB) of each host in the upper right of Ram bar graph: Command Line: rushtop -showramsize 0|1 Popup Menu: Preferences > Show Ram Size INPUT o Added checkbutton parsing to 'input' program, so that python scripts can use: Leave submit window open?: "KeepWindowOpen" o Fixed problem with <> causing horiz scrollbar to appear in tabbed forms SUBMIT SCRIPTS o Added new python submit scripts: -- submits houdini hscript renders -- submits multiple RED camera clips in a single job o added 'Leave submit window open?' prompt to maya, nuke, and redline submit scripts o Tooltips added to and o python submit script's "-help" output includes info on how to directly import the script into other python scripts. o Fixed makefile problem that was causing examples/perl/help docs to have 'INSERT' tags replaced by documentation text. (01/09/12) o Fixed -help output (".py" extension was missing from example text) o Added docs that were missing for: -- docs for new Multipass Output field -- docs for vray standalone added -- docs for the QuickTime tabs -- removed stray references to mray (instead of vray) PYTHON LIBRARY -- in rush/examples/python/lib Added: > Rush.GetConf() Gets the current value of the specified field from the rush.conf file > Rush.ExpandHostgroup() Expand the specified rush hostgroup > RushSubmit.ScriptBasename() Returns the current submit script's basename (including the filename extension) > RushWin32 New library to support access to win32 library calls. Currently, only CreateProcess() [needed for starting irush in background on submit] Modified: > RushSubmit.StartIrush() Removed dependence on activestate perl win32process library (for compatibility with's distro) > RushAcct Now just provides a single Data() class that can load/parse Rush's raw cpu.acct file data. (Used by RushAcctLog) > RushAcctLog Various mods, including a new main demo and demo's help screen. HostByDay report was improved to shows each month as a separate graph. This module will be improved to support new reports in future versions. Internals: Uses RushAcct.Data() to load the rush accounting file data. This class is intended to load multiple rush cpu.acct files in order to generate reports. 103.01 (Fixes/Features) 10/08/12 ------------------------------------------------------------------------------- RUSH o [WINDOWS] Fixed how bootcheck + mountcheck error logging works; commands were failing due to 'file in use by another process' while trying to append output to the rushd.log. Modified rushd.log to be opened in sharing mode to allow redirection. o Prevent mountcheck from being run during jobstart/done/etc/commands and the operation that writes the framelist/jobinfo files. (-copy_and_rm) 103.00 (Fixes/Features) 10/04/12 ------------------------------------------------------------------------------- SUBMIT SCRIPTS o All scripts: support a global log directory the sysadmin can set for all job logs to be written: Perl ( $G::rushlogdir = "//yourserver/prod/rushlogs"; Python ( rushlogdir = "//yourserver/prod/rushlogs" Setting this will cause all the example submit scripts (Perl + Python) to write their job logs to the specified directory. If set to "", the default behavior is used (which typically meands writing the logs into a subdirectory named after the job's scene filename). In the case above, a job would end up with a log directory path being: //yourserver/prod/rushlogs/2012-12-31/fred-23-59/tahoe.123/0001.txt -------------------------- ---------- ---- ----- --------- | | | | | You specify YMD date | HMS time | | | Job Owner Jobid |_______________________________| Automatically generated o python submits: > Added, with shotgun support > Added, with shotgun support o added This script had been floating around for years via email support, but never added to the mainstream release. o added (Renders R3D files) This script had been floating around for years via email support, but never added to the mainstream release. o Added PreRenderInit() to All the new submit scripts run this function in their MAIN_Render() section to remap drives. o All submit scripts now have a nicer 'look':
o submit-maya-tile -- added vray support and nuke comping option o There are now separate 'perl' and 'python' directories under 'rush/examples' rush/examples/perl/ -- where you'll find the perl submit scripts we've all come to know rush/examples/python/ -- where python versions of the above will begin to show up rush/examples/csh/ -- csh scripts ..etc So to install the perl scripts, you would now use: UNIX: cp -rp /usr/local/rush/examples/perl /yourserver/someshare/rushscripts-new WINDOWS: xcopy /i /s c:\rush\examples\perl \\yourserver\someshare\rushscripts-new ..or, to install the new python scripts (there aren't many yet), you can use: UNIX: cp -rp /usr/local/rush/examples/python /yourserver/someshare/rushscripts-python-new WINDOWS: xcopy /i /s c:\rush\examples\perl \\yourserver\someshare\rushscripts-python-new o submit-afterfx: brought over ability to submit paths with spaces from mocean mods (03/22/2012) *** TODO: DO THIS WITH ALL BIG SUBMIT SCRIPTS *** See use of SpaceEscape() and SpaceUnescape(). o Updated submit-maya: o Added 'layers and frames' support o Added 'prerender mel' commands o vray support o vray standalone support o exit notes show error specifics in NOTES field of "Frames" report o Added '-defaults [filename|-]' option to allow printing key/value pairs for defaults o input program updated: o Merged over new multi-language stuff from current o tooltips for input fields (submit-maya currently) o new "ascii art" form parsing within input (to avoid logic in scripts -- for python) o Lots of new features to support shotgun integration: colors, deactivate, new update stuff o cursor changes to spinner while Submit operation runs. (When shotgun support was added, sg can take a while to resolve operations, causing submits to take longer than usual..) o added tooltips, and Edit -> Preferences -> Help Messages to allow disabling tooltips. RUSH o When hosts removed from the rush hosts file, frames in Run/Start/Die state for those hosts automatically requeued. o Fixed problem with submitting "frames 1102030405060708090100110120" causing hang. Added range check for values larger than LONG_MAX to throw an error. Made changes to FrameType.H::Parse(); replaced sscanf() with strtol(). (ZOIC) o fixed problem with submitting "frames 100-100,-1" causing hang (erco) o Added backoff to "reboot" notification messages.. was re-transmitting too often. Given its own expo-backoff timer in daemon loop. o Added code to prevent checkpoint writes WHILE daemon is loading checkpoints. It was possible to end up loosing jobs if one restarts the daemon while the daemon is loading a checkpoint. (BRENT/LUMA) o rushadmin: fixed errant "FAILED INTEGRITY CHECK" problem Under 'Rush Config', making changes caused this error due to new benign "Reloading" message. o 'rush -status -usage' for Macs was reporting memory in bytes instead of megabytes; this has been fixed. o 'rush -laj' report can now handle large reports. Small fixes since 102.42cbeta1 (aka 102.42a9h2) Note: the new '-laj' report is NOT compatible with older versions of rush. This is why the rush version bumped from 102.42a* to 102.42c. The following flags were added to the rush.conf file to manage the internals for this change: use_udptransactors 0 # disables use of new udp transactors (reverts to old behavior) udptransactor_fragsize 512 # max size of udp transactor fragmenting (-lac,-laj,-status,etc) udptransactor_ttl 5 # #secs udp transactors remain on server before expiring udptransactor_choke 0 # #usecs to usleep between sending /each/ frag sent by server o Scheduler fix: multiple kill priority jobs of different priority in render node tasklists made scheduler spin, causing rushd to show high cpu use; daemon would be unresponsive for ~10 seconds, and rushtop would show 'no response' during this time. o rush -log bug fix: Wasn't handling multiple jobxxxcommand.log files correctly. eg: rush -log jobstartcommand.log jobdonecommand.log tahoe.123 ..would just show the jobstartcommand.log /twice/. o MAC: boot script was ignorning RUSHSERVER=-NO- in /etc/hostconfig Had to change StartupItems boot script: BEFORE: if [ -x /etc/rc.common ]; then . /etc/rc.common; fi AFTER: if [ -r /etc/rc.common ]; then . /etc/rc.common; fi ^^ o Fixed problem with 'rush -lj' not clearing away hostname for reports printed to the terminal if report is small, eg: rush -lj -fmt Remarks ..would print the hostname and a CRLF, then the report was supposed to clear away the hostname. But if the report is small (such as in the above, a '-' response would leave most of the hostname behind). Small changes to handle doing a cleol. o Fixed duplicate entries for 'Dependency' in -ljf reports. Jobids were showing up twice because submits now assign jobid first, causing two registrations to happen.(PAWEL/FUELVFX) o 'rush -exitnotes': fixed problem with notes not clearing when new frame starts o RUSH_FIRST_FRAME and RUSH_LAST_FRAME are now set properly when running jobstartcommand/jobdonecommand/jobdumpcommand. (Previously, they were always -99999.) o Added 'WaitForDependency:' to -ljf report This allows symmetry for being able to resolve the WaitFor dependency tree both forward and reverse. (PAWEL/FUELVFX) o Switched MyMenuBar from Fl_Menu_Bar -> Fl_Sys_Menu_Bar > Affects irush only (SOMEONE ASKED FOR THIS AROUND JUNE 18 2012.. Dan Abrams/superbaka?) o 'rush -cp' can now increase or decrease the priority of all cpus rush -cp '*' @+5 -- increase priority by +5 rush -cp '*' @-5 -- decrease priority by -5 rush -cp +any=50@100 @+10 -- increase priority from 100 to 110 Irush makes use of this feature in the 'Jobs' and 'All Jobs' report, so that one can easily raise/lower the priority of several jobs at once:
o 'rush -cp' now tries to keep the CPUSPEC column of 'rush -lc' synchronized with priority mods If all the tasks of a cpu specification are changed to the same priority value, then the cpuspec is updated. Example: $ rush -lc CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES tahoe=2@100 Idle/Nak - - 2497 100 00:00:00 tahoe.8 - tahoe=2@100 Idle/Nak - - 2498 100 00:00:00 tahoe.8 - $ rush -cp tahoe=2@100 @200 *** CHANGE PRIORITY FROM @100 TO @200 *** tahoe.8 tahoe=2@200: priority was tahoe=2@100, now tahoe=2@200 $ rush -lc *** CPUSPEC FIELD UPDATES *** CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES tahoe=2@200 Idle/Nak - - 2497 200 00:00:00 tahoe.8 - tahoe=2@200 Idle/Nak - - 2498 200 00:00:00 tahoe.8 - $ rush -cp .2497 @300k *** CHANGE PRIORITY OF ONLY ONE OF THE TWO TASKS ** tahoe.8 tahoe=2@200: priority was @200, now @300k $ rush -lc *** CPUSPEC FIELD WILL *NOT* UPDATE *** CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES tahoe=2@200 Idle/Nak - - 2497 300k 00:00:00 tahoe.8 - tahoe=2@200 Idle/Nak - - 2498 200 00:00:00 tahoe.8 - $ rush -cp .2498 @300k *** CHANGE PRIORITY SO THAT *BOTH* TASKS NOW AGREE ** tahoe.8 tahoe=2@300k: priority was @200, now @300k $ rush -lc *** CPUSPEC FIELD NOW UPDATES *** CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES tahoe=2@300k Idle/Nak - - 2497 300k 00:00:00 tahoe.8 - tahoe=2@300k Idle/Nak - - 2498 300k 00:00:00 tahoe.8 - o Added new taskcleanup algorithm Purges stale jobs out of the tasklists more frequently, lighter load. Rush.conf now configured to run the new cleanup every 3 hours: taskcleanuphours 0 3 6 9 12 15 18 21 New behavior can be disabled via rush.conf with: use_taskcleanup_opt 0 taskcleanuphours 5 o Added 'processor affinity' support for linux. So now both windows and linux can have 'affinity=x' in the hosts file. (Still no affinity support for OSX: Apple's operating system does not support it) o 'rush -push' now uses file compression to allow larger files to be pushed quickly The following rush.conf option specifies the file size at which point compression is used. (9000 bytes is the default): udpcompress 9000 Compression can be disabled with: udpcompress 0 o Added ()'s to cpu specifications, eg. +any(1-4)=5@100 ..which lets one specify only hosts 1 through 4 in the +any group. Forward ported from 102.42a8b (ROMEY/ZOIC) This breaks the network protocol, so bump from 102.42c -> 102.42d o Added 'rush -ljc' (List Job Counters). This can be used by realtime GUIs to help them know which jobs have changed since the last -ljc report by comparing job's 'change counters'. Every rush job now maintains 'change counters' which are incremented whenever an aspect of the job has changed: o 'frame' counter: changes when frames in a job have changed, either when frames are added, removed, or have changed state. o 'cpus' counter that changes when cpus are added/removed o 'job info' counter that changes when some other aspect of the job changes, such as the job's title, ram limit, the job's run state, etc. This feature can also be used by 'watcher scripts' to easily see if a job has changed, so that it can know if that job's info needs to be reloaded to update the watcher's cache. This helps prevent a watcher script from constantly having to poll /all/ job info on every job to see what changed. o Root can submit jobs IF forceuid/forcegid configured AND uidrange/gidrange includes roots uid/gid o 'rush -af' allows multiple frame ranges to be specified. Example: rush -af 1-10 20-45 o 'rush -catlog': added 'mail.log' and 'jobs-checkpoint' as optional filenames to view. o Added allowloopback <1|0> to rush.conf to allow to be a valid address (eg. for single un-networked machines) [COLORFRONT] o Added optional mountcheck_cmd and bootcheck_cmd options to rush.conf: mountcheck_cmd: defines a command to run BEFORE rush runs a render, to check if the machine is suitable for rendering. This can check server mounts so it can either fix the problem before starting the render or simply take the machine offline and tell the frame to requeue elsewhere. eg: mountcheck_cmd "perl c:/rush/etc/mountcheck" os.unix mountcheck_cmd "perl /usr/local/rush/etc/mountcheck" You can use other languages for these scripts too, like python, ruby, DOS, etc. (LOOKFX) bootcheck_cmd: defines a command the daemon runs during startup to check if the machine is suitable for rendering during boot. This can verify the machine's networking is fully 'up', DNS is operative, and mounts are in place. The command can simply wait for resources to appear, and when it returns, rushd will being starting renders. eg: bootcheck_cmd "perl c:/rush/etc/bootcheck" os.unix bootcheck_cmd "perl /usr/local/rush/etc/bootcheck" You can use other languages for these scripts too, like python, ruby, DOS, etc. (BSGVFX) o Added RebootHosts to 'rush -dstats' report, so one can see how many reboot hosts are being managed. o Added new 'setenv' and 'unsetenv' commands to rush.conf, so that the admin can preset certain environment variables for renders. Examples: os=windows setenv PYTHONPATH "/some/special/dir" # Windows only os=linux unsetenv DISPLAY # Linux only os=all setenv SPM_HOST "foo@bar" # all platforms Note that the render scripts may alter these variables, and in the end their settings take precedence. Settings made in the rush.conf simply affect the defaults that render scripts see when first executed. Warning: Each time the rush.conf file is reloaded, these commands are re-executed. Be careful of using things like: os=windows setenv PATH "/some/new/path:${PATH}" ..such a setting will cause the PATH to grow each time the rush.conf file is reloaded, as ${PATH} will keep resolving to an ever larger path. So for instance: setenv PATH "aaa:${PATH}" will become "aaa:/some/stuff" on first load, then will become "aaa:aaa:/some/stuff" on a reload of the rush.conf, etc. accumulating linearly until the daemon is restarted. o Sped up jobid lookups for 'rush -lj `cat jobids`' took ~30 seconds to list 4000 jobs (whereas 'rush -lj hostname' was instant). Replaced linear lookups using IsJobid() with JOBID_GetID() and doing simple integer lookups. o irush->Help: shows version specific docs Added DOCURL to master Makefile to set base URL for all web docs. o rush.conf: Added the following optional commands: * 'cpuacct.dbasedir': Usage: cpuacct.dbasedir [path] [dirmask] [filemask] Example: cpuacct.dbasedir "/server/somewhere" 0755 0644 Example would cause cpu.acct logs to be written as: /server/somewhere/[YYYY]/[MM]/[DD]/[HOSTNAME]-cpu.acct --------------------------- | Automatically generated dirs and filename This feature will be used by web scripts that provide network wide utilization reports (WARNER), eg:
* Added 'net.resvauth', which allows disabling of forcing client connections to use port numbers below 1024. (affects unix only). Prevents problems with numerous client connections causing 'no more reserved ports' errors. Usage: net.resvauth [0|1] Example: net.resvauth 0 # disables use of reserved ports (disables default) * Added 'version=###' prefix, to allow conditional code execution based on the rush version#. * Added 'usercmd' to 'permit' section, to allow per-user control of the "rush -submit" 'user [uid] [gid] [username]' submit command. o 'rush -submit': Added the following submit commands: commandflags <flags> -- adjusts attributes of job's command jobstartcommandflags <flags> -- adjusts attributes of job's jobstartcommand jobrestartcommandflags <flags> -- adjusts attributes of job's jobrestartcommand jobdonecommandflags <flags> -- adjusts attributes of job's jobdonecommand jobdumpcommandflags <flags> -- adjusts attributes of job's jobdumpcommand ..and the following 'rush' command line flags: -commandflags <flags> -jobstartcommandflags <flags> -jobrestartcommandflags <flags> -jobdonecommandflags <flags> -jobdumpcommandflags <flags> ..and these 'flags' control how the above commands execute: quote -- Handle quoting expandvars -- Expand environment variables of the form ${VARNAME} at runtime escape -- Handle escape character (\) useshell -- Use a native shell to run the command (unix:use bash, windows: use DOS) nolog -- (jobdonecommand only) disables creating jobdonecommand.log done -- (jobdonecommand only) runs command only if all frames are "Done" fail -- (jobdonecommand only) runs command only if any frames are "Fail" and rest are "Done" donefail -- (jobdonecommand only) runs command only if all frames are "Done" or "Fail" always -- (jobdonecommand only) always runs command when job is done (default) off -- turns off all the above flags So for instance: rush -submit <<EOF .. command python //server/path/ -scene //server/path/${RUSH_JOBID} commandflags useshell,expandvars .. EOF ..tells rush to use a bash or DOS shell to run the above command, and to expand the "${RUSH_JOBID}" at render time. o Added -fmt flag to 'rush -lj' and 'rush -laj' This allows jobs reports to be customized from the command line, eg:
See 'rush -lj -fmt help' for the large list of all the possible field names. These fields can also be used in the rush.conf file for these new options: # "rush -lj" rush.lj.format "-Status<STATUS>:-8 Jobid<JOBID>:-16 Title<TITLE>:-25 Owner<OWNER>:-14 %Done<%DONE>:5 %Fail<%FAIL>:5 FramesBusy<BUSY>:4 Elapsed<ELAPSED>:10 Remarks<REMARKS>" # "rush -laj" rush.laj.format "-Status<STATUS>:-8 Jobid<JOBID>:-16 Title<TITLE>:-25 Owner<OWNER>:-14 %Done<%DONE>:5 %Fail<%FAIL>:5 FramesBusy<BUSY>:4 Elapsed<ELAPSED>:10 Remarks<REMARKS>" # "rush -lj -x" + "rush -laj -x" rush.lj_x.format "-Status<Status>:-8 Jobid<Jobid>:-16 Title<Title>:-25 Owner<Owner>:-14 %Done<%Done>:5 %Fail<%Fail>:5 %Hold<%Hold>:5 Frames<#Frms>:5 FramesBusy<Busy>:5 Priority[Vals]<Priority>:-8 Ram:5 Progress<Progress>:-20 RenderElapsed<Rendertime>:12 Elapsed<Age>:12 Remarks<Remarks>" # "rush -lac" rush.lac.format "Hostname:-15 Owner:-14 Jobid:-16 Title:-15 Frame:-7 Priority<Pri>:-5 Pid:-7 Elapsed:10 Remarks" # "rush -lc" "CpuSpec[Host]:-22 State:-11 Frame:-7 Pid:-7 JobTid:-7 Priority:-8 Elapsed:-8 Jobid:-14 Notes" # "rush -lf" rush.lf.format "Status:-6 Frame:-7 Try:-3 Hostname:-15 Pid:-7 Jobid:-16 Start:-14 Elapsed:-8 Notes" o Added 'rush -jobdata' and 'jobdata' submit command This allows generic info to be added to a job, similar but separate from 'job notes'. o Removed unused (and undocumented) -checkpoint command ("-jobs-checkpoint" is the only ever advertised command line flag) o Removed unused (and undocumented) jobchkcommand o 'rush -ping' modified to show 32bit and 64bit daemons and OS details: superior: RUSHD-32bit 102.42a9h3/WinXP PID=3188 Boot=11/30/11,15:59:55 Online, 2 jobs, 0 procs, 0 tasks, dlog=-, nfd=4, ssb=2612123, sched=rr ta: RUSHD-64bit 102.42a9h3/Linux-x86_64 PID=6662 Boot=11/30/11,16:02:11 Online, 3 jobs, 0 procs, 0 tasks, dlog=-, nfd=7, ssb=359515, sched=rr ----- ------------ | | Rushd executable Platform info bitsize o Optimizations for FUELVFX to improve high use of 'rush -lj/rush -lc' reports: when multiple jobids are specified on the command line, a /single/ TCP connection is used to handle all the jobids, instead of separate TCP connections for each. (prevents the 'rresvport_NET: All ports in use' error) To turn these optimizations on, add "optimizelj 1" to the rush.conf file. (This is not on by default, because it makes the daemon incompatible with older daemons) o script mods to support SUSE 10.2/11.2 (collider/nathanlove) IRUSH o IRUSH + submit-maya: "View Images" button (Alt-I) will now play a sequence of frames in fcheck if more than one frame is selected in the 'Frames' report. submit-maya's -imgcommand now checks the value of the IRUSH_FRAMES variable to see if more than one frame is selected. o Has many new 'right click' menus in all the report screens. You can now select items in the Jobs, Cpus, Frames, (etc) reports, then right-click to open context menus to do operations on those selected frames. o irush: 'rush -ljf' report wasn't showing blank line between jobs. The LF (\x0a) at the end of the line appeared to be the problem. ResizeableBrowser.H::add() modified to check if (buf[0] == 10) and add an empty line instead. o Job Edit: Command input fields enlarged to allow really long lines to wordwrap (TURNER) o "Jobs" report's right click menu: o Added "Reque All.. (Done/Fail/etc)" o Added "Set Job Remarks.." o New IRUSH_JOBS environment variable will be set to the jobids of the jobs the user has highlighted in the Jobs or All Jobs reports. This helps e.g. 'Hotkey' scripts be able to work with selected items in the report. o New IRUSH_FRAMES environment variable will be set to the jobids/frames of the frames the user has highlighted in the Frames report. This helps e.g. 'Hotkey' scripts be able to work with selected items in the report. o Added indicators for when columns are truncating. Useful to determine if eg. the PROGRESS indicator is truncated, which could cause mis-readings. (JEREMEY/BSGVFX)
o online/offline/getoff: includes local hostname in 'REMARKS' field. BEFORE: online by fred 07/07/2011,23:59 via irush AFTER: online by fred@tahoe 07/07/2011,23:59 via irush ^^^^^^ o Nicer column headers for reports RUSHTOP: o Window position is preserved on exit (JEREMEY/BSGVFX) o hostname field now 'hashes out' when machine doesn't respond. This, instead of showing old online/offline state info (which might be stale) INTERNALS o Various improvements over 102.42dbeta2 to allow submit scripts to be imported within maya/nuke, submit job with no gui dialogs, returns jobid, etc. (Follow up with the foundry eval'er regarding jobid stuff) o Fixed problem in 102.42dbeta2 with shotgun submits creating two "versions" o Windows: Fixed problem with RushSubmit.ScriptDir() returning the lib dir instead of the script dir. (Problem with \ vs. /) o Fixed problem introduced in 102.42dbeta3 with log rotations and 'rush -rotate'; rotation didn't reopen the daemon log. Caused by changed to Conf.C's handling of the log affected reload log messages. o Fixed problem in 102.42dbeta2 with -fmt parsing that caused first argument past the format string to be ignored. eg: rush -lj -fmt "Jobid Status" tahoe spirit erie ----- | 'tahoe' argument was being ignored o In 102.42dbeta3, updated FLTK 1.3.x-svn to r9562 > Fl_Tree mods for irush2 wip > Enabled FLTK_ABI_FEATURES > fixes for SGI build [IRUSH FEATURES: WIP] > Cleaner headings in reports > Column resizing is now done in the header instead of the middle of the report > Added more right-click menu features > IRUSH_FRAMES and IRUSH_JOBS environment variables help "Hotkey" scripts determine which frames have been selected in Frames reports, and whhich jobs have been selected in Jobs and All Jobs reports. Release Notes for 102.42a9h2 SMALL FIX TO -laj (SOMETIMES EXITED PREMATURELY) --------------------------------------------------------------------------------- o rush -laj: there was a small bug o insure testing, tweaks to String library o New Makefile for distro (separate perl/python script dirs) Release Notes for 102.42a9h "MESSAGE TOO LONG" FIX, FEATURES --------------------------------------------------------------------------------- Main thrust of this release was for adding 'rush -laj' support to rush/rushd, which fixes the 'message too long' issue with large job reports. Decided to bring along new perl submit scripts from current. This meant new 'input' program, which meant new common modules to support the new shotgun stuff, brought in fixes for rushsendmail, etc. Regarding 'rush -laj': this version is somewhat back-compatible with 102.42a9c. Only the 'rush -laj' report in the new version is different; the 'rush -laj' command line tool will not talk to older clients, but old 'rush -laj' clients can talk to the daemon normally. > RUSH: o Added 'processor affinity' support for linux. So now both windows and linux can have 'affinity=x' in the hosts file. AFAIK, OSX is not yet supported. > Updated submit-maya: o Added 'layers and frames' support o Added 'prerender mel' commands o vray support o vray standalone support o exit notes show error specifics in NOTES field of "Frames" report o Added '-defaults [filename|-]' option to allow printing key/value pairs for defaults > input: o Merged over new multi-language stuff from current o tooltips o new "ascii art" form parsing within input (to avoid logic in scripts -- for python) o Lots of new features to support shotgun integration: colors, deactivate, new update stuff > rushsendmail: o added -domain flag (to allow EHELO to specify a domain other than hostname) > [INTERNALS] New classes o UdpTransactor.[CH] o UdpTxRx.[CH] > [INTERNALS] Net class o Added NextSerial_NET() for udp transactor stuff o Added ShowCpuAffinity_NET() andSetCpuAffinity_NET() methods o Added platform name specifics to GetPlatformName() (eg. 64bit, etc) o Added Usleep() (for crossplatform sleeping) o Added Dirname_NET() o Added Basename_NET() o Added zlib stuff, but IFDEF'ed it out for now (to avoid needing -lz everywhere to build) > [INTERNALS] Messenger class o Added SendAndReply() method o Made MessengerRegistration class private to class (out of .H) > [INTERNALS] List class o Added Reverse() method o Made Find() const > [INTERNALS] String class o Optimized string length calculations for speed (new UdpTransactors needed this; reply was too slow to build line-by-line) o Small fixes/mods to RegexMatch o Added FindStr() o Chunk size now a per-string option (used by 'rush -laj' when building replies) o regression test improvements o ran valgrind tests > [INTERNALS] MyPipe-MICROSOFT o Improved error messages o Added new RUSH_ signal stuff (I think this was for 64bit windows support) > [INTERNALS] common/MyXxxx widgets o Added multilanguage support stuff o MyMenuBar: Added FindItemPtr() Release Notes for 102.42a9g FUEL FIX: KILL PRIORITIES 06/03/2011 (released 07/11/11) --------------------------------------------------------------------------------- This version is 100% back-compatible with 102.42a9c, a9d, a9e, a9f. > Fixed problem with changing priorities (rush -cp) where killer jobs wouldn't take over processors correctly after the change during these specific circumstances: Scenario: tahoe has 2 rush processors, 100 RAM SUBMIT: JOB_A: Wants ta=2@20, RAM=90 JOB_B: Wants ta=2@10, RAM=90 Job_A starts rendering. * Change Job_B cpus to 999k. <-- should kill JOB_A, but it doesnt - OR - * Change Job_B cpus to 10k, and Job_A cpus to 8. <-- should cause Job_B to bump job a Release Notes for 102.42a9f BUSTER MOD:Add logdir_convert 03/11/2011 --------------------------------------------------------------------------------- This version is 100% back-compatible with 102.42a9c, a9d, a9e. > Implemented logdir_convert rush.conf command. It was added to the Conf class, but not actually implemented..! Had to add it to daemon and rush command line (for 'rush -log -x') Release Notes for 102.42a9e GVFX MOD: 03/07/2011 --------------------------------------------------------------------------------- This version is 100% back-compatible with 102.42a9c, a9d. > Added bootcheck: If the following file exists: windows: c:\rush\etc\bootcheck.bat unix: /usr/local/rush/etc/ ..then the script will be run just before rush starts its network services. The script can be used to verify the network interface and mounts are operating before rushd starts renders running. So for instance: REM *** bootcheck.bat *** :again echo --- BOOTCHECK: Pinging %COMPUTERNAME% (to verify hostname lookups) ping %COMPUTERNAME% if NOT ERRORLEVEL 1 goto done echo --- BOOTCHECK: FAILED (PING RETURNED %ERRORLEVEL%). Sleeping 5, trying again.. rush -sleep 5 goto again :done echo --- BOOTCHECK: DONE OK Release Notes for 102.42a9d4 Fixes: 11/13/14 --------------------------------------------------------------------------------- > rush: Fix negative floating point frames issue (reported by e.g. "-100.3" would show up as "-98.3", the integerized fraction was being combined without taking into account the sign of the integer part. Problem was in FrameType::Parse(). (BACKPORT FROM 103.06) Release Notes for 102.42a9d2 Fixes: 11/14/13 --------------------------------------------------------------------------------- > Fix -laj using udp/tcp combo. Backport from 103.04. Release Notes for 102.42a9d Fixes: 12/08/09 --------------------------------------------------------------------------------- > Fix for unresponsive daemon on Snow Leopard after rush hosts file reloaded. After a 'rush -push hosts +any', receiving snow leopard machines become unresponsive to UDP because unix domain socket used by gethostbyname() closed due to loop closing all fd's >2. (DAN/EVILEYE) Release Notes for 102.42a9c Fixes: 11/23/09 --------------------------------------------------------------------------------- RUSH > CRITERIA RE-EVALUATED AFTER HOSTS FILE RELOADED This can be disabled with the rush.conf flag: "criteria_unpass 0" > IMPORTANT FIX TO FIFO Whem multiple job servers are used, FIFO scheduling did have a problem; the values used for scheduling time values were zeroed out at the scheduler causing jobids to be the deciding factor of FIFO. Since jobids can vary across job servers, the problem only shows up when multiple job servers are in use, or when the jobids on a single server clock over past 999. (CHI@DELUXE - 07/29/09) > IMPORTANT FIX FOR SNOW LEOPARD o Modifications to boot scripts o macperlwrap was being compiled as PPC instead of Univ Binary (affects how rushscripts open) > RUSH: Added -x flag to 'rush -lj' and 'rush -laj' This implements the color 'Progress Bars' into the jobs reports. > RUSH: Added -x flag to 'rush -lf' This shows the jobstartcommand, jobdonecommand, and jobdumpcommand logs if any in the log directory. (Used by new IRUSH feature "Show Job Command Logs") > Added tooltips to rushtop, and Preferences > Use Help Messages > All help viewers now has a 'search' feature. > Optimized daemon's purge of invalid hosts from jobs and tasks. Previously, purge would happen effectively every 60 secs. Changed so that purge only happens when rush/etc/hosts file is actually reloaded. Mods to HOST_ReloadIfNecessary(). (BETTY@DELUXE 10/23/09) > Optimized scheduler so that many "Done" jobs don't slow scheduling This causes JobPass state tasks to be removed from scheduling (moves to the separate passtasks[] array). Can be disabled via optimizejobpass in rush.conf. (BETTY@DELUXE 10/23/09) > 'rush -tasklist': added '-desched' flag to view the new passtasks[] > Fixed problem with these errors during jobdonecommand: SECURITY RUSH: uid '0' outside configured range 100-65000 INFO jobdonecommand 'ls' failed for jobid=leo.2: RUSH: uid '0' outside configured range 100-65000 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This would happen when the job owner submits a job to a job server that doesn't have his user account, but forceuid/gid is used to force everything to run as a particular user (forceuid/gid). Problem was: Spawn::ForkIt() was doing a UID range check on the uid/gid of the user before the ForceUID/GID was being applied. A job with no local account for the job owner will fallback to unknown uid/gids (0/0). Switch the code around so the forceuid/gid is applied first (if any), THEN the check is done. > New JobRemarks: and RushRemarks: fields in rush -ljf report > Removed setsid() causing rush -log to orphan on unix machines when invoked by irush > Added '-showpath' flag to 'rush -log' "-showpath" shows the absolute pathname of the logfile for the specified frame on stdout. This can be parsed by scripts that want the get the frame log's pathname without actually displaying the log file. (This is also used by Irush to get the pathname of the log file for the new "View Log In Text Editor" option) > rush -log now shows nfs error messages without the ### header (less confusion) > New 'priority.range' option can be specified in rush.conf (For more details, see ADMINISTRATIVE FEATURES below) > Added 'r' flag to cpu specification, to allow 'randomizing' hostname assignments in the cpus report for better distribution. (Warner) ie: +any=50r -- randomize order of hosts when expanding +any hostgroup (For more details, see ADMINISTRATIVE FEATURES below) > Added 'affinity=' option to rush/etc/hosts file You can now set processor affinity in the rush/etc/hosts file by tacking 'affinity=xxx' at the end of the line. (See below) -- 09/30/09 (For more details, see ADMINISTRATIVE FEATURES below) > Added build date and copyright year to rush, rushd and rushtop. > RUSHTOP: > New display mode for showing multiproc machines as a single cpu bar. The following shows an 8 processor machine showing up in normal multi-cpu-bar mode vs the new single cpu bar mode:
This mode can be set from either the command line (-single vs. -multi) or via the right click popup menu for rushtop: Preferences | Single Cpu Bar per Host
> The rushtop cpu bars now have tooltips These quickly describe each bar and the meaning of their colors.
(For more detailed info, use the Help button in the right click popup menu) > rushtop: has new -single, -multi and -nosort command line flags -nosort -- disables alphabetical sort of hosts in the display, so that hosts show in the order they appear in the rush/etc/hosts file or in the order specified on the command line -single -- single cpu bar display of multiproc machines -multi -- multiple cpu bar display of multiproc machines (default) These features can also be controlled via the right-click popup menu. > IRUSH: o IRUSH: Added Edit->Preferences->Job Progress Bars Enables bargraphs in Jobs and All Jobs reports. o New preference: "Show Job Command Logs" This enables showing the job start/done/dump logs at the bottom of the 'Frames' report, so they can be double-clicked on to be viewed. o Right click menu on Frames and Log report to easily open frame log in a text editor In the Frames report, there's a new "Logs In Editor" button; just highlight the frame(s) and hit that to view the frame logs in a text editor:
Also, you can right-click on a frame log or selected frame(s) for a View In | Text Editor option:
o HotKey commands now pass an IRUSH_FRAMES environment variable indicating the selected frames. This allows your custom scripts invoked by an Irush "Hotkey" to be able to see which frames were selected in irush at the time the hotkey was invoked. The variable includes the list of frames selected, and the jobid for those frames. (The jobid is included in the variable, because it's possible for the Frames report to show more than one job's frames, so you can have a selection that spans multiple jobs) o Added 'Ping Timeout', with default of '3 Secs' o autoscroll during selection in text window (left/right/up/down) In earlier release(s) drag-out-selection was not auto-scrolling. Merged into FLTK 1.1.x. (CHI @ DELUXE) o Popup context menus on the various reports screens o Copy/Paste options for forwardslash vs. backslash pathnames..! o External text editor command is selectable with Edit|Preferences|Set Text Editor.. > Submit script modifications > [WINDOWS] Fixed intermittant crashing problem with submit form Solved a problem involving a combination of drag+drop while a help window is open. Replication was: 1) Open a submit form 2) Click one of the help buttons, leave help window open 3) Highlight text from one input field, and drag+drop it (not copy/paste) to another field 4) Hit 'Submit' -- job submits OK, but input.exe crashes > Various fixes to help docs, as per Alpha testing (sandro) > submit-afterfx: o CS3/CS4 PATHs o AE Version pulldown CS3/4 o 'aepx' extension added (Digital Kitchen) > submit-cinema4d: o OSX mods > submit-lightwave: o OSX mods > submit-maya: o Maya2009 paths o Logdir checks for spaces o Fixed floating point flag (-rfs/-rfe is now -rfs/-rfb) o 'Threads All' fix for Maya sw rendering ('-n 0' flag added) o OSX does warning checks for prefs in both "Alias" and "Autodesk" dirs > submit-mray: o improved parsing of written image pathname for imgcommand > submit-nuke: o Fixes for different minor version numbers in executable names (win/osx/linux) o Added 'Update' button o Added 'License Behavior' pulldown in 'Rush' tab (control what happens during license errors) > submit-shake-quicktime: o Appends '/' if user accidentally specifies a directory instead of a filename. > Added new "submit-vue" script > INPUT PROGRAM (SUBMIT GUI) o new 'radiobuttons' command o gtk+ style widgets o hex style rgb colors o native chooser -- enabled New Folder button o MyTextEditor -- adds popup menu(?) o MyInputChoice -- adds popup menu(?) o New window resize behavior o New asciiart parser (for python!), new cli "-a" flag, o New cli help screen o New cli popup dialog flags 'i' (info) and 'n' (no icon) > ADMINISTRATIVE FEATURES > rush.conf: added priority.range Allows one to expand or limit the range of priority values via the rush.conf file, eg. priority.range 1 999 > New priority 'r' flag -- 'randomize' +hostgroup expansions. Normally when a job is submitted, the +hostgroups are expanded to a list of hostnames to use for rendering in the order the hosts appear in the rush/etc/hosts file. This can be seen in the "Cpus" report (rush -lc). This is the order rush will contact the remote machines at submit time for rendering, affecting which machines start rendering first. The new 'r' flag causes +hostgroup expansion to be 'randomized', so that the order of hosts is unpredictable. This helps 'distribute' the order machines are first contacted, so that each job will likely start rendering in a non-predictable order. This flag can be specified by users as part of normal cpu specifications, eg: +farm=200r +any=50@10r > WINDOWS: Cpu "affinity". One can now specify "cpu affinity" (as defined by Microsoft) for Rush renders, so that renders only use /particular/ physical processors on each machine. For instance, say you want rush to only use processors 1 and 2 on host tahoe, which is an 8 processor machine. To do this, the administrator can specify the following in the rush/etc/hosts file: #Host Cpus Ram MinPri Criteria/Hostgroups [Affinity] #------------- ----- ----- ------ ------------------- ---------- tahoe 2 256 0 +any,+win affinity=3 ^ /|\ | This will cause all rush renders to ONLY use cpus #1 and #2, leaving physical cpus #3-#8 completely unused. You will be able to see this in the Task Manager | Performance report and rushtop; no matter how many threads the renders start, rendering will be limited to those two processors. The 'affinity' value as Microsoft defines it, is a bit field where each bit represents a different processor; bit #1 represents cpu #1, bit #2 represents cpu #2, etc. eg: Affinity Description -------- --------------------------- 0 Normal behavior; use all processors [default] 1 Use only cpu #1 2 Use only cpu #2 3 Use only cpu #1 and #2 4 Use only cpu #3 5 Use only cpu #1 and #3 : etc The cpu affinity value is optional, and is ONLY relevant for windows machines. If specified for non-windows machines, the value is currently ignored. Release Notes for 102.42a9b Fixes/Features: 05/19/09 --------------------------------------------------------------------------------- > IMPORTANT LEOPARD FIX Added S99rush Leopard boot script mods to handle range of problems: > IMPORTANT LEOPARD FIX These errors: > FAILED TO GET ASN FROM CORESERVICES so aborting > CFMessagePort: bootstrap_register(): failed 1100 (0x44c) > In frame logs getting "Running As: ?" ..solved by StartupItemContext in S99rush bootscript > S99rush bootscript modified: o Set a fixed PATH at top of script, removed SLEEP=/bin/sleep, etc o Added StartupItemContext for OSX o OSX: Added 'waitlocal' to watch for hostname resolution at boot time > Linux install script initial mods for arch linux > Submit script modifications > modified: > Added "" to the input form, for that "Show Cpus" button > Added MessageWindow() [which has no decal images] > LogCheck() Removes leading/trailing vertical white chars > Shorter declaration of for() loops > submit-maya modified: > GetRenderedImage() checks for more MRAY specific messages > ShowCpus button + dialog popup > Extra license error message checks > Added ribgen generation option to "Render:" pulldown > -se/-be changed to new -rfs/-rfe flags > Added -art when "Threads: all" for maya 2009 (vania/absolutepost 04/28/09) > When "Threads: all" specified, "-art" flag is added > Numerous mods to help screens > submit-cinema4d modified: > OSX section included, PATH set > submit-nuke modified: > submit-nuke includes a way to set the command's name in settings > Updated PATHs > Added LicenseBehavior and Debug prompts to form > License error checking added > submit-redline modified: > Numerous changes > Help screen defined (didn't have one before) > submit-softimage modified: > Tabbed interface Release Notes for 102.42a9a Special Feature Release: 03/xx/09 --------------------------------------------------------------------------------- > RUSH o RUSH: Added new 'r' cpu specification flag which randomizes the cpu starup on an idle farm is randomly weighted, instead of the default weighting defined by the order of hosts in the rush/etc/hosts file. (HAGGE/WARNERBROS) Release Notes for 102.42a9 Fixes/Features: 06/09/08 --------------------------------------------------------------------------------- > RUSH o RUSH: OPTIMIZE NETWORK MESSAGES Optimized an unusual condition that caused unnecessary rush network chatter when cpus were available for rendering but ram was not. Added rush.conf 'optimizeramsched' flag which can be set to '0' to disable this new optimization. (AURYN/LAIKA) o RUSH: Added FIFO scheduling Added new 'sched fifo' command to rush.conf. When enabled, jobs use FIFO order when priorities are otherwise equal. If used, must be enabled on ALL machines. To use FIFO scheduling, uncomment this line in the rush.conf: sched fifo ..and push the modified rush.conf file to all machines: rush -push rush.conf +any (SOHOVFX/ARRI/SCANLINE/PIXELMAGIC/BSGVFX) o RUSH: logdir pathname conversion Added new logdir_convert "from" "to" option to rush.conf file to allow log directories to be converted on the fly for non-homogenous configurations where drive mappings are required, such as SAN mappings as "local" drives where S: may be the only way to access a SAN drive on windows machines in a mixed unix/windows network config. o RUSH: Large frame requeues (Select All|Que on a 7000 frm job) optimized Large requeues when many frames were running at the time backlogged UDP buffers with 'kill' notices. Now threads UDP/TCP message handling in while operation runs. (TURNER) o [WINDOWS] Fixed 49 day wrap around timer (again) Keeps track of 'seconds since boot' timer wraps correctly now. This fixes problem where after 49 days of uptime, the Rushd on Windows machines would stop doing its 30 second checks for changes to the license.dat, hosts and rush.conf file. o RUSH: Fixed problem with 'change priority' error recovery During TCP errors caused by premature peer connection closure was not being abandoned correctly. This caused rushd to continue try to talk over dead link for each priority value being changed with long timeouts, causing rushd to appear unresponsive during that time. Dan had particularly large list of cpus to change, so rushd was offline for a long time during the command's continued execution (dan@sohovfx 11/30/07) Workaround: don't interrupt a 'change priority' operation while in progress. This problem has been fixed in 102.42a9, such that the operation can be interrupted without side effects. o RUSH: Fixed problem with using rsh(1) to remotely restart rushd On Macs, using rsh(1) to restart rushd could cause the rsh to hang if the local shell is /bin/sh (not an issue if shell is /bin/tcsh) rsh(1) passes pipes and sockets to the child processes, causing rsh not to return properly when a program like rushd backgrounds itself. Solution was to have rushd close all file descriptors above stdin/out/err during daemonization to ensure none of rsh's pipes get inherited by the daemon. o Re-instated 'rush -jobremarks' (was lost due to a source code regression) and submit command 'jobremarks' (REG.TESTED/OK) o Added 'rush -exitnotes' (REG.TESTED/OK) This is a low-latency way for jobs to set the 'NOTES' field of the 'Frames' report when a render is exiting. (as opposed to using 'rush -notes', which uses TCP and can negatively affect the job server's response if run too frequently) o 'rush -push': preserves file modes of existing file before overwriting Allows distributing the S99rush file (which is executable) o cpu.acct file: added online/offline state to 'r' (rotate) field (MINSK/CIS) o cpu.acct file: new 's' (state) field shows timestamps for online/offline state changes. (MINSK/CIS) o cpu.acct file: added rush.conf 'cpuacct_usetabs' flag; if set to '1', cpu.acct fields will be tab delimited instead of space delimited. (Lessens size of file) o rush/etc/hosts: detects too few fields o rush/etc/hosts file now allows comments at end of data lines. (ORPHANAGE) o [MICROSOFT] reports new 'log on failure' messages with newer compiler o Fixed improper hostname reporting: % rush -ping router rush: 'fe.erco.x' [router]: valid host is NOT in rush hostlist (/usr/local/rush/etc/hosts) --------- This is the last host in the rush hosts file. Also should be showing the IP address in the brackets. o 'Ram unvailable (x>y)' messages in 'rush -lc' reports; value for 'y' could sometimes go below zero, which is reasonable during calculations (due to TASK_START states). Reports now have value clamped to zero for clarity. > IRUSH o Added Edit -> Preferences -> Themes. First loads $RUSHDIR/rush/etc/.irush-themes (if it exists) Then tries to load user's own ~/.irush-themes (if it exists) Contents are merged, and will appear in Preferences -> 'Themes' menu. o Frame range optimizations weren't enabled. This speeds up changing the state of many frames at once, such as doing a Frames -> Select All -> Que. Code that optimized large lists of frames (eg. 7000 frames) to convert 'rush -que 1 2 3 .. 7000' into a single 'rush -que 1-7000' command was accidentally disabled due to a simple > vs >= bug. (TURNER) o Added 'usetheme' to .irushrc file, to allow saving of user's Theme preference setting. Also allows admin to define default theme in $RUSHDIR/rush/etc/.irushrc o License warnings update automatically o Added 'jobremarks' to "Job Edit" (TESTED, OK) o Added 'irush -fu' command line flag, updated 'irush -help' (TESTED, OK) o Fixed problem with auto-scrolling frames report when sorting enabled (FATIMA @ HAMMERHEAD) One line fix: tty_browser->topline() == 1) // OLD tty_browser->topline() <= 1) // NEW o Fixed 'Edit -> Select All' option (JEREMEY@BSGVFX 11/15/07) o 'All Cpus' report: larger buttons under 'Hosts' section > SUBMIT SCRIPTS: o submit-3delight -- added new submit script o submit-dependon and submit-dependon.bat demo: removed unix-specific /bin/sleep commands. o prevents chdir() to tmpdir o -- Released with support for ConsoleSlave o -- Added more "Alpha Channel" and Pixel Aspect Ratio options. o submit-maya*.pl -- Added REPORTERROR=0 env variable setting to prevent senddmp.exe (See rush.general posting from Greg on 01/29/2008) o submit-maya-and-mray-tile -- removed old maya 'exit 128 license error' code o submit-maya-tile -- added layers support o -- added 'default' and 3delight Renderer: prompt options > maya2008 mods (32bit and 64bit) > 3delight plugin additions > Removed old maya 'exit 128 license error' code > added license pause ability, Licpause+Retry (DADO/WILDBRAIN) > Warns about spaces in pathnames o submit-harmony -- doc modifications o submit-nuke -- numerous modifications for consistency o submit-renderman -- numerous modifications for consistency o submit-shake-quicktime -- numerous fixes to support codecs o submit-softimage -- added -continue flag o Added -presets and -help command line flags to: > > > > > > > > > > > > > > RUSHADMIN: > Added 'Scheduling' tab to adjust new rush.conf fifo scheduling flag > Some minor onscreen documentation mods, small GUI improvements > INPUT: o added 'updatecommand' to 'choice' > INTERNAL: o String Library: fixed problem with String::ExpandEnvironmentVariable() when expanding variables at the end of string. (Found when irush Hotkey was set to e.g. "echo LOGNAME IS $LOGNAME", the $LOGNAME would be empty, but using "echo LOGNAME IS ${LOGNAME}" would work. o Updated TCP/UDP iface bind() error messages to include port number o [INTERNAL] Back ported MicrosoftDeprecate.H o [INTERNAL] Back ported MyMalloc.C exit callback o Makefile: linux lib64 specifics o Makefile: Mac now builds universal binaries by default o FrameType: operator- and operator+ converted to const o IRUSH: Converted frame optimization from doubles to FrameType, to support large floating point frame numbers (10000.005), avoiding suffering limitations of floating point precision. Release Notes for 102.42a8 Features/Fixes: 02/15/2007 --------------------------------------------------------------------------------- > RUSHD o OSX: Important fix for rushd.log filling Mac OSX disks with numerous errors: [..] 12/14,00:00:00 FAIL/TCP Accept failed: Accept(): Socket operation on non-socket 12/14,00:00:00 FAIL/TCP Accept failed: Accept(): Socket operation on non-socket 12/14,00:00:00 FAIL/TCP Accept failed: Accept(): Socket operation on non-socket [..] This was caused by a bug in OSX 10.4.8 (and older) where the res_init(3) call sometimes closes stdin (intermittant problem). This would happen whenever the rush/etc/hosts file was pushed out, or with a 'rush -reload hosts'. This is a bad, bad bug in OSX, so a workaround was implemented: checks if stdin closed after res_init(), and if so, re-attaches stdin to /dev/null. (Lubo/CHRISTOVFX, Michael/LOOKFX) o UNIX: Close all unwanted file descriptors before invoking renders. (eg. close 3..OPEN_MAX within 'intermediate process' after vfork) o UNIX: Fix to 'rush -catlog' and 'rush -dcatlog' to prevent leaking open file descriptors to daemon. (UNIX only; doing open() before fork()) o Fixed problem with 'donemail' not being sent if a jobdonecommand is also set. o Small change to rush.conf file: removed 15 character truncation for hostname field of the frames report: BEFORE: framefmt "%-4s %-7s %-3d %-15.15s %-7d %-16s %-14s %-8s %s" AFTER: framefmt "%-4s %-7s %-3d %-15s %-7d %-16s %-14s %-8s %s" ^^^^^ o CpuInfo-MICROSOFT: Fixed problem with cpu info not showing up under Microsoft Vista. Involved zeroing out structures with memset() before making PDH calls. o During submit, if 'logdir' is not accessable, error message includes the username and hostname to give a permission context to the error message, eg: OLD: rush -submit: LogDir: /some/path: permission denied NEW: rush -submit: fred@tahoe: LogDir: /some/path: permission denied ^^^^^^^^^^ Esp. useful under windows, where the rushd service that has to access the file is running under a different security context (which won't have access to the file) vs. the submitting user. o donemail: now prints reports in this order: --- Frame Info Report: --- Frames Report: --- Job Report: o rushd.log choke installed as added precaution for the above Accept() error msgs; msgs won't repeat more than once every 5 seconds. o Commented out title truncations from all submit scripts, so that job titles derive from the complete scene filename. o Stream library falls back to stderr if fp un-initialized. o Added 'ssb=' field to 'rush -ping' to print 'Seconds Since Boot' value for tracing problems with windows time stamps. o WINDOWS: Fix for the 'rush -status' error: X PdhValidatePath('\Memory\Pages Input/sec'): The specified object is not found on the system ..which was preventing some windows machines from not showing up in rushtop because Windows wasn't providing Page In/Page Out counters. (seth/PROLOGUE FILMS) > IRUSH o New 'Search Filter' feature See demo: o Fixed 'Cmd' button causing sort buttons from previous report to disappear. o WINDOWS: Now tries to use HOMEDRIVE and HOMEPATH environment variables for saving the user's .irushrc file if HOME isn't set. Falls back to c:\temp only if none of the above are set. (NIKLAS/SWISS INT'L) o MySystem() checks to see if GetExitCode() fails o Modifications for special priority sorting (RAINMAKER) o (LINUX) Invoking help docs tries different attempts to open browser, in order: htmlview, firefox, mozilla, konqueror. o (LINUX) Install script now creates /etc/profile.d/rush-render-queue.{csh,sh} scripts, to avoid modifying the /etc/profile and /etc/csh.cshrc* files. > RUSHTOP o WINDOWS: Now tries to use HOMEDRIVE and HOMEPATH environment variables for saving the user's .rushtoprc file if HOME isn't set. Falls back to c:\temp only if none of the above are set. o Help viewer now have selectable text for copy/paste > RUSHADMIN o (WINDOWS) Fixed 'integrity check' problem with "Rush Config" tab (CHI/RAINMAKER) > SUBMIT SCRIPTS o All submit script's menu bars now have a new 'Edit -> Preferences -> Use native filechooser' option, which enables your local operating system's native file chooser. (ie. on macs you'll get the 'mac' file chooser, on Windows you'll get the default windows file chooser, etc) Once you change this setting, it will be remembered for all your rush submit script invocations. Screenshots: o All submit script's 'Help' viewers now have selectable text for copy/paste You can now highlight text from the help screens, and use ^C to copy examples into the paste buffer. o submit-maya > Added 'MI generation' option to just generate MI files See the 'Render' pulldown menu for the new 'migen(mi)' option. Click on the 'Help' button (at the bottom of the submit form) for more info on how to use this new option. o submit-maya + submit-maya-tile: > Added optional "Project:" prompt, so that a fixed project directory can be specified, instead of parsing the project from the scene file pathname. (FILM ROMAN,NICKELODEON) > Added new '-field' command line argument, so that /any/ of the input fields can be preset from the command line. Useful for MEL script invocations. > Added checks to see if scene file exists. Both on submit, and during rendering. Prevents situations where Maya doesn't return a non-zero exit code if scene file can't be opened. (alpha3) > Added Maya 8.5 environment variable settings o submit-maya-tile: > Added 'Background Color:' field for setting background style. This allows the user to either choose 'none' to allow the alpha channel to be transparent, or to choose a specific color (such as 'white' or 'black') to set the background to a flat color. > Added Maya 8.5 environment variable settings o submit-softimage: > 'logtrim' default enabled to speed up rendering for "-verbose full" Can be configured off easily by setting "$G::logtrim_always = 0;" (STEVE/SUSPECTTV) > Under windows, invokes "xsibatch.bat" instead of just "xsibatch" (HARVEY/BSKYB, LOOKFX) > Added command line presets (-field SceneFile:/some/path/foo.scn) > Call to 'siclean' now disabled by default. Can now configure on easily by setting "$G::dosiclean = 1;" o submit-3dsmax: > Fixed problem causing "Error opening scene file: c:\temp\test.max" (HARVEY/BSKYB) > Added environment variable setting examples for 3dsmax8 (HARVEY/BSKYB) o submit-fusion (BETA): Eyeon reports that .flw -> .comp. Script now browses for both extensions. Script still not recommended for use; Eyeon still doing more testing. o Added new script "submit-harmony" for ToonBoom's 2D animation software Also added submit-pix2vec, which handles vectorization. For information on using and installing these scripts, see: (FILMROMAN/IDT ENTERTAINMENT) o submit-maya, submit-shake, submit-softimage, submit-harmony all now have "-help" and "-field" options. The new "-field" allows submit forms to be preset via the command line, eg: //server/scripts/ -field Frames 1-150 -field "Job Title" Maya_Test //server/scripts/ -field Frames 1-10 -field "Job Title" Shake_Test o Removed cause of 'black DOS windows' during submit ( o Removed 25 character truncation of job titles from all submit scripts since now irush has resizable columns. o submit-generic fix to handle exit(2) [requeue] from user's custom commands. (RAINMAKER/BEN STEELE) o Added simple Python and Ruby example scripts: > -- Simple Python example of how to submit a rush job > -- Simple Python example of how to bring up a GUI using rush's 'input' program > simple-submit.rb -- Simple Ruby example of how to submit a rush job > input-example.rb -- Simple Ruby example of how to bring up a GUI using rush's 'input' program > LOGTRIM o WINDOWS: Mods for better error reporting; call to MyPipe::GetExitCode() wasn't checking for failure to /get/ exit code. (windows!) o WINDOWS: Fixed problem in MyPipe-MICROSOFT causing this error in logtrim: logtrim: WARMING: could not get exit code: pipe.GetExitCode(): WaitForSingleObject() timeout ..changed: BEFORE: switch ( err = WaitForSingleObject( pi.hProcess, 0 ) ) AFTER: switch ( err = WaitForSingleObject( pi.hProcess, INFINITE)) ..this ALSO fixed a problem that caused perl scripts to report 'Can't spawn' errors when "Max Log Size" is >0. > INSTALL SCRIPTS: o Linux install script now creates /etc/profile.d/rush-render-queue.{csh,sh} files, instead of directly hacking /etc/profile and /etc/csh.{cshrc,login}. This is so that OS updates that affect the latter files don't affect rush from starting on boot. Release Notes for 102.42a7 August 2006 -------------------------------------------------------------------------- > IRUSH: o Switching jobs in irush now updates the job's title in the Irush title bar. (JWALT/CBS and SEAN/TURNER) o Added 'Upper:AllCpus' option to the 'Edit Hotkeys' menu This way one can make hotkeys for 'rush -lac' that includes colored reports. (ORPHANAGE) o Added ability for 'Hotkeys' to be 'repeatable': 1) Hit 'REP' 2) Hit one of your pre-programmed Hotkey menu item (or function keys) to cause it to repeat. (DYLAN/FUEL, COREY/INSOMNIAC) o Hotkey menu turns green when repeat button is hit, indicating it too can be repeatable. (DYLAN/FUEL, COREY/INSOMNIAC) o Enabled better autodetection when new columns are added to reports. Helps custom generated reports work as expected as 'hotkey' scripts. (RAINMAKER) o Control buttons now remain a fixed size during irush window resizing. (Replaced Fl_Group with FixedSizeGroup) > RUSHD: o [OPTIMIZATION] unix/vfork and Windows both use internal 'rush -spawn' instead of 'rushd -spawn' to avoid overhead of rushd reloading rush/etc/hosts file. Customers with large rush/etc/hosts files will benefit here; removes per-frame overhead of hosts file reload. (ZOIC/ORPHANAGE/WBFA) o Removed 'settlement delay' when UDP errors encountered by recvfrom() which was causing sluggish response to UDP traffic, and these error messages: Udp::Receive():recv_from(): Connection reset by peer ..mostly under windows. Symptoms: a) Many 'connection reset by peer' errors in rushd.log b) Messages coincided with UDP specific sluggishness ('-lac', '-status', rushtop) c) By contrast, TCP commands relatively responsive (-ping,-lj,-lf) d) CPU use of rushd was very /low/ during non-response periods (DYLAN/FUEL) o OSX: fixed free memory calculation for Mac/OSX, added 'inactive' ram to free count) Result: more accurate view of free vs. used memory in rushtop for OSX platforms. (ROB/CIS) o 'rush -cp @100' shortcut for changing priority of all cpus implemented o Added new rush.conf commands "win.priority.daemon" and "win.priority.render" to allow the priority of the daemon and the renders to be explicitly set by the sysadmin, to help keep the daemons responsive during heavy rendering (DYLAN/FUEL), eg: # Make daemon 'above normal' priority, keep renders at regular priority os=windows win.priority.daemon above_normal os=windows win.priority.render normal Valid settings are: normal, above_normal, below_normal, idle, realtime o Knocked some other error managing 'settle down' delays from 5sec -> 1sec o Resolver library reset when hosts file reloads (so that DNS server info is rehashed) o Changed handling of JOBPASS/UNPASS events to not look for frames to prevent unnecessary error message babbling in the logs. o Silenced 'connection reset by peer' messages from recvfrom(), as these could happen when sending eg. reboot messages to remotes that were down, causing needless babbling in the rushd.log (DYLAN/FUEL) o Added fedora3 libs to release dir (so 64bit machines can install correctly) Tested on 64bit fedora4. o Added -D_FILE_OFFSET_BITS=64 compile flag to rush and rushd to ensure 64bit runs OK when mounting 64bit remote file systems. (CAPITAL-FX,08/22/06) o Added logdir.sync to rush.conf: allows disable fsync() commits for frame logs > RUSHTOP: o Reports 'rush -status' errors (reported on the optional 'X' line) so as to make eg. PDH library errors visible. Shows errors as white text over a red background. > RUSHADMIN: o Fixed 'rush: command not found' error on OSX when rushadmin invoked from Finder. > SUBMIT-TURTLE: o Frame Padding now assumes 'default' intead of '1' (ENGINEROOM?) o Added 7.x settings > INSTALL SCRIPTS: o Unix install scripts modified to recommend starting daemon with /usr/local/rush/etc/S99rush start ..which is more consistent than /etc/init.d/rush and/or /System/Library/StartupItems. > SUBMIT-MAYA SCRIPTS The submit-maya vs. submit-maya6 scripts were confusing people. So the scripts were renamed: > The new style "Render -r" scripts were renamed to "submit-maya" > The old style "maya -batch" scripts were renamed to "submit-maya-old". Here's the specific name changes to the maya scripts: SUBMIT-MAYA --> SUBMIT-MAYA-OLD SUBMIT-MAYA6 --> SUBMIT-MAYA And the name changes to the maya tile scripts: SUBMIT-MAYA-TILE --> SUBMIT-MAYA-OLD-TILE SUBMIT-MAYA6-TILE --> SUBMIT-MAYA-TILE So to use the newest scripts, use 'submit-maya'. > INPUT: o Added submitboxup/boxdown, cancelboxup/down, helpboxup/down o Added togglebutton o checkbutton o choice: added 'boxup' (allow redefinition of boxup type) Release Notes for 102.42a6 06/12/06 -- IMPORTANT FIXES -------------------------------------------------------------------------- > IRUSH: o Shows warning if license will expire within 5 days. See license warning image o Fixed problem with report buttons not showing for hotkeys o IRUSH: Fixed small bug in Hotkeys: sometimes hitting hotkeys won't show formatted reports properly; 'jobs' or 'frames' reports would use the formatting from the last report that was generated, instead of applying the report formatting for the programmed hotkey. Problem depends on the last report that was on screen. Replication: 1) Program a hotkey to generate a 'Jobs' report. 2) Hit the "Frame Info" button (generates an unformatted report) 3) Hit your new hotkey; the job report will remain unformatted (no resizable columns or sort buttons) Caveats: If you hit the 'Jobs' button, then your hotkey, it will work correctly. > RUSH: o IMPORTANT UNIX FIX: fixed fork() bug with 'rush -ljf JOBID' command that left behind an extra copy of the daemon if the JOBID specified doesn't exist. Also added code to detect similar errors and prevent the problem. (WARNER/HAGGE,ELECFX/PVC,EFILM/VAILE) o Fixed problem with daemons not reporting missing log dirs in user's framelist. 'rush -notes' was being invoked w/out the frame number, causing these errors in rushd.log: rush: 'rush -notes': frame range error: 'ERROR: can't create log as erco@tower: //some/path: No such file or directory': bad frame number at 'E' o UNIX OPTIMIZATION: vfork() option added to reduce memory use when rushd starts processes. Solves problem caused if someone dumps several jobs at once on a large job server, and job server suddenly starts using a lot of memory due to fork() being called to run job[done/dump]commands and archival of jobinfo/framelist files. The fork()s were causing page table activity (in spite of the fact that 'copy on write' should prevent memory use). (for ZOIC/LAIKA/VINTON) o New option in rush.conf: use_vfork [0|1]. use_vfork is now on by default. o Silence these ALERTs: 05/29,18:18:09 ALERT Task 'CpuPass1' ignored for non-existant frame -99999 from ?@remotenode:1457[#.#.#.#:1457] Prev=jobserver 0 jobserver.94,SOME_TITLE -99999 433 1 JobPass Job state is 'Done' New=jobserver 0 jobserver.94,SOME_TITLE -99999 433 1 CpuPass2 Ram unavailable on remotenode (1>0) (RENDERROCKET) o Frame state change security messages modified to be consistent with other change notices: OLD: SECURITY jobowner@tahoe.33(JOBTITLE) frames changed (1-100) to state Done by someone@somehost NEW: SECURITY someone@somehost changed frames (1-100) to state Done for job jobowner@tahoe.33(JOBTITLE) o Silenced extraneous messages about frame state changes when the command the user ran din't actually change any frames. eg: SECURITY .. frames changed (xx) to state (yy) by (someuser)" (THE ORPHANAGE) o rush.conf has new "browser.command" to allow control over which HTML browser is used for viewing some html documentation (eg. Irush|Help|Tutorial). See (WBFA/HAGGE) > SUBMIT SCRIPTS: o SUBMIT-MAYA6-TILE: > Fix for Alpha channel getting flattened out by ImageMagick. (SEAN P/TURNER) o SUBMIT-MAYA6: > Fixes for rendering with Mental Ray Standalone with batched frame ranges > Handles floating point rendering > Handles stepped batching (eg. Frames: 1-100,2 BatchFrames: 10) > submit-maya6 has greatly enhanced "Help" documentation ..for how to use the script in its various forms for: Maya Software Rendering Maya Floating Point Rendering MentalRay For Maya Rendering MentalRay Standalone Rendering RenderMan Rendering To see these new docs, click on the "Help" button at the bottom of the submit form, showing how to use each of these rendering options. > Fixed Chdir message to indicate changing to project dir > Added RenderMan plugin variables > Prints warning if user's maya preferences dir doesn't exist (which causes command line renders to fail with weird error from maya) Checks: MAC: $HOME/Library/Preferences/Alias/maya LINUX: $HOME/maya WINDOWS: No checks o SUBMIT-SHAKE-QUICKTIME: > Added lots of Quicktime codecs, thanks to Mike Marcus at Gadget-MC. > INTERNALS: o input's Yes/No dialog now uses red/green colored buttons o AlertMessage improved, OK/Cancel buttons stay constant size Release Notes for 102.42a5 04/15/06 -- SMALL MODS -------------------------------------------------------------------------- > RUSH: o rush -lah: Report if there are too many hosts in rush/etc/hosts Modified to now show: % rush -lah IP Hostname Ram Cpus MinPri Criteria geneva 1024 2 0 +any,+w2k,+work rotwang 100 2 0 +any,+erco,+linux,linux,linux6.0,intel,dante ontario 100 2 0 +any,+erco,+linux,linux,linux6.0,intel,dante [..] r0129 100 1 0 +any,+sgi r0130 100 1 0 +any,+sgi *** ERROR: TOO MANY HOSTS IN RUSH HOSTS LIST [24 found, 20 max] <-- *** ERROR: The following hosts are being ignored by rush.. <-- *** r0131 100 1 0 +any,+sgi <-- *** r0132 100 1 0 +any,+sgi <-- *** r0133 100 1 0 +any,+sgi <-- *** r0134 100 1 0 +any,+sgi <-- o [INTERNAL] 'rush -dlog e' now reports license reload time checks, in addition to hosts/rush.conf. > WWW-RUSH: o Help links open new window o Small additions to JobEdit help > IRUSH: o "Frm Info" fixed in "All Cpus" and "Cpus" > SUBMIT: o submit-maya6 -- added 'mentalray-standalone' option using 'Render -r mi', Mray Flags, Debug, etc. o submit-lightwave -- added JD Trout's mods ( for lightwave/linux o -- applied minsk@CIS's $daystart bugfix, added some comments Release Notes for 102.42a4 03/09/06 -- IRUSH FIXES -------------------------------------------------------------------------- > IRUSH: o Removed CRLFS from 'rush -rn' commands. Hostnames with crlfs was causing problems with daemons. (FUEL/DYLAN) o Added ^A to do a 'select all' for both windows o Some mods to \r \n stuff o Fixed handle leak in MyPipe-MICROSOFT + MyPipeCommand > RUSH: o 'Trade uid/gid' error messages weren't reporting remote hostname in logs OLD: 03/14,17:15:17 SECURITY TradeUidGid() FAILED: 'XXX': bad uid/gid handshake NEW: 03/14,17:15:17 SECURITY TradeUidGid() FAILED: 'XXX': bad uid/gid handshake from ontario[] > SUBMIT: o (WINDOWS) submit-bmrt.bat wasn't installed in Windows distribution properly > --- Internal Release: 102.42a3 (03/01/06) Irush optimizations/fixes. No changes affect network messages. Client/server compatible w/102.42a > IRUSH: o IRUSH: Now has interactively resizable columns. See: o irush beta: Optimizations for irush sorting: switched to using qsort for buttons, and realtime sorts use new optimization for worst case sorts. (LUMA PICTURES) o irush beta: Fixed threading problem that appeared only in irush beta testing causing irush to hang on OSX after long periods of REP operation. (FUEL) > RUSH: o Fixed fork() problem with 'rush -lc' if jobid unknown and delivery of error message fails, an orphaned daemon would result. > SUBMIT SCRIPTS: o Fixed problem with submit script file browsers under Linux 64bit systems accessing IRIX64 mounts, and giving a "Value too large" error. (LOOKFX) (Added -D_FILE_OFFSET_BITS=64 to FLTK and Rush build flags) > Internals/Preventative Maintenance: o Fixup Makefiles to ensure all FLTKDIR= settings are consistent. o Modified Makefile: 'make release' automatically builds .make-XXXX.out file o Converted all TCPSENDEXIT -> TCPSEND, added 'int forked = 0;' to all functions, to ensure no problems occur with fork() return vs. exit() management in macros. o Verified all funcs using TCPSEND redefine "EMSG" macro for accurate log msgs. > --- INTERNAL RELEASE 102.42a2 (02/07/06) Maintenance fixes + new submit scripts. No changes affect network messages. Client/server compatible w/102.42a > IRUSH: o IMPORTANT FIX: fixed a problem with 'rush -log' for floating point frames (as reported by TURNER with for viewing logs for 0001.00, 0002.00, etc) o Clearer description text for Job Edit remove cpus o Using centralized ShowLogsForSelectedFrames() (removed redundant code) o (Did NOT take jobcommandlogs stuff from 102.42b) > rushd: o "Dependon" behavior fixes (for theorphanage) o JobState_TCPCMD: Fails if user tries to 'rush -cont' a job that isn't paused. > RUSH: o Trims hostlist if too many hosts, instead of failing outright. (Host.C) o Fixed problem with daemon not resolving IP addresses when a host reboots with no network access temporarily. Fixes this problem that occurs right after boot: 01/25,06:51:47 INIT.D Startup script '/usr/local/rush/etc/S99rush start' 01/25,06:51:47 INIT.D Executing: ( /usr/sbin/ipconfig waitall && cd /usr/local/rush/var && /usr/local/rush/bin/rushd ) & 01/25,06:51:48 LICENSE select() on connect(): Connection refused <-- 01/25,06:51:48 LICENSE no servers could validate license (30 sec retries) ..where the last two messages repeat for 15mins after network connectivity is restored. Also fixes this problem: 01/25,07:07:26 ALERT Udp::GetRemoteHostname( host not in tower:/usr/local/rush/etc/hosts 01/25,07:07:27 ALERT Udp::GetRemoteHostname( host not in tower:/usr/local/rush/etc/hosts ..where hosts ARE in the rush/etc/hosts file, but the entries remain ??? due to the network outage, and weren't being recached, due to missing call to _CacheNIS() in the Host::IsIpAddr() method. 'rush -lah host' would actually FIX the problem, due to how that command fixes the cache. (CIS/MINSK 01/25/06) o Fix for 'rush -rc' slowness when removing cpus. (Job.C: was doing hostname lookups on .tid's) ENGINEROOM/CURIOUSPICTURES o IMPORTANT FIX: 'rush -push' Fix for Windows 'Operation would block' error which shows up when 'rush -push'ing on large windows nets. o Fix for 'rush -lfi' for single frame rush jobs not reporting ETAs o Fixed rare duplicate entries in -laj/-lac reports. Problem caused by transmission serial numbers. o Added setlogin(2) calls to OSX. Use 'use_setlogin' in rush.conf to allow enable/disable. (on by default) o Added [optional] use_setlogin to rush.conf o Added [optional] submit.nice to rush.conf o Added [optional] use_localized_pdh to rush.conf o Widened "Owner" field from 8 to 14 for 'rush -lj/-laj/lac' fields. (rush.conf) o rushd/windows: now gets cpu status info if Windows is localized in a language other than English. (This can be disabled in the rush.conf file with 'use_localized_pdh no') *TESTED 01/22/06 on WIN2K* o Fixed jobcheckpoint loading -- jobs with blank lines in job notes was preventing job from restarting. [SOHO] *TESTED 01/22/06* Fixes this error: 01/12,11:19:56 CHECKPOINT /usr/rush/var/jobs-checkpoint: Line 841: 'notes' nothing specified 01/12,11:19:56 ALERT *NOT* starting jobid muppy.14 due to above error o Enforcing line length limit for command line arguments: rush -jobnotes "XXXX" rush -notes "#:XXXX" rush (-online/-offline/-getoff) -msg "XXXX" 'rush' will fail with an error message if line too long to prevent crashing daemons. (DYLAN/FUEL) *TESTED 01/22/06* o Expanded String.C line limits from 1000 -> 4096 for Sprintf() methods. Dylan @ fuel reported a problem caused by hitting a line limit for job notes and frame notes. o -checkhosts now checks license count o (Some small -rendersim fixes) > SUBMIT SCRIPTS: o allows '#' comments in screen description text o Added new submit scripts and tweaks to Makefile: submit-cinema4d submit-fusion submit-realflow submit-turtle submit-maya6-tile o Included Mac's examples/Applications dir for all platforms. ( o Changed G::logtrim_always from 1 -> 0 for all scripts by default. (logtrim somehow causing trouble under Windows) o submit-animo -- numerous slate/ddr fixed for Keith Pang's tests o submit-combustion -- 'tabified' form o submit-maya: > Maya 7.0 Mel fixes for mray standalone rendering > Maya 7.0 default variables > Added 'SaveMIDirectory' prompt (XRAY/A52) > Fixed image viewing for mray renders that don't print full image pathname (XRAY/A52) o submit-maya6: > Maya 7.0 default variables > Added 'renderman(rman)' to Renderer: chooser o submit-maya-tile: > Maya 7.0 default variables > Added auto-project determination (TURNER) > Fixes for image directory use, -rd flag o submit-maya6-tile: > New script that uses newer 'Render -r [sw|mi]' syntax for tiled rendering of both Maya and Mental Ray rendering. See: o submit-mray: > RenderFlags moved to MentalRayFlags > Added 'FieldRendering' flag for SI style field rendering (coreent) > Added checks for if MI file doesn't exist > "Tabified" the form > Numerous improvements to the docs, documenting above o submit-shake-quicktime: > IMPORTANT FIX: argument order problem > Added verbosity option > Separate "Sorenson Video 3" and "Photo-JPEG" options o submit-shake: > NumberOfCpus default changed to 1 to prevent cpu overuse > Added -field stuff, to support command line presets (to allow plugins to invoke submit-shake with presets) o submit-combustion: "tabified" the form o submit-softimage: > Added SPM_HOST example settings > XSI 4.0 default values > xsi command line changes: "xsi" -> "xsibatch", "-script" -> "-scene" > Prompt change: LogDir -> LogDirectory > Wasn't setting the "Job Title" to the scene filename (regex fix) o (input: ported over all improvements to date from 102.42b (12/02/2005)) > WWW-RUSH o added check for Windows/Apache (HWEST/BSKYB) > EXAMPLES o added new functions: sgn(), SaveSubmitInfo(), BatchStepSubmit() o Added > Internals/Preventative Maintenance o Disabled some ERCODEBUG messages leftover for TASKIO_RECV (Task.C) o Fixes for Help guis not using correct help directory. (common/MyBrowser.H) o Removed unused 'underline' stuff from MyLinkLabel. o FLTK/MICROSOFT: Fixed CR/LF paste problem o Upgraded to 1.1.6-3 utf8 with patches o Boot script [MAC OSX]: added 'ipconfig wait' to solve Mac problem with rush not starting right away on boot. Release Notes for 102.42a MAINTENANCE RELEASE (SMALL FIXES) -------------------------------------------------------------------------- > Small irush copy/paste fixes for Windows. Fixes fltk crlf problem with pasting into older apps like Notepad, DOS. Submitted and applied Fltk's STR #961. > submit scripts: changed all "$G::logtrim_always = 1;" to set to "0" instead. logtrim isn't handling spaces in arguments correctly on Windows, and Xray reported a logtrim "Can't spawn" error for Windows XP (which we can't replicate here) > submit-softimage: fixed some old variable references to {LogDir} -> {LogDirectory}, and added code to optionally load the SI environment file. (XTFX/STOPOST.SE) > 102.42 very first release had problem with "From " field getting forced into rush emails. Release updated same day with fix. (VINTON/CIS) > submit-maya: added tweaks to allow middle-click to view mental ray renders where the full pathname isn't in the render output. (XRAY/A52) > submit-maya: added a 'Save MI Directory' field under the 'Maya' menu, so the user can keep a copy of the MI files generated. (XRAY/A52) > submit-maya: small indenting problem in help docs fixed > Windows didn't have the examples/Applications directory for macs. (fixed) Release Notes for 102.42 RELEASED: 07/11/2005 -------------------------------------------------------------------------- > [SUBMIT] Added new example submit scripts. o Shows how to submit a maya image render as tiles on multiple machines. o Uses new '-r sw|mr|hw|vr' stuff. o Simple submit script for Silicon Grail's 'rayz' > [WWW-RUSH] Various fixes: o Job edit now can manage multiple jobs at a time (KILLEROBOT) o Added 'Change # Cpus' button to the "Cpus" report screen o Added a 'G_viewonly' flag, so the systems administrator can disable www-rush users from being able to change jobs (ie. 'read only') o Mods to handle new 'floating point' and 'negative' frame numbers in jobs. > [SUBMIT SCRIPTS] Various fixes to submit scripts: o Added 'python' to submit-generic script languages that can be submitted o All renders now pipe output through logtrim to improve render times. The line buffering offered by logtrim improves render times, preventing per-character buffer flushing to the file server. o Auto generated job titles widened from 15 characters to 25 characters o Submit scripts now use ~/.rush/.submit-XXXXX for history droppings, instead of just "~/.submit-XXXXX". Prevent's user's top level directory from getting messy. o Alert windows now limited to not exceed the size of the desktop. o OSX no longer needs separate submit scripts. The OSX "" packages invoke the same perl script files that the windows and linux users use. o Help text is now out of the submit scripts, and in a separate 'help' directory in the same dir as the scripts. Improves readability. o Linux/Irix/Windows distributions of Rush now include the Mac's "Applications" dir for the submit scripts. o 'Submit Host' field should now allow one to specify multiple hostnames. This will cause one of the hosts to be chosen at random, to allow distribution of job serving to any of a group of remote machines. o Linux version of submit-maya scripts now invoke 'display' instead of fcheck. This is to work around a bug where 'fcheck' doesn't properly open if stdin is not a terminal. o New 'Start Irush?' chooser added to all submit scripts (under Advanced Options) allows user to control whether a new IRUSH window is opened each time or not. Choices are yes, no, and "ask". 'ask' prompts you as part of the job submit confirmation dialog:
o 'batch clipping' problem fixed. There was a problem at the special boundary condition where the last frame in the frame range matches the last frame in the frame list. eg. "1-281 batching 5" was still trying to render 281-285, because 281 was the last frame in the list. Fixed. (ARRI) o There are now three different file choosers the Rush submit scripts can use: 1) the "old" one 2) FLTK's new file chooser 3) the "native" OS file chooser Which is used can currently be selected by an environment variable at the top of the submit script. In the future, this will be selectable as a preference in the input form. > [SUBMIT-MAYATILE] Now can render multiple frames, instead of just single frames. Making use of floating point capabilities to make it easy to tell which frame is which. > [SUBMIT-AFTERFX] Added a chooser for which version of AfterFX to use. This allows the submit script to support multiple versions of After Effects, eg. during beta testing. > [SUBMIT-MAYA-FLOATING] The submit-maya-floating script has been removed. This script is made obsolete by floating point number support added to Old copy is here: > [RUSHSENDMAIL] various: o Rush now uses 'rushsendmail' on all platforms o Made mail.log output clearer. Convert \r\n pairs to [CR] and [LF] respectively. > [LOGTRIM] Fixes and additions to 'logtrim' program: o Added -f flag to logtrim; uses fsync() to flush output o Unix: Fixed problem that caused child process to orphan itself. Changed setsid(2) -> setpgid(0,0) (fixes problem with fcheck not opening under unix because it wants access to a tty), and disabled process groups in logtrim(1). Certain circumstances where a csh or sh was the child of logtrim(1), the shell (and its children) would become orphaned on requeue of frames, b/c logtrim was starting it's own sessions. Fixed in 102.42; logtrim no longer changes process groups, so children remain in same process group. o Windows: Fixed 'access denied' errors. When used under Windows via the submit scripts (ie. Max Log Size > 0), logtrim(1) was returning an error message, eg: logtrim: pipe.Open()CreateProcess failed: 'cmd /c mayabatch ..': Access is denied. > [IRUSH] Various bug fixes: o Fixed problem with UTF8 paste on old releases of linux. (WDPTV) o Addressed various pasting problems from irush for cross platform. Mac would paste double-spaced lines. Windows would paste LF's w/out CR's, making odd box chars when pasting into notepad/wordpad. Using static copy buffers now. o User can now backscroll logs during continous render output. When the user back scrolled a tailing log file, each time the renderer added new output, the screen would scroll back to the bottom, making it hard to peruse logs while verbose renders are running. Only happened if irush's "Preferences | Tail Logs" is enabled (default). Fixed: while user holds mouse button down on scroll bar, it will hold the scroll position, even during continuous output from the renderer. Cause: was working in 102.31m, but a logic bug crept into the 'mouse button down' logic. (ROFER) o Fixed problem with hostnames like 3d01 in 'All Cpus' report FLTK's '@' color codes weren't being terminated with "@.", causing codes to leak into hostnames; '3d01' would be displayed as 'd01' (FIDO.SE) o Fixed benign 'X_ChangeProperty: BadValue' error under linux. Changed argc=0 -> argc=1 during call to Fl_Window::show(argc,argv); (WDPTV) o All references to 3dsite changed to seriss in help and 'about' dialog > [IRUSH] Various features added: o An 'i' information icon was added to all buttons, to make it more obvious how to view the context sensitive help docs. These icons can be disabled via the 'Edit | Preferences | Use Info Icons' o Added '^C' ability to copy from the Job Edit | Remove Cpus + Never Cpus browsers. o Double-Left-click on a frame in AllCpus or Cpus report now shows the log. o Middle-click on a frame in AllCpus or Cpus report shows the log AND image. o Added a "View Image" button to the "Frame Controls". This way the user can select a frame and hit "View Image" to JUST see the image. o fixed ALT-DOUBLE on frame so that it doesn't check ALT key after 'log view' finishes. o Fixed tooltips to show 'Middle Click' to invoke 'imgcommand'. Also fixed irush-help. o Job edit window now split into separate tabbed screens o Warns about stale frame logs if frame is still 'Que'. Slider bar (split screen) shows in orange with warning message. o Normal character-at-a-time text selection is now available in the 'frame logs' window. Before, you could only select and paste entire lines. o ImgCommand's environment includes RUSH_LOGDIR + RUSH_LOGFILE variables. This saves the imgcommand the trouble of having to parse these values from having to parse these values from a separate invocation of 'rush -ljf'. > [RUSH] Various fixes to Rush: o Fixed bug in scheduling tasks that timeout with unresponsive jobserver; tasks were not resorting into their priority groups. (VINTON 07/07/05) [This fix was backported to 102.417 and released to vinton] o Fixed bug in rush(1) [client] that caused unnecessary hostname namelookups on the entire rush hosts file when it's initially loaded. o When logs can't be opened, shows "user@host" as part of error message, so users/sysadmins can see the permission context during the creation of the log files. o New rush.conf setting "framelog.ext" lets the sysadmin globally set the default filename extension to be appended to all frame log filenames, eg. on an all Windows network, it may be useful to have framelog.ext set to ".txt", so that all log filenames will have ".txt" appended by default. This setting can be overridden by the user on a per-job basis via the 'logext' submit command. o New submit command "logext" lets users control the filename extension appended to all frame log filenames. If set to ".txt", then log filenames will have ".txt" appended. This overrides any setting for the "framelog.ext" in the rush.conf file. o +hostgroups and criteria are now case insensitive o 'rush -ping' shows shorter, more descriptive error messages.. Server side error messages are now shown. OLD: meade: rush: 'rush -ping': TradeUidGid() failed: connection reset by peer NEW: meade: Error from meade[]: host not in rush/etc/hosts OLD: sup: rush: 'rush -ping': select() on connect(): (113) No route to host NEW: sup: select() on connect(): No route to host o 'rush -reload [hosts,rush.conf]': new command line option, to let the sysadmin force rush daemons to reload their 'rush.conf' or 'hosts' files (flushing out IP caches) o 'rush -rc' wasn't allowing hostname aliases to be used. o 'rush -status -c 0 +any' fixed subtle output delay problem. Output would be 'bursty' if machines were down, causing rushtop(1) to appear to sometimes hold a few seconds, then 'catch up', then eventually even out. o 'rush -status now shows RAM and SWAP totals for the Windows platforms. (It didn't in earlier versions -- omission?) o 'rush -dlogstats': added a 'Warn' field o 'rush -ac' wouldn't work with FQDN hostnames. Hostnames containing dots would confuse 'rush -ac's hostname parser into thinking the '.' indicated a 'max cpus per host' cap, eg. "+group=10.1". Fixed; FQDN's now go through OK. (WDPTV) o Errors starting processes under Windows are now added to the rushd.log. StartProcess() errors were not getting added to the rushd.log. This showed up when someone removed the c:\temp dir on a windows machine. The errors were getting in the 'Cpus' report (rush -lc), but NOT in the rushd.log. (ASSEMBLECO.COM) o rushd: solved problem with dual interfaced license servers; handles situation where license servers on dual interface machine may re-arrange their interface order after a reboot. (GORK/RIOT) o rushd: Fixed UDP error messages not printing 'ALERT/EXIT' in rushd.log -- 03/26,12:06:42 LICENSE server altix350 ready to issue 10 licenses 03/26,12:06:42 INFO TCP listening on port 696, service 'rushd', sockfd=4 udp: iface bind( Cannot assign requested address -- and missing CRLF for this error: -- [root@altix350 var]$ ../bin/rush -uping altix350 rush: iface bind( Cannot assign requested address[root@altix350 var]$ -- o rushd: 'client sent us garbage' error now includes a URL describing problem o Rush now reloads hosts file each time license won't validate. This ensures a manual change to the hosts file gets picked up. 09/07,04:55:18 LICENSE 'meade': valid host is NOT in rush hostlist (/usr/local/rush/etc/hosts) 09/07,04:55:18 LICENSE no servers could validate license (30 sec retries) <-- reloads hosts file here o rush.conf 'smtpport' was being ignored; now fixed. o Fixed problem with loading checkpoint files. On reboot, job was not loading if it contained a hostname that was no longer in the rush hosts file. Example: 1) Job requests hosts a,b,c 2) Sysadmin removes host 'b' from hosts file 3) Daemon reboots 4) On reloading job requesting hosts "a,b,c", job fails to load because 'b' is no longer a valid host. Behavior is now: 'b' is ignored; a message is printed to the log warning host is dropped from job, job continues to load normally. o jobcheckpoint now ignores errors if 'waitfor' or 'dependon' jobids no longer exist. (CIS,09/30/04). Previous behavior was if waitfor or dependon jobids no longer existed (because they were dumped or autodumped), the parent job would not restart after reboot, logging a rushd.log error: 09/30,13:26:32 CHECKPOINT START: Loading /usr/local/rush/var/jobs-checkpoint 09/30,13:26:32 CHECKPOINT /usr/local/rush/var/jobs-checkpoint: Line 118: 'waitfor tahoe.87': unknown jobid 09/30,13:26:32 ALERT *NOT* starting jobid tahoe.88 due to above error o Linux: modified to correctly resolve ram+swap under Fedora Core 2. (There was a change to the /proc/meminfo data format) o When a host is removed from the hostlist, it is now automatically removed from all jobs and schedules, to prevent repeating errors about invalid hostnames, etc. o Rushd now retries network setup if network hardware not yet ready on boot Retries starting TCP/UDP services every 20 seconds until success. Will possibly help with Windows machines that have delays starting up IP networking. o 'rush -reserve': fixed problem where optional [ramval] was not being parsed correctly: % rush -reserve somehost@100 2048 rush: usage: rush -reserve [-server ] cpuspec [ramval] Now fixed. (ROFER) o Fixed a problem with Rush attempting to contact machines no longer in rush/etc/hosts (CHARLEX) If a machine was removed from the rush/etc/hosts file while hosting a job, the remotes rendering the frames would continue to try to contact that machine, even if the remotes were rebooted. They would retry sending reboot msgs to the machine, complaining in the rushd.log file: ALERT SendRebootMessages() to 'HOSTNAME' failed: 'HOSTNAME': valid host is NOT in rush hostlist (c:\rush/etc/hosts), msg='reboot' ALERT SendRebootMessages() to 'HOSTNAME' failed: 'HOSTNAME': valid host is NOT in rush hostlist (c:\rush/etc/hosts), msg='reboot' o Fixed a problem with rushd license server not reloading a new license.dat file if steady stream of traffic was being sent to daemon. (Various mods were made to rushd's license reloading system) > [RUSH] New features added: o donemail/dumpmail now includes 'Frame Info' report o 'rush -tss' now takes optional 'csh' or 'perl' arguments to output either csh or perl versions of the submit scripts. (Ditto for -trs) o 'rush -status': 'S' field now has new swapin/swapout/swapbad values o 'rush -status': New options -jobs/-cpus/-usage lets user control which information is shown. If none specified, old behavior results (for backwards compatibility). Decreases packet sizes used by 'rushtop', 'rush -laj' and 'rush -lac'. o 'rush -rotate': different log files can now be specified for rotation, eg: 'rush -rotate cpu.acct [host..]' o Added two new environment variables passed to render scripts: o $RUSH_FIRST_FRAME -- the first frame in the job o $RUSH_LAST_FRAME -- the last frame in the job These variables are useful if the render script wants to determine if it's working on either the first or last frame in the job. o Negative frame numbers now supported by rush. eg. rush -af -10--5 (-10 thru -5), rush -log -10 (view log for frame -10) o Floating point frame numbers now supported by rush. eg. rush -af 1.50-2.00,.10 This radically changed the data in network messages: BUMPED VERSION .41->.42 o Added 'framepad' to rush.conf, to allow control of global frame padding value used in all of rush. See: o 'rush -lf' and 'rush -lc' reports can now be reformatted. Added: framefmt cpufmt frameheader1 cpuheader1 frameheader2 cpuheader2 the rush.conf file. o Various reports have wider fields to support floating point frame numbers, and wider job titles, jobids and hostnames: rush -lj: JOBID and TITLE widened rush -lf: FRAME, HOSTNAME and JOBID widened rush -lc: FRAME, JOBID widened rush -lac: HOST, JOBID, TITLE, FRAME widened rush -lah: HOSTNAME widened rush -lfi: JOBID widened rush -tasklist: HOSTNAME, FRAME widened o "Valid host not in rush hosts list" errors improved. On some systems, only the IP address was being printed. o dependon jobs start frames right away if primary job already has done frames. Prevents need to pause parent job before starting child jobs. o subtle problem with 'rush -waitfor' fixed. If 'rush -waitfor +1h' was applied after a job was done, and then frames were requeued, the frames would still start running right away. (workaround was to pause job first, but now that's no longer necessary) Now job will wait after frames are requeued. o You can now requeue all frames with 'rush -que all' o Added negative hostname caching. Causes rushd to ignore hosts that have no or bad hostname lookups, instead of beating on DNS, creating delays in daemon's responsiveness. o Implemented 'task hints' (message indexing) to prevent linear lookups. This should greatly improve the speed network messages are processed by the daemons, avoiding linear lookups for database information. Also added -dstats to show hint hit/miss info. This radically changed the data in network messages: BUMPED VERSION .41->.42 o Added 'rush -catlog [cpu.acct|rushd.log..]' to obsolete 'rush -dcatlog' etc. Lets admins access remote accounting logs. o Added new example script (rush/etc/ to print simple cpu utilization reports. o Frame logs now reports Rush version number in frame logfile headers, eg: --------------- Rush 102.42 -------------- -- Host: tahoe -- Pid: 2142 [..] o Improved error reporting for rresvport() errors. o Added [-b bytes] to 'rush -uping' o Some bugs fixed that prevented raw IP addresses from being used in jobids and in the rush/etc/hosts file (instead of hostnames). > [RUSHTOP] New features added to 'rushtop' o Now uses new 'rush -status -usage' to minimize packet sizes o hyperthreads now show up under Windows as separate processors. o Now shows swap (paging) activity as 'orange' bar in swap column o Added a 'logarithmic decay' (default on) for bar graph o 'non-responding' now uses yellow/black chevrons instead of white lines. o Added a popup menu with: 1) 'use decay' option to enable/disable graph 'decay' 2) online help, including screenshots, bar descriptions, etc 3) update speed 4) Can select between new default Yellow/black warning chevrons and old white-line-hashmarks. State saved in ~/.rushtoprc file
> [RUSHADMIN] New features added to 'rushadmin' o There are now easy ways to configure these commonly modified values in the rush.conf file: > Mail server settings > ntrushuid/gid values > Rush administrator user names ..go into 'rushadmin' and click the 'Rush Config' tab > [INPUT] various additions to the 'input' program used by submit scripts: o Added 'tabs' o Added 'imagename' to box o Added systemflags 'eb' for unix (anticipating 'install' program) o Added browserchoice, a browser widget (VPJ) o Using DoubleWindow to prevent scrolling flicker o Added $RUSH_QCCHECK variable to to verify keywords are correct o Added inputchoice, a combo of a chooser and input widget o Added native file browsing for Mac and Windows (VPJ) via the env variable "RUSH_FILECHOOSER" which can be set to 'n'=native, 'f'=fltk new, 'o'=old. to affect the file browsers used in eg. submit scripts. By default, 'o' is assumed if the variable is unset. o Greatly improved syntax error reporting throughout app. (no more blank error msgs) > [INSTALL] Various fixes to the installer scripts o OSX: now adds rush path to /etc/profile. o examples/test-submit: changed /usr/tmp -> /var/tmp o LINUX+MAC: now adds rush/bin to csh.cshrc + csh.login, without adding it more than once. > [INTERNALS] Various fixes to the internal libraries o Many fixes/mods to the PipeCommand module for WIN2K/Unix Unix: setsid() now optional, allowing eg. irush to bring up fcheck w/out removing the tty association. Win2K: mods for new Block transfer mode for speedy tty printouts, and to prevent deadlocking. o FLTK: Applied patches to fix Mac new add_fd() threading problems noticed by Rewrote the add_fd() code. o FLTK: Fixed minor resize behavior problem with html help windows. o FLTK/OSX: Bug causing irush/onrush/rushtop to randomly hang was fixed. If irush/onrush/etc were left running for long periods, they would eventually hang due to a threading bug in some OSX specific GUI code. Cause: Threading reentrance bug in code I submitted to FLTK. -erco (PIXELMAGIC) o Modified fltk-utf8 to avoid forced centering under redhat9, and positioning titlebars offscreen in FC2. o OSX: Memory leak bug fixed in irush/onrush/rushtop. Cause: A mac OSX CreateEvent() call was not being freed with ReleaseEvent(). o Fixed problem where users would have to use "FU" to modify their own jobs. If the user's login name contained spaces, Rush would only see the first word in their name, so authentication would fail eg. "Joe User" because Rush would record the username as just "Joe". (ROFER) o MyBrowser now does copy() operation automatically via ^C, so you can copy from the "Job Edit | Never Cpus" and "Remove Cpus" browsers. o MyButton now has 'info' help icon user can see. o IRIX: As of 102.42 and up, rush for SGI only supports IRIX 6.5 and up. irix 6.2 does not handle C++ name mangling correctly for classes passed back through functions and methods, causing improper destructor calls, and mangled memory. No workaround except to upgrade to new OS. Release Notes for 102.416 - LOGTRIM, FORCEUID FIXES, FLTK DUAL PROC MAC FIXES -------------------------------------------------------------------------- > [RUSH] Fixed 'unknown uid XXX' problem with forceuid remotes were unnecessarily verifying the job owner's login name, even though forceuid should have overrided it. This caused problems if the job owner's login name wasn't a valid account on the remote. ( and pixelmagicfx) > [RUSHTOP/ONRUSH/IRUSH] First attempt at mods to prevent Mac dual proc related crashes Mods made to the fltk/src/Fl_mac.cxx file for threading on multiprocs. Unsure if mods fully fixed problem, but seem to help. > [SUBMIT-MAYA6] Added to 102.416 04/07/05 > [RUSH] Fixed problem with 'rush -ac' (WDPTV) > [RUSH]Rebuilt mac GUIs with new FLTK add_fd() thread code Should fix continuing crashing problem that reported on DUAL PROC macs. Had to add new 'rush -status/-laj/-lac/-dlogstats' code to fix delays in rushtop. > [LOGTRIM]Added -f flag to logtrim; uses fsync() > [LOGTRIM] Prevented child orphaning w/logtrim under unix. Changed setsid(2) -> setpgid(0,0) (fixes problem with fcheck not opening under unix because it wants access to a tty), and disabled process groups in logtrim(1). Certain circumstances where a csh or sh was the child of logtrim(1), the shell (and its children) would become orphaned on requeue of frames, b/c logtrim was starting it's own sessions. Fixed in 102.42; logtrim no longer changes process groups, so children remain in same process group. logtrim, MyPipe modified. > [INSTALL/WINDOWS] Mods to install script to 'cacls' c:\temp, c:\rush\var + c:\rush\etc to open the perms to 'Everyone'. Apparently important for success on some WIN XP systems. > [BOOT/OSX] Fixed recursion in Rush/Rush boot script for 'restart' (unused) and mods for Tiger boot script. Release Notes for 102.415 - FIX FOR PEERLESS AND MODS FOR VPJ -------------------------------------------------------------------------- > [Unix] locks down UDP port listener before daemonizing. Ensures programs started after rushd returns don't steal rush's port 696. > [input] New widget 'selectbrowser' added to input's .in file language. This allows submit scripts to have selection browsers. > [submit scripts] input program now uses RUSH_FILECHOOSER environment variable to control which kind of file browser is displayed when the user clicks "BROWSE" buttons in submit scripts. RUSH_FILECHOOSER can be set to any of these values: "f" -- yields the FLTK file chooser "o" -- yields the 'old' file chooser "n" -- yields the 'native' file chooser (eg. Windows or OSX choosers) The default is "o", consistent with previous versions. Release Notes for 102.414 - FIX FOR EMC2VISFX 10/06/04 -------------------------------------------------------------------------- > Added rush.conf 'smbloghack'; if enabled, log re-opened if it doesn't exist. Works around weird file sharing problem with Linux SMBFS mounts to win2k server. Release Notes for 102.413 - FIX FOR COREENT.COM 3COM ADAPTERS 09/17/04 -------------------------------------------------------------------------- > [RUSH] Fixed Windows license server problems with 3com adapters, (skips bridges). (COREENT) > [RUSH] Fixed Linux problems with Fedora Core as a license server Skips sit* interfaces. (LAPCC) > [RUSH] Added regsecurity.exe to etc\bin.nt and install.bat to ensure rushtop shows graphs correctly. > [RUSH] Fixed problems with 'rushtop' showing ram/swap for new linux releases, eg. Fedora Core2. (ERCO)
Release Notes for 102.412 - FIX FOR WDPTV 06/24/04
> [RUSH.CONF] Added rush.conf option to adjust maximum jobid number 999.
  WDPTV ran out of jobids on one machine on 06/24/04, wanted value to be 

Release Notes for 102.41 - RELEASE: 03/03/2004

  Restarting a job server will bring the jobs back to life 
  from where they left off.

> Various submit script improvements

     o Added 'submit-renderman', to submit Pixar's RIB renders

     o Added 'submit-renderdotc' to submit Dot Software's 'RenderDotC' renders

     o Added 'submit-nuke' to submit Digital Domain's 'Nuke' compositor.

     o All submit scripts now have these under the Advanced Options:
           > JobStartCommand   - command to run before job starts rendering 1st frame
           > JobDoneCommand    - command to run when job finishes rendering last frame
           > JobDumpCommand    - command to run when job is dumped
           > DoneMail          - mail sent when job finishes rendering last frame
           > DumpMail          - mail sent when job is dumped
           > AutoDump          - Enables job to automatically dump

     o All submit scripts now prevent 'batching' beyond the last frame 
       in frame range. New "Batch Clip" option control this feature.

     o All submit scripts now have a 'Defaults' button;
       Hit this to revert all input fields to their default values.

     o (Windows) Fixed problem leaving frozen window behind after submit

     o submit-lightwave: fixed bug preventing ConfigDir and ContentDir
       from being passed properly to the lwsn command line.

     o submit-lightwave: fixed bug ignoring frame batching value.

     o submit-shake: fixed bug with file browser for shk files
       Browser was searching for files ending in .ma and .mb instead of .shk.

     o fixed problem leaving frozen window behind after submit

     o fixed problem with file browser for shk files
       The browser was searching for files ending in .ma and .mb instead of .shk.

     o fixed 'update' button
       This involved fixing the 'input' program; 'updatecommand' was not 
       in Field's class copy constructor.

     o submit-maya: now runs FixPath() in $imagedir
       This ensures the $imagedir respects any local changes made by the 
       sysadmin for the FixPath() function.

     o Fixed bug with submit scripts sometimes showing empty error windows, eg:

"Yeah it failed, but why?" It turns out the scripts were not using system() properly to detect errors from the local shell. The fix now advertises error messages correctly, to prevent this problem. o All submit-scripts checked for help documentation errors and omissions. o submit-mray: added support for .mi2 files (single frame .mi files with multiple frames of info within) o submit-mray: detects "no more licenses" errors, does a pause/retry o submit-mray: fixed problem where you'd get an error if the 'Output Image' path is left blank. 'Output Image' is now optional. o submit-lightwave: Small fixes to online docs for the scene file/config dir/content dir fields; missing links for the "?" buttons. o All submit scripts now support supplying '%s' at the "Log Directory" prompt, which includes the jobid in the log directory pathname. This is especially useful for o submit-generic: now has a prompt for Jobstart/Done/Dump commands, so that external scripts can be invoked for doing job cleanup. o All submit scripts refer to common subroutines in rush/etc/ This makes the submit scripts shorter, and decreases redundant code. So for instance, the famous 'FixPath()' function can be customized to support your local pathname conversions, and it will affect ALL the submit scripts. You can easily distribute any changes to the script with: 'rush -push +any' > rush: various features added o 'rush -lhg' now supports optional +hostgroup argument. eg. 'rush -lhg +farm' will list only the machines in the +farm hostgroup. o 'rush -lhc' now supports optional criteria argument. eg. 'rush -lhc irix6.2' will only list machines with irix6.2 criteria. o 'rush -submit' now sorts 'rush -submit' commands, to ensure cpus are last. This avoids errors like 'ram must precede cpus', and problems with 'Submit Commands' in submit scripts getting stuck in the wrong order. Also, all submit scripts were modified to inject 'Submit Options' before the 'cpus' command. o 'state' submit command now allows lowercase 'pause'/'run' o 'frames' submit command now allows lowercase 'done', 'hold', etc. eg. "1-100=done" (used to only allow "1-100=Done") o rushd: '-lc' and '-lcf' now fork() to prevent blocking daemon during large reports. Also added error checking in rushd's ListCpus code so that it stops sending right away on a transmission error (WDP). Prevents DOS. Applied to 102.41 and 103.00 o rush: -submit, -jobnotes, and -jobcommand* all report 'Line too long' if maximum line width exceeded, instead of silently truncating output. APPLIED TO 102.41, 103.00 o rushd: now advertises version number/boot time during log rotation 10/03,20:32:20 ROTATE Log rotated. pid=27047, 0/2 busy, ONLINE 10/03,20:32:20 ROTATE ontario RUSHD 103.00 PID=27047 Boot=10/03/03,20:32:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ o rush/rushd: internal code changes; legacy 'listallcpus/full' tcp msgs changed to 'listallhosts/full'. Breaks tcp message compatibility with other versions. APPLIED TO 102.41, 103.00. o "logdir /somepath/%s" submit now doesn't fail if dir exists CIS wants to be able to leave the logdirs behind, and let them be able to cycle back into use. o 'rush -lc' now allows hostname and hostgroup arguments Lets user list cpus for *all jobs* served by a particular host or hostgroup, eg: rush -lc ontario -- cpu list for all jobs served by ontario rush -lc +any -- cpu list for all jobs on the network o 'rush -lf' now accepts a frame range argument. eg. 'rush -lf 1-10,2'. o 'jobinfo' log now have 'rush -lfi' report appended. The statistics in the 'rush -lfi' report were added to the end of the 'jobinfo' file, which is written out whenever a job finishes. o 'donemail' now sends mail when last frame renders instead of DUMP Before 102.41, rush only sent 'donemail' when the job was dumped, making it necessary to have 'AutoDump' enabled. This is no longer the case. To get the older behavior, use the new 'dumpmail' command. o 'rush -status' now uses exponential backoff for hosts powered off Prevents 'rushtop' from sending packets repeatedly to machines turned off, to prevent arp storming on large networks. (WBFA) (102.41 and 103.00) o 'rush -lfi' report now shows some new statistics (shown in red): % rush -lfi Average Total Jobid State Total Perc Elapsed Elapsed Average ETA ------------ ----- ----- ---- ---------- ---------- ------------------------ rotwang.3 Que 2 %4 - - - rotwang.3 Run 2 %4 - - - rotwang.3 Done 46 %92 00:00:11 00:08:36 Thu Feb 12 17:47:16 2004 rotwang.3 Fail 0 %0 - - - rotwang.3 Hold 0 %0 - - - rotwang.3 --- rotwang.3 Render Elapsed: 00:02:25 rotwang.3 Render Start: 02/12,17:44:45 rotwang.3 Render End: 02/12,17:47:10 There is a new column, 'Total Elapsed', showing the sum of the elapsed times for all frames, giving and idea of how many cpu hours were needed to render the job. The 'Render Elapsed' is time elapsed between when the job started rendering the first frame, and when it finished rendering the last frame. The difference between 'Total Elapsed' and the 'Render Elapsed' is the amount of time saved by rendering on multiple cpus.. the more cpus used during rendering, the smaller 'Render Elapsed' will be. > rush: various fixes o fixed donemail/dumpmail on mac Changed /usr/lib/sendmail -> /usr/sbin/senmail o rush: 'rush -cont' now does not cancel 'waitfor' commands So it is now safe to 'rush -pause' a 'waitfor' job, knowing it will return to the proper wait state after being continued with 'rush -cont'. Previously, 'rush -cont' would start the job running unconditionally, even if it had a 'waitfor' state set up, effectively cancelling it. To now cancel a 'waitfor', use 'rush -waitfor -'. (Verified in 102.41 and 103.00) o OSX: fixed 'setreuid' warning errors in daemon logs o 'rush -waitfor +8' gave ' unknown option' error Fixed. o rushd: Fixed an important inmaxmsgs loop problem affecting license.dat/hosts/rush.conf reloads Apparently the license.dat, hosts, and rush.conf would take a LONG time to reload if the daemon were pelted with udp packets at least every 10 secs, causing delay in reload checks, and other cleanup scheduling. (WDP email=11/26/03) o rush: now checks for all fields in the hosts file The fact a sysadmin could leave fields out would cause odd problems in the program's output; eg. 'rush -lah' would appear all on one line. o When no jobids are available, rush would report a blank error message Daemon was displaying error message from a different jobid class. o rushd: fixed '-lc' and '-lcf' to detect TCP write failures Wasn't checking error return for SendView();, caused rushd to keep trying for each cpu into a timeout. o rushd: fixed -checkpoint bug where two daemons remain running If a 'rush -checkpoint' transaction failed (due to a network error or ^C'ed report), it would cause two daemons to remain running, and from that point on, that machine's jobs will start acting strangely. An indicator of the problem in 102.40g and older: you would see a 'FAIL/CHKPNT' error in the rushd.log. Normally that would be a benign message, but in this context the error state would cause /two daemons/ to remain running, causing intercommunication and confusion. Here's an example message from rushd.log: 09/25,18:55:17 FAIL/CHKPNT Fputs[2]: write failed: _SureWrite(): Connection reset by peer ..from that point on, there will be two daemons running. Kill the child to correct the problem, not the parent. APPLIED TO ALL VERSIONS: 102.40f01, 102.41, 103.00 > irush: various features o Added 'Frm Info' button to Cpus/All Cpus reports o offline/online/getoff adds 'whodunnit' messages to 'All Cpus' report. This change to irush simulates the existing behavior in onrush(1), which leaves a paper trail in the 'All Cpus' report of who changed the online/offline state of machines. o Added new preference 'Edit|Preferences|Use TTY Overstrike' This lets user enable or disable \r overstriking in the tty window, so overstriking progress output messages can either be shown normally, or expanded into separate lines. o Help menu now has link to website and local docs. o Supports Japanese language log files. Be sure to turn on "Edit|Preferences|Language|Japanese (S-JIS)" or "Japanese (UTF8)". Adobe After Effects uses S-JIS. (INTERNAL NOTES: Use fltk-utf8-1.1.4 and Xutf8.0.1.0 with Jean-Marc's patch to fix ^A/^U in Fl_Input widgets). o 'Hotkey | Edit' dialog grays out if user tries to edit hotkeys defined in the /global/ .irushrc file. > irush: various fixes o On OSX, Command-C now does the copy operation o "Job Edit | View Cpus"; fixed problem with copy/paste from 'View Cpus' browser o "OSX Menu Bar" fixed: on Panther (OSX 10.3.x) the OSX menu bar would become 'dead' to mouse events soon after opening irush. (FLTK BUG #209) > OSX: fixed "OSX menu bar" for all GUI apps on 10.3.x Under OSX 10.3.x, after the first mouse event in any window, the OSX main menu bar for that app would become unusable. Small bug in FLTK specific to 10.3.x fixed. > rush.conf: allows changing default timeout for rush -lac/-laj/-status/-push/etc. (ORPHANAGE,WDP) Now the [-s secs] and [-c count] arguments to these functions now have configurable defaults the sysadmin can change via the rush.conf file: rush.lac_secs 3 rush.lac_count 2 rush.laj_secs 3 rush.laj_count 2 rush.status_secs 3 rush.status_count 2 rush.push_secs 3 rush.push_count 2 rush.dlogstats_secs 3 rush.dlogstats_count 2 (102.41 and 103.00) > Changed all occurances of 'chown 0.0' to 'chown 0:0' Panther no longer supports the 0.0 syntax. APPLIED TO 102.41, 103.00 > rushadmin: uses tabbed windows to increase screen realestate. As a result, rushadmin window is smaller, so it can fit on 640x480 screens without squishing the browser. > internal: MyFile::UseStdin() added. > internal: 'errmsg' removed from Priority and Duration class, global static in Task class. Makes tasks MUCH smaller! Release Notes for 102.40g3 -------------------------------------------------------------------------- > Windows: Fix for 'interface 0x0' problem ROFER Release Notes for 102.40g2 -------------------------------------------------------------------------- > submit scripts/Windows: prevented frozen submit windows Implemented Win32::Process::Create() to spawn irush, to prevent frozen submit window from being left behind. MOVING PIXELS Release Notes for 102.40g - 08/07/03 -------------------------------------------------------------------------- > RUSH: Can now limit the number of cpus per host via +any=20.1 See the 'cpus' documentation for more. > Windows install.bat script now creates 'Start' menu items and makes better use of variables.
> and (3DMax) added to release > Added fix for stripping the leading slash from UNC paths under Unix to prevent maya hanging problem described here. > Added 'Retries' and 'Retry Behavior' options to the Advanced Options, so one can control how many retries occur, and what happens when all retries fail. > RUSH: Fixed problem with 'rush -push' having rename errors, because of MyFile::RemoveOnClose() method in rushd. > RUSH: Fixed problem with 'rush -reserve' showing up owned by 'ntrush' instead of user who ran the command. > RUSH: extra checking during submit of job for uid/gid range. Prevents users with gid=0 from submitting jobs > All submit scripts: Added fix for OSX/Jaguar problem with Submit windows appearing 'behind' other windows. > All submit scripts: added fix for windows with 'Submit' button not having any effect, when .pl extension not present. > IRUSH/OSX: tailing frame logs wasn't working correctly. Fixed a problem where 'rush -log -tail ..' wasn't working under OSX/Jaguar > RUSH: Fixed problem with 'rush -reserve' causing errors on windows: can't create log: /dev: The system cannot find the file specified. > MAC: '' directory was missing PkgInfo and Info.plist files; Makefile fixed. > RUSH: fixed missing CRLF at end of ParseFrameRange() errors. > RUSH: rush -checkpoint: removed redundant 'criteria' entry > RUSH: Removed 'errmsg' from Frame class -- helps decrease rushd memory use for jobs with large frame lists. > rushadmin/irush: Fixed error message problem in PipeCommand-MICROSOFT; CloseHandle() was hiding error messages for CreateProcess() > rushadmin: Added error checks for OpenCommand() failures; if eg. 'rush -dlogstats' CreateProcess() failed, no error was printed. Error messages now added to the tty. > submit-scripts: added to the examples directory, which will be more heavily used by future releases. > submit-scripts: Added FLTK 'plastic' scheme to all submit scripts, ie. linux, windows, irix all now have the 'gummy' buttons and 'ruled' background:
> Added mklnk tool to the Windows release. > Install script adds resource forks to input and to ensure no problems with the submit 'Success' windows when submit scripts invoked from finder. 1) modified 2) mac.r and Rez added to etc/bin 3) input program now COPIED instead of SYMLINKED to rush/examples/bin so Rez program doesn't erase the binary on following the link. > Fixed input's File|Help menu bar to show images. Added new fl_register_images() to main(), and fltk_images to Makefiles > submit-afterfx now warns against specifying empty 'Comp Name' > input: Added 'image' to input's 'box' type, so images can be embedded in forms. See rush/html/input/index.html#Box for details. > input: Added boxup and boxdown to the 'button' class, and 'use_plastic' global to force a plastic button default. > input: disable FLTK_SCHEME env variable to prevent irush from coming up with the plastic scheme. > install scripts: modified to force rush and rushd perms correctly UPDATE 103.00! > fltk: now using fltk-1.1.4rc2 for all widgets > fltk: tweaked Fl_Scroll.cxx to support the plastic 'ruled' background > fltk: tweaked Fl_Tooltip.cxx to delay tooltips for all widgets. Release Notes for 102.40f3 - 05/30/03 -------------------------------------------------------------------------- > Fix to 'macperlwrap' to handle OSX 10.2.6 Finder Release Notes for 102.40f2 - 04/12/03 -------------------------------------------------------------------------- > Worked around "unknown adapter_type 0x0" errors in rushd.log by doing adapter check on the server only. > IRUSH: RUSH_DIR is inserted to path only if not already set (WDP) Release Notes for 102.40f - Released 03/26/03 -------------------------------------------------------------------------- > Added 'host=' prefix to rush.conf This allows a single 'rush.conf' file to be maintained across platforms, containing settings specific for particular hostnames. The 'host=..' command can be used as a prefix to *any* rush.conf command, similar to the 'os=' prefixes. See docs for details. > submit scripts have improved install instructions Since icons and 'drag and drop' for the Mac have been added, the install instructions for the submit scripts have been formalized to include setting up desktop shortcuts for the scripts. > rush install script now for all platforms Previously, only Windows and OSX had install scripts. Now linux and irix have install scripts as well; see $RUSH_DIR/etc/bin/ > rush: if daemon can't create logfile, error shown in framelist 'NOTES' field This helps people see the error right away. Windows and Unix. This can be disabled in the rush.conf with 'logdirerr 0'. > rush: 'rush -reserve' lets you specify the reserve job server New '-server <host>' option lets you specify the server for the job, to override the default of the host being reserved. See docs for details. > rush: '-nolog' option added to jobstartcommand/jobdonecommand/jobdumpcommand Mainly added so that jobdumpcommand can clean up the logdir, without getting 'File in use' errors under Windows :/ (VINTON) > rush: when maxtime expires, timeout value appended to frame log eg, --- KILLED: MAXTIME EXCEEDED 00:30:00 J.P. finds this useful for post-mortem analysis; see newsgroup 02/07/2003 (VINTON) > rush/IRIX: 2 gig of swap reporting error fixed A machine with 2Gig of swap would show up as -2048. Fixed (WDTV/ADLER) > MAC: all guis now have icons! Now you can drag and drop tools like IRUSH onto the Desktop or Dock, and you'll get an icon with it.
> MAC: submit scripts have icons too Point the Finder at /usr/local/rush/examples/Applications to see the clickable versions of the submit scripts, which can be copied to network directories as needed, so users can later drop references to them on to their desktop or dock.
> rush: New 'permit' command in rush.conf ..lets the sysadmin control which users permitted to use getoff, online, offline, as well as whether they can use 'kill' or 'almighty' priorities. (WARNER) Example: permit { admin: { root,administrator # only root/admin can administer 'everything' } online,offline: { * # everyone allowed to online/offline } getoff: { bill,jane # only bill+jane can use 'getoff' } kill,almighty: { bill,jane # only bill+jane can use kill/almighty priorities } } > rushtop: color coded hostnames show online/offline status Hostnames show in dark green if online, dark gray if offline.
> onrush: registers who did what when in the REMARKS field When someone uses onrush to change the state of a machine (online/offline/getoff) it shows who did it when in the 'Remarks' field of the irush 'All Cpus' report. > irush: single middle click on framelist opens image So now middle-click will run the 'imgcommand' to display the image for a frame. This, in addition to the existing alt-double-click. Added because under Windows if the user keeps alt depressed while the fcheck viewer is opening, the window opens behind the other windows, according to Sean. (TURNER) > rush: 'rush -uping' supports '-c 0' to send packets indefinitely. See docs for details. > rush: 'rush -dlogstats' shows error logging statistics Useful for determining trouble in logs quickly. See docs for details. > submit-maya: added 'Max Log Size' option This lets one specify a limit for the output of maya, in bytes, so if the output gets too volumnous, it gets truncated. The use of 'logtrim', a tool that comes with rush, is employed to manage output truncation. > www-rush: now has links to text-only version of reports See bottom of each report for new 'Text only' link. When clicked, opens a new window with the report in a plain-text format that can be cut+pasted, and viewed at the full width and height of your browser. > rushadmin: added a 'general health check' feature Checks for common problems, presents output in a host table format.
> rush/windows: error messages improved for logdir errors Microsoft's CreateFile() indicates 'file not found' errors, when it should really say 'permission denied' if the file server is denying read/write access. Added a file attribute query, which casues a more informative 'Network password incorrect (permission denied)' error instead. > submit-maya: "Render Flags" can now contain embedded variables This is also documented in the "?" help button for the "Render Flags" field: You can embed Perl environment variables, eg. $ENV{RUSH_FRAME} will be expanded at render time. So if you specify:
            Render Flags: | -im CityWalls_Base_Node_$ENV{RUSH_FRAME}     |
..when frame 244 is rendering, this will expand to -im CityWalls_Base_Node1_244 on the maya command line.
> 'daemon-cachemode' and 'app-cachemode' have been moved from rush.conf to rush hosts. This is to support the ability to have hostgroups in the rush.conf file (which implies the hosts file has already been loaded..) When upgrading, be sure to diff in this change to your existing rush 'hosts' and 'rush.conf' files. > rushadmin/Mac: fixed copy/paste via Apple-C, Apple-V on the Mac FLTK fixed a problem with the text editor where copy/paste via the keyboard didn't work under Mac OSX. (GOLDCREST PRODS) > irush: 'Job Edit' button now shows an error if jobid invalid Before, it would simply open an empty 'Job Edit' screen. > MAC: all guis can now be invoked from Finder The OSX "Finder" appends a weird "-psnxxxxxx" flag to the application, which was causing tools like 'rushtop' to only show the local machine. Also, a /very/ empty PATH is passed to programs when invoked from Finder. Rush GUIs now ensure a proper minimal path, and ignore this "-psn" flag. > had a bug with batch frames Was including batch value as step rate for shake, eg: 1-10x10 instead of 1-10. > mac guis were not backgrounding when invoked from terminal Modified wrapper to fork(). Was also affecting the submit scripts, which would leave the submit window behind, because irush wasn't backgrounding. Fixed. > IRIX: fixed problem with memory/swap reporting in 'rush -status' Does not affect rushtop(1), but does affect the totals reported in the M and S lines. (WDP/ADLER) > logtrim(1) tool that comes with rush now has '-c cmd [args]' option Windows can truncate output without loosing the exit code of the render. DOS pipes don't pass the exit code of the renderer if its output is piped through a filter (like logtrim), so -c is needed to do it correctly. > Tweaked PipeCommand and MyPipe to use CREATE_BREAKAWAY_FROM_JOB, with limit JOB_OBJECT_LIMIT_BREAKAWAY_OK. Needed for submit-generic's invocation of input.exe/MyPipe to be able to invoke irush/PipeCommand without negative crosstalk between the parented jobs. > Fixed adminuser permission check for commands like 'rush -dexit'. > Fixed Udp::RemoteHostInfo() to show hostname in error msgs > Upgraded to FLTK 1.1.2 to fix problem with 'I' cursor being left behind after irush's 'job dump' confirmation dialog, which appeared to be a bug in FLTK's Fl_Text_* widget(s). > unix/onrush: show error dialog if 'rush -online/-offline/-getoff' fails. Needed if invoking user is not in line_group. > (WINDOWS) MyFile.C now does GetFileAttribute() check, so commands like 'rush -log' (and in irush, log viewing) now advertise real permission errors, instead of those stupid 'invalid argument' errors from fopen(). > documented exit codes in "?" help button for 'Commands:' prompt > rush/linux: added links to install script to ensure "init 1" stops rush daemons > Advanced to FLTK 1.1.3 in this release. Patches were made for Fl_Text_Editor problems; see the FLTK newsgroup for messages dated on or around 03/23/03. (escrow: See text file describing these patches) Release Notes for 102.40e - Fixes -------------------------------------------------------------------------- > irush: online/offline confirm window now word-wraps If the user selected many hosts to online/offline/getoff, confirm window showed the hosts on a loooong single line. Now wordwraps. Also, duplicate hostnames are now ignored.
> WWW-RUSH: colors added to all www-rush reports
> irush: colors added to 'all cpus' report
> www-rush: fixed problem with "Set Jobid" button This was preventing "Set Jobid" from working on some browsers, which return '&nbsp;' back as a double-character 0xc2/0xa0 in form postings, instead of the usual 0xa0. > rush: security hole fixed Daemon would accept TCP connections from hosts not in the daemon's rush hosts file. > irush/WINDOWS: Fixed problem with leftover 'rush.exe' processes Ported over new w2k 'Job Objects' code to PipeCommand.C and MyPipe.C. Problem prevented under old NT systems as well. > Standardized "-" and "off" as valid arguments to these flags: 'rush -autodump' 'rush -logflags' 'rush -frameflags' > (internal) Strip() added to String library Release Notes for 102.40d - Fixes Released 10/28/02 -------------------------------------------------------------------------- > rush: Fixed initgroups() bug in access test. Affects the logdir test problem mentioned in 102.40c. > rush: Daemon lock file errors were being lost under windows. "ALERT c:\rush/var/.rushd.LCK: Invalid argument (can't open daemon lockfile)" Lock checks preceded opening of rushd.log; under windows, stdout/err gets tossed by default. Fixed; lock errors are now cc'ed to rushd.log, as well as stdout/err. (ORPHANAGE) > IRIX: Compiled with new fltk that allows for middle mouse click on scroll bar trough, and has fltk fixes the pulldown menu problem where you have to release and click to pick an menu item. Release Notes for 102.40c - Fixes Released 10/22/02 -------------------------------------------------------------------------- > rush/redhat 7.x: submit failed if root can't access the log directory. eg. '[pathname]: No such file or directory' even though dir exists and is accessable as the user, but not as root. /Not/ experienced on redhat 6.1, only 7.x and up. Fix uses setreuid() as perscribed by access(2). (WDTV) > rush/unix: logdir error reported 'No such file or directory' instead of 'Permission denied' This has been around for a while; an initgroups(2) call that immediately followed the access(2) call stepped on errno, distorting the error message. (WDTV) > rush: donemail wasn't working If 'donemail' was set, mail wasn't being sent. Introduced in 102.40. (VINTON) Also, fixed LF -> CR/LF pair problem in rushsendmail.C that was preventing VC7 compile from transacting SMTP correctly. > rush: licpause causes job to get stuck in licpause state After first frame returned an exit code of 2 in the 'licpause' state, the job would enter a licpause state, the counter staying at zero. Fixed logic in Job::ChangeState(). Introduced in 102.40. (VINTON) > Upgraded to FLTK 1.1.1; fixes some popup menu behavior, enables one to middle-mouse click on scroll bar troughs to seek absolute positions in reports. > rush error message; spelling error fixed: 'not accessable' -> 'not accessible'. Release Notes for 102.40b - Fixes Released 10/14/02 -------------------------------------------------------------------------- > All tcp oriented commands now include hostname in error message. eg. 'rush -lf howland.34 ontario.59' will respond: BEFORE: rush: select() on connect(): (113) No route to host AFTER: rush: howland: select() on connect(): (113) No route to host ^^^^^^^^ > submit scripts: Fixed a problem with 'BATCH FRAMES ERROR' (CROMOSOMA) Bug where that error would occur even if batch frames was 1 or nothing when a step frame is specified in the frame range. Scripts fixed: > rush.conf: Added for development use only: udpusecspermbit -- choke for udp back-to-back xmits, rush -ulf. > Fixed docs for 'rush -lajf' to indicate [-t timeout] instead of -s/-c > Added 'rush -lajf' to command line help. Release Notes for 102.40a - Important Bugfixes Released 10/01/02 -------------------------------------------------------------------------- > rush: -reserve flag would submit job stuck in Start state > rush: Kill mechanism fixes 1) Fixed bad logic in jobid test in CanBump(): BEFORE: victim.GetJobid().IsJobidStr(killer.GetJobidStr()) AFTER: !victim.GetJobid().IsJobidStr(killer.GetJobidStr()) 2) Commented out bumpcheck optimization. > irush: optimized sorting time for large reports Hitting the sort buttons on 1000 frame reports would take a while; fixed. > rush: fixed problem where 'rushd -nofork' didn't prevent log rotations This prevented debugging efforts that would run past the log rotation hour. All previous versions have this problem. > rush: fixed bug where a frame range with a zero increment hangs rushd Basically a denial of service; as it put the job server daemon into an infinite loop. All previous versions have this problem. (hot fix for 102.31h as 102.31hg for ESCFX) > Minor tweaks to examples/ to support OSX. Release Notes for 102.40 - Released 09/26/02 -------------------------------------------------------------------------- *** RUSH ITEMS *** > rush: can now set a job to wait until a certain time (CENTROP) 'waitfor' can now take a time value for an argument, eg: waitfor +8h -- start 8 hours from now waitfor +30m -- start in 30 minutes waitfor 7:30p -- start at 7:30pm > rush: implemented 'maxcpus' with wakeups on frame completion (CENTROP) > rush: 'rush -done' will start dependon frames (ORPHANAGE) > rush: 'waitforstate' sets the state 'waitfor' expects jobs to change to This means you don't have to dump the other jobs being waited for. (CENTROP) > rush: Added #frames total/done/fail/hold/run to -ljf and -checkpoint -ljf and -checkpoint needed to show the number of frames in the various states useful for 'watcher' scripts. > rush: jobstartcommand/jobdonecommand/jobdumpcommand commands implemented This affected ALOT of code, and cleaned up the job state machine in a big way. (CENTROP) > rush: Added 'maxtimestate' to submit and commandline Lets user set the state frame changes to when maxtime expires. (CENTROP) > rush [WINDOWS]: errors opening log files (permission, etc) wasn't logging to rushd.log Windows only. > rush: 'autodump fail' added. Causes a job to automatically dump if job finishes with any failed frames. (ESC/FX) > rush: newtask messages sorted by priority (CENTROP) > rush: Added 'rush -frameflags' command line option This lets the user change the frameflags on the fly. > rush: Added optional '-msg text' argument to 'rush -offline/online/getoff' rush -offline -msg 'Bad memory' rush -getoff -msg 'X login session' ..These messages are shown in the new 'REMARKS' column of 'rush -lac' reports. > rush [WINDOWS]: windows rushd.log rotations fixed Log rotations under windows were sometimes not rotating because of a permission error from the windows rename() and MoveFile() functions. So now, instead of renaming the file, we make a copy then truncate. > rush [UNIX]: Fixed problem where jobinfo/framelist files were not being created in rush log directory The following permission errors were being logged in the rushd.log file whenever a job was dumped: 08/08,16:49:41 ALERT SaveFrameList(): can't become user: setegid(20): Operation not permitted 08/08,16:49:41 ALERT SaveJobInfo(): can't become user: setegid(20): Operation not permitted This indicates the saving of the framelist/jobinfo files were failing. User.C::BecomeUser() was modified; order of seteuid()/setegid() were reversed Apparently this has been a problem as far back as 102.31m, and no one noticed it. Unix only. (Windows is not affected) (WDP/TV) > rush: Reinforced UDP protocol to handle stuck 'Strt' frames Implemented a better 'Timeout' protocol which sends *single* 'Timeout' messages once every 'udpresttimeout' to the job server. (WDP/TV) > rush: cpu.acct save would do close() even if open failed > rush: fixed memory leak in Logical.C class Assignment operator was leaking memory. (ESC/FX) > rush[WINDOWS]: render commands can now supply backslashes without escaping It used to be you had to escape the backslashes during submit with: command perl \\\\server\\bin\\myscript Whereas now you can just say: command perl \\server\bin\myscript > 'rush -tasklistfull' indenting fixed for "Spec:" field > rush: Submit command 'state' now accepts lowercase for states. > rush: added ability to customize 'rush -lac' reports. See rush.conf file; allcpusheader1, allcpusformat, etc. *** IRUSH ITEMS *** > When you exit irush and re-run it, it remembers the 'Cmd' you typed. > You can now specify the window title from the command line Example: "irush -title 'MY SHOW'" will set the irush window title to "MY SHOW" > You can have irush automatically generate a report on startup Example: "irush -button Frames tahoe.34" will push the "Frames" button on startup, showing the framelist for the 'tahoe.34' job. > Hotkeys menu now turns yellow when hotkey command running > 'Jobs' report shows jobs with busy cpus in bold > 'Job Edit' window has new fields.. o MaxCpus -- sets the maximum cpus for the job o MaxTimeState -- sets the state frames change to when maxtime expires o WaitForState -- sets the state 'waitfor' waits for other jobs to change to o JobStartCommand -- command to run before first frame renders o JobDoneCommand -- command to run when job renders last frame o JobDumpCommand -- command to run when job is dumped > Added scroll bars to 'View Cpus' > Can now requeue frames when multiple jobids selected Works now in reports: "Frames", "Cpus" and "All Cpus". > Hitting 'Logs' in the All Cpus report now tails the frame log (BUZZ) > "Daemon Log" buttons now track to bottom of file if 'Tail Logs' is enabled. *** MISC ITEMS *** > String: Quote() now escapes the escape chars. This should allow things like 'rush -command "cmd /c dir \"' to work correctly. > rushadmin: ESC no longer closes text editor window > rushadmin: makes sure there's a CRLF at end of file during save > submit-mayaman-air: added to the distribution > submit-houdini: added to the distribution > submit-generic: added features: o Added 'AutoDump' and 'Maxtime' to "Advanced Options" o Moved 'Batch Frames' from "Advanced Options" into main options o Enlarged the "Commands" window > rush: Added 'Priority:' to header for frame logs > rushadmin: added scroll bars to text editor and terminal > Fixed problem with alert messages not sizing vertically Height calculations were being ignored. Verified fixed on linux/mac/windows. Affected submit scripts (monkey popup window showed only top part of msg) > Various documentation mods to pretty up the tables. > 'rush -lj' report now has similar field widths as 'rush -laj'. 'rush -lj' NOTES column has become separate ELAPSED and REMARKS columns 'rush -laj' added REMARKS column Formatting for STATUS field set to 8 chars for new job states. > 'rush -status': new 'remarks' field added to 'j' data line > Process.C: initializer missing for 'Process::nice'. Never noticed until job[start/done/dump]command stuff added. > input: added 'helpcolor' to submit options > Improved output of 'rush -rc foo bar tahoe.37' for hostgroups: BEFORE: +any=3@400: 2 task(s) deleted +any=3@400: 1 task(s) deleted AFTER: +any=3@400: 2 task(s) deleted by foo +any=3@400: 1 task(s) deleted by bar ^^^^^^ > Got rid of extra license reload 1 minute after rushd boots > Frame.H, Task.H, String.H, Conf.H: some methods 'inline' for speed > Ran gprof on code; some optimizations to heavily used subs. * Added choke to prevent scheduler from running >1 sec * Added bumpcheck flag to prevent constant bumpchecks * Added choke to prevent newtasks from causing bumpchecks and updates on each newtask transmission. * Short circuit the scheduler if machine offline > Added logflags to 'rush -ping' > Added jobid to output response for 'rush -que' etc. BEFORE: 0005: Que AFTER: ontario.35 0005: Que > Added jobid to 'rush -lc' report. (Needed in irush for frame requeue when multiple jobs selected) BEFORE: CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED NOTES +any=4@400k[howland] JobPass - - 16087 400k 00:00:00 Job state is 'Done' AFTER: CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES +any=4@400k[howland] JobPass - - 16087 400k 00:00:00 ontario.737 Job state is 'Done' > Added 'REMARKS' to 'rush -lac' report. BEFORE: HOST OWNER JOBID TITLE FRM PRI PID ELAPSED geneva - - - - - - Offline tahoe - - - - - - Online AFTER: HOST OWNER JOBID TITLE FRM PRI PID ELAPSED REMARKS geneva - - - - - - Offline Bad Memory tahoe - - - - - - Online > Added 'const char const *' for << operator to string class > Brought the submit-*.pl scripts up to speed with MaxTime/MaxTimeState, job[start/done/dump]commands, etc. > Logging bug for seqids fixed: would print "job_seqid" even in cpu_seqid context: BEFORE: "dupe job_seqid (181==181)" AFTER: "dupe seqid (181==181)" This would cause confusing daemon debugging info when checking for dupe seqids. > Added logtrim(1) to the release > During 'rush -down', rushd only awakens jobs that were modified. > PassReason mechanism implemented so that only 'no more maxcpus' JobPass states can be reawakened. > Much obsolete code removed > Removed obsolete JobPass timeout mechanisms from Task class. We no longer need timers for that. Release Notes for 102.31p2 - Released 08/06/02 Fixes -------------------------------------------------------------------------- > IRIX: Fixed sgi irush error "irush: rld: Fatal Error: Cannot Successfully map soname ''" error. Removed dependence on libpng/libjpg on irix platform; it comes with FLTK. Makefile.IRIX modified. > WINDOWS/OSX: Fixed irush FLTK bug fixed regarding Copy/Paste in irush "Edit -> Copy" and ^C short cut affected; wasn't pasting under OSX and Windows due to a bug in Fltk 1.1.0rc4. > WINDOWS: Fixed irush error "rush: '&&' : bad frame number at '&'" error. ..when user selects multiple frames in the "All Cpus" view and chooses "Requeue". (KILLERROBOT) > rushd: removed conditional abort() if local hostname not in rush/etc/hosts. The abort() was left over from old debug session. Release Notes for 102.31p - Released 07/30/02 Fixes/Features -------------------------------------------------------------------------- > IRUSH: Now sysadmin can customize $RUSH_DIR/etc/.irushrc This lets the sysadmin control irush's defaults, and define custom hotkeys. The user's own ~/.irushrc can override the defaults in the global .irushrc file. > WWW-RUSH: various cosmetic and operational improvements. Modified HTML for buttons and browsers to support new Explorer and Netscape 6.x on all platforms. Buttons now should look better, and browsers should all show in a fixed-width font. Also, bugs with 'Job-Edit' (Command, ImgCommand and LogDir) were fixed. 1) Fixed width fonts in all browsers (Netscape 4.x + 6.x, Explorer, Mozilla 1.0) 2) Buttons are aligned nicely in all browsers. (Note: older Netscape 4.x won't look as nice; doesn't support style sheets well) > rush now uses Windows 2000 'Job Objects' to manage killing frames. This should greatly improve rush's ability to kill jobs that have large, stubborn child process trees under Windows 2000. The Unix version has always been good at killing process trees; only windows needed the fix. For years Windows has had unreliable process killing until Job Objects were implemented in Win2k. > irush now has 'View cpus..' buttons in the 'Job Edit -> Cpus Modification' screen Lets users cut + paste from list of cpus for adding to job or neverhosts.
> rushtop now stretches graphs to fit horizontal window size
> rush -lj/-laj: %Done vs %Fail percentage 81% vs 20% rounding problem fixed. > IRUSH: disabling help messages now affects sortbuttons as well. In fact, it now affects everything for sure; Fl_Tooltip::disable() is now used instead of per-widget enable/disabling. > IRUSH: sorting can now be ascending or descending. Sort buttons are now 'tri-state' so one can choose which direction to sort columns:
> All submit script browsers now support filters (eg. *.shk, *.ma, *.mb) > All the GUIs now have icons under Windows > www-rush: fixed problem which prevented 'Tasklist' button in upper right corner from working correctly. > www-rush: fixed 'Job-Edit' problem which prevented users from changing LogDir, ImgCommand and Command. > Unix boot script modified to include rush dir in daemon's path. > 'rush -rc' no longer decrements the #cpus in hostgroups Removing cpus from a hostgroup (eg. "+any=30") should not change the cpu cap. However, removing cpus from a host (eg. "tahoe=2") will still decrement the cap (eg. 'rush -rc' causes "tahoe=2" ---> "tahoe=1"), since it reflects actual cpus in that case. > 'rush -lc' reports now show 0 cpu hosts, eg. "tahoe=0@100" Former behavior was to show blank lines, making it impossible to remove from irush. > input: Removes trailing slashes from 'Browse' > irush: fixed 'sort by jobid' so it sorts by hostname first, jobid second > 'rush -checkpoint' showed incorrect 'donecommand' > 'rush -notes 1:""' and 'rush -notes 1:"-"' clears notes > rush: All stat() calls now strip off trailing slashes This fixes a problem in windows where _stat() fails on pathnames with trailing '/'s. > IRUSH: Fixed bug where duplicate HOTKEYS would accumulate in the ~/.irushrc file. Now irush finds and removes duplicate entries. > OSX: Fixed problem where rushtop(1) shows multiproc's cpu usage incorrectly. On multiproc OSX systems only; only the first processor shows cpu usage correctly, the second processor (and up) shows incorrectly. > rush -down: now forces all cpu JobPass states to restart > rush: fixed problem where removing both procs of a dual-proc cpu specification would leave an empty slot in the -lc report. > rush: fixed problem where a job wasn't restarting frames that were hung on a remote after it rebooted. This happened if job had finished all its other frames; the cpus would remain in the JobPass state. These now re-idle when the remote server reboots, causing frames to pick up again. > rush: (windows only) fixed unclosed handle in daemon caused by MaxTime timeouts. Job::FrameLogMessage(); wasn't closing pi.hThread. > rushadmin/OSX: 'rushdamin' wasn't in the Mac OSX distribution tar file. Fixed Makefile. > rush/MAC OSX: Udp buffer size set to 64k to fix 'Message too long' messages when using 'rush -push' for files larger than 9k. > input.exe - fixed 'slow submit' problem Under windows NT/2K, there was a long delay once the "submit" button was pressed. MyPipe-MICROSOFT.C includes Sleep to prevent cpu spinning (which was starving child's cpu) > www-rush: added help documentation for "Cpu Controls" (it was missing) > Fixed all TCP error messages that print "expected 'foo <bar>', got 'yada yada'" > Added a non-gui submit-maya example written in DOS batch. > 'rush -status' docs updated to include C/S/M cpu status fields. > Fixed bug in IsJobidAssigned(): wasn't using jobidsep. > rush: 'frames' submit command can now have comments following it > input: caller can now optionally specify filters for the file browsers now. The default is to show all files if no filter specfied. All submit-*.pl scripts enhanced to use new filter specs. > Report machines that fail IP lookups > Fixed 'hosts' error message regarding bad IP address > Added IRIX64 ifdefs > Added copy ctor and assignment operator to Duration.[CH] > MyFile.C tweaked to show filenames in quotes, to help clarify possibly blank ("") filenames. > 'rush -lcf' uses slightly wider columns to accommodate larger field names. > Modified 'rush -lcf' report to shows cpus that have #cpus=0. Also shows extra Cpu class info (Cpu_Xxx:). > www-rush: Added 'View Cpus' and 'View NeverHosts' links to the 'Cpus Edit' screen. > IRUSH: The environment variable "IRUSH" is now set within irush, to flag to external programs they are being invoked from within irush, so they can change their output accordingly. > Windows: Now using Visual Studio 2000 .NET to compile. Brought all source into conformance; new iostream demands, /DVS2000 /EHsc flags for new() overloading, etc, warnings, etc. Also localized FLTK in ./ > Changed G_conf.logflags from a String to a const char*, to prevent problems in very low level code not yet being initialized. (The String class initializer eventually refers back to G_conf.logflags during error checking) *.[CH] modified. (INSURE CHECK) > Switched to fltk-1.1.0rc4 to support fix for Redhat 7.3 menus not working. (Involved tweaks to prevent Fl_Multiline_Output from having all text selected by default) > Added method ExpandEnvironmentVariables() to String class Release Notes for 102.31n - Released 04/23/02 Fixes/Features -------------------------------------------------------------------------- > IRUSH: Added '#Cpus' to CPUS report, so user can change the number of cpus for +hostgroup specifications > IRUSH: Better sorting for date, jobid, percentage, and numeric fields. Using a new adaptive sort algorithm that should handle all fields correctly. (ADLER) > Added new ability to save job submit forms allows one to re-submit jobs easily Very useful feature for animators submitting the same jobs over and over. New File->Load and File->Save Form options added to the submit screen's main menu bar. Click here for how to use this new feature.
> Several new submit scripts added: shake, lightwave, mentalray See the $RUSH_DIR/examples for these new scripts: > and friends modified to use the new HTML apphelp and new inputstring, inputfilename, and new '-H histfile' operations. > MAC OSX: better handling of resource forks during installation, This should improve ease of use. > IRUSH: fixed sort buttons such that hitting them strips color info. Ripped out old sort code to use newer code that reuses existing 'sort on the fly' code. (ADLER) > Fixed bug introduced in 102.31m3 wrt saving reboot notification information SaveRebootFile(): fixed reentrance problem wrt use of static return from RushDir_NET(). > rush docs: added RUSH_RAM environment variable to the documentation. (VINTON) > input: added several features to support new submit-*.pl Help, Job Form Histories, etc: o Added new -H command line flag to support history files. (File -> Load/Save Form, etc) o Added 'updatecommand' to 'button { }', so that form can be updated procedurally. See ''. o Added new oneline 'inputstring', 'inputfilename' and 'inputmultiline' input commands. o Added 'apphelp' global command, so that global HTML help could be defined for the application. Added 'apphelp on' options to all input fields that support help buttons, so help buttons can be tied to the global HTML help. > All documentation now has automated version number stamps. Release Notes for 102.31m4 - Patch 04/??/02 Rushd Vinton Patch -------------------------------------------------------------------------- > Modified rush to use _exit() when exiting from fork()ed child processes for 'rush -lf', 'rush -dcatlog', 'rush -checkpoint', hourly console msgs, and the maxtime frame log messages. This prevents the forked children from calling the DTORs for all the parent-allocated jobs and frames, preventing memory pages from being 'copied on write' by the DTORs. Release Notes for 102.31m3 - Patch 04/??/02 Rushd Vinton Patch -------------------------------------------------------------------------- > Fix for 'Job::FrameLogMessage()' being re-invoked repeatedly when 'maxtime' has elapsed for frames in DIE state, causing numerous forked processes under unix. (VINTON) > SaveRebootFile: removed extraneous variables that were already constants. > Fixed open file leak in Sched::LoadRebootHosts() if a hostname fails a hostname lookup. Release Notes for 102.31m2 - Patch 04/??/02 Vinton Patch -------------------------------------------------------------------------- > irush was missing sorting for "All Cpus"; fixed (VINTON) > IRUSH fixed sorting for All Cpus and All Hosts field Wasn't sorting if sort button was on, and report regenerated. Fixed. > irush tweaked to show more of last line in file during log tails > and now use history files so that the user can easily load job submissions from the "File" menu. '-H' option added to input to support the concept of a 'history'. > 'input': program modified to allow <messagefile> to be '-' to read stdin, simplifying 'submit-*' scripts. > 'input': Fixed 'showfail' being ignored for submit button > etc/.render has quotes around $PATH for people using CSH on windows who have paths that contain spaces. Release Notes for 102.31m1 - Patch 03/26/02 GMFX 3COM FIX -------------------------------------------------------------------------- > Fix for 3com network cards where Netbios() call fails to open driver for ethernet macaddr. Release Notes for 102.31m - Released 03/12/02 Major Features/Fixes -------------------------------------------------------------------------- > Unix: fixed subtle groups bug when testing for directory and file existence; initgroups() added to IsDir_NET(), CanCreateFile_NET() and Access_NET() (CENTROPOLIS) > Windows: Process killing during requeues/getoff's etc. modified to do a more 'sure kill'. (VINTON 03/12/02) > 'rush -command' has been enhanced to read stdin if no command is specified, eg. you can now redirect from stdin; 'rush -command < file'. 'rush -imgcommand' and 'rush -donecommand' were similarly enhanced. IRUSH now makes use of this feature, to prevent quoting restrictions. > Mac OSX: First official release of the GUI's for the mac platform: namely irush, rushadmin, rushtop, onrush, etc. > Windows: avoids problem where a sluggish disk server for the frame logs no longer affects daemon response during process creation. Process creation modified. Also, now logs process id correctly. > 'submit-maya window is now resizable, so you can widen the fields, to see long filenames. To facilitate this, the 'Advanced' options are now in a separate window; hit 'Advanced' button to see it. > rushadmin now backgrounds itself (ILLUVATAR) > 'rush -log' now has '-tail' option to enable 'tailing' logs in realtime. > When 'MaxTime' bumps a frame, a message is appended to the frame log > IRUSH o Tailing of frame logs in realtime has been added. Keeps window scrolled to bottom of log, too! 'Edit->Tail Logs' option added.
o Revamped 'online help'; Now uses scrollable html based popup help. Implemented into irush. New online irush 'tutorial' and 'Tips And Tricks' sections were added.. Example irush online help screen:
o Image Command is now invoked if you hold down ALT while double clicking on a frame. This obsoletes the 'Use Image Command' checkbox, so its no longer needed in the irush preferences. o Subtle bug with 'Use Image Command' caused checkbox to sometimes show 'off', but image command would still run. Same changes applied to 'Use Colors' and 'Help Messages'. Code simplified. o 'Hosts' and 'All Hosts' report now shows '???.???.???.???' hosts in red, to help make obvious a problem is a foot. o Fixed problem with 'Logs' button not lighting up during double click on frame log. (Need this now that 'Tail Logs' option is available) o Tooltip help messages have been added to all irush buttons now and input fields. This includes the 'frame' and 'job' report screens, describing what double click actions are available. o Mods to ensure long running processes aren't left behind. Identified this when 'rush -log -tail' was added. Both UNIX and MICROSOFT code modified for PipeCommand class to ensure *killing* subprocess and children; under unix, setsid() added. o irush wasn't printing errors if 'rush' executable couldn't be found. Fixed: now prints error in the tty window. o 'Run' menu renamed 'Hotkeys' > 'rush -an' only adds neverhosts if not already in the neverhosts list > 'rush -ping' now includes the number of entries in the tasklist (tasks) > 'rush -log' was reporting 'file not found' errors to cout instead of cerr; fixed. > Windows install script uses new setenv command that appends to PATH without fear of quoting problems in existing paths. install.bat modified and simplified. Also, ability to remove rush environment variables added to uninstall.bat. > INTERNALS: o MyFile::Open() added optional 'mode' argument to force open perms on things like tmp files. o irush: Massive name changing for EditRunCommand -> EditHotKeyCommand, runcmd -> hotkeycmd, and other related variable name changes. o input: Multiple windows now supported; added 'winshow/winhide' options to the 'button' type, and added 'hide' option to 'window' type. o ntkill: improved error messaging, fixed problem where -f wasn't being parsed correctly. Might improve killing of subprocesses. o killpid.exe renamed to killtree.exe, rush.conf modified accordingly o windows: improved performance of gmake by including -r Release Notes for 102.31k - 02/05/02 Simple Fixes -------------------------------------------------------------------------- > rush: ignores blank lines that contain white space in rush hosts file > Backed out fix to clamp rendering beyond batch limit, due to problems caused if a user adds more frames in irush later. Better to render 'bonus' frames than to cause confusion when adding frames. > Windows: setsockopts() precedes bind() to ensure SO_REUSEADDR correctly implemented. > Windows: Various changes to TCP library to further detect and prevent non-blocking I/O EADDRINUSE errors on connect(). Subtle fixes made to error code checking and pass backs. 3 tier BSD error deferral identified; bind() error deferred through connect() and on to select(). > Tweaked to include invoking 'perl' interpreter on self to avoid weird winnt 'error #193'. > rush/windows: implemented error #193 to complain about unknown interpreter. Release Notes for 102.31j - 01/29/02 Simple Fixes -------------------------------------------------------------------------- > irush: 'Job Edit->Done' wouldn't always indicate 'You're not owner' dialog. Removed 'return(-1)' from AlertMessage.C during readqueue() loop. > rush/windows: stdin was not being inherited by render scripts This important fix helps people running Softimage/XSI and 'gmake' under windows. Fixes 'stdin: unable to duplicate file handle' errors, and others. > irush/unix: fixed 'pipe read error' when double clicking frames to view logs SIGCLD signals from imgcommand's system(3) was causing read()s to fail. > Added 'disablepflags' to rush.conf Lets sysadmins disable 'k' and/or 'a' priority flags. > tweaked to prevent run beyond last frame when batching. Had to back this out in 102.31k due to problems this causes in irush if frames are added. Release Notes for 102.31i - 01/14/02 Simple Fixes -------------------------------------------------------------------------- > IRUSH: "All Cpus -& Reque" and "Logs" now use jobid from report This was causing the CURRENT JOB to be affected, instead of the job selected from the 'All Cpus' report. Removed unusable or non-intuitive controls (eg. 'Remove Cpu', 'Change Priority'), made separate controls for the All Cpus report. > Windows Only: removed "Pid:" from frame logs; it was reporting the daemon's pid instead of the frame. Removed from log until this can be resolved. Lack of fork()/exec() behavior makes this pretty hard :/ Release Notes for 102.31h1 - 01/11/02 Special Fix -------------------------------------------------------------------------- > Fixed frame fail problem with linux served jobs rendering on windows machines Linux job server was not interpreting SIGHUP messages sent by NT machines correctly, causing requed, getoff'ed, or otherwise bumped frames to not requeue, but would show up as 'Fail'. (VINTON 01/11/02: 102.31h1) Release Notes for 102.31hg - 09/26/02 Special Fix: ESCFX -------------------------------------------------------------------------- > Fixed bug where '0' as frame increment causes crash Release Notes for 102.31hf - 09/20/02 Special Fix: ESCFX -------------------------------------------------------------------------- > More attention to Logical.C constructor Logical's assignment operator leaked memory. (ESC/FX 09/23/02) Release Notes for 102.31he - 09/20/02 Special Fix: ESCFX -------------------------------------------------------------------------- > Fixed memory leak Logical's assignment operator leaked memory. (ESC/FX 09/20/02) Release Notes for 102.31h - 01/08/02 Simple Fixes -------------------------------------------------------------------------- > Fixed problem where tasklists grow with old jobs Rush now sweeps old jobs out of the tasklist, to prevent accumulation that would slow down the cpu scheduler. Problem would show on machines reserved or offline for long periods during high volume job submissions. Added 'taskkeepalivesecs' to rush.conf, which sets the keepalive interval. Systems programmer notes: TASKCHANGE_KEEPALIVE messages added to protocol to initiate sweeps. Modified: Task.[CH], Conf.[CH] Sched.C (PROTOCOL CHANGE/CENTROPOLIS) > Further speed improvement/optimization in windows Tcp transactions. Removed SetLastError(), and added more correct error message generation to make getsockopt(SO_ERROR) report errors from connect()s. Also: o Replaced Tcp::Fgets with faster reader from rush.C. o ReadSelect() now done BEFORE the recv() o rush's private TcpFgets() consolidated into Tcp.C o Error handling for BinaryRead() et al. > irush now honors the RUSH_FU variable to preset the FU button (TURNER) > 'rush -jobnotes' multiline notes no longer uses multiple connections Streamlined into one single connection. (PROTOCOL CHANGE/ESC FX) > irush: fixed FLTK bug with tooltips showing wrong tooltip Imported fix to Fl_Tooltip.cxx from fltk-1.1.0b8 over to local copy of fltk-1.1.0b5. > irush: fixed stuck-down buttons when doing right-click help while tooltip displayed This was fixed in fltk by Mike Sweet in 1.1.0b9 and up. I imported the fix to a local copy of 1.1.0b5. > Fixed typo in examples/; "lwns" -> "lwsn". (CHERNICK) > irush: About->Help: focus box disabled for monkey > 'rush -submit' no longer blocks daemon if invoked interactively. (ESC FX) Release Notes for 102.31g - 12/18/01 Simple Features/Fixes -------------------------------------------------------------------------- > 'rush -cp' Can now change number cpus for host groups on the fly You can now do things like 'rush -cp +any=100@200 =30' (ESC) > keepall/keeplast implmented for Windows (they had never been ported) > 'rush -reserve' does uid/gid range checks (CENTROPOLIS) > Created Conf::CheckUidGidRange() to consolidate uid/gid range checks Modified: Process.C, Spawn-UNIX.C, User.C > Added '' to the examples directory; submits lightwave jobs. > 'framelist' and 'jobinfo' file perms abide 'forceuser' rules now > Restored 'connection refused' for tcp connections. Added select()/getsockopt(SO_ERROR) to handle non-blocking connect()s. > Speed up of windows Tcp Added black magic Sleep(0) to Windows Tcp::BinaryRead() Release Notes for 102.31f (PRERELEASE) 11/09/01 Simple Features/Fixes -------------------------------------------------------------------------- > Windows frame logs now log the actual user the process is running as (RunningAs:) as well as the 'Nice:' and 'Pid:' values. > Windows now keeps track of the user who submitted the job. When users control each other's jobs, their usernames are now compared to determine whether they are allowed to do so or not (eg. windows now heeds 'disablefu'). (PROTOCOL CHANGE) Windows processes still run as the user configured for the service, and when *windows jobs* run on *unix processors*, the user it runs as is *still* the ntrushuid/gid. > Removed 'OLD_SUBMIT' code in rushd.C; no need for it. > OSX / Mac now supported. No code was modified, only new -DARWIN files for CpuInfo and Net. > RUSH modifications o Added 'rush -lacf' (VINTON) o permissions on framelist/jobinfo files were inherited from daemon. now set umask to 0 so perms are open, just like the frame logs o 'rush -lc' 'cpuspec' column widened by a few chars to prevent ragged reports. At some point this should be customizable, just like the -lj/-laj reports. o Windows/rushd now uses a 'sharing write lock' to prevent DOS xcopy from hanging when it hits the .RUSHD.LCK file during customer installation. o rush 'nevercpus' now supports +hostgroup specifications 'rush -an/-rn' has had +hostgroup support for a while. o rush/windows: MicroSoft.C: full error messages now supported Fixes from common/MicroSoft.C applied to daemon. o .rushd.LCK file now contains the rushd's PID o "Fgets(): recv(fd,buf,1): got 0 bytes" errors now indicate remote host info (VINTON) > IRUSH modifications o Added to Edit->Preferences->Use Image Command o rushtop remembers previous window size o 'Cpus' and 'Frame Info' reports now in color Added 'Frame Info' report type to Run->Edit menu, tested. o Fixed sorting behavior for first column of all color reports Color formatting characters were affecting alphabetic sorting of first column. Few noticed; alphabetical ordering wasn't as critical as the grouping. o irush: fixed sorting behavior for color "** NO RESPONSE" messages (VINTON) o Irush's window size is preserved in ~/.irushrc o Fixed 'tabbing order' focus navigation for all buttons/controls o Added 'Network -> Rushtop Window' and File->New->Rushtop + Onrush Gives easy access to the other programs from within irush. o irush: Added 'Edit->Preferences->Help Messages' This allows disabling the 'tooltip' help messages > onrush: o added Fl::wait(0.1) for 'NO DATA', disabled chooser coloring o status selector is now always white. > rushsendmail (windows) moved from rush/bin to rush/etc/bin > input: mods to support better submit GUI behavior for windows o buttons now have 'exitok' keyword o buttons now have 'xyinc' keyword o buttons no longer unlink the INPUT_DBASE file (command must do it) > Using new version of GUI toolkit FLTK 1.1.0b5 This fixes some redraw problems, event bugs, cut + paste behavior, and adds 'focus box' behavior, etc. > Source code preparation for deposit -- #define MICROSOFT, etc. > All inconsistent references to 'neverhosts' in code and docs now changed to 'nevercpus' Release Notes for 102.31e - 11/06/01 Simple Features/Fixes -------------------------------------------------------------------------- > irush: simplified interface layout Did various things to help irush compile with fltk 1.1.0b5 (but still releasing with fltk 1.0.9). Among other things, sort buttons use new MyButton::SetFocusBox(0) to disable focus box. FLTK 1.1.0b5 MODIFICATIONS: 1) Symbols commented out from fl_draw.cxx and unconditional return added to fl_symbols.cxx, 2) Fl_Choice patch applied to prevent "Select All.." down-button overdrawing text for choices. > rush -dexit/-dexitnow kills renders before exiting > rushd: improved PDH error message reporting All errors in PDHMSG.H implemented. > irush: Fixed sizing behavior of gray window after divider repositioned If after reposition of divider, double clicking a frame to view logs caused divider to revert to a previous position. FL_DRAG now sets savebar_y. > irush: Fixed delay with double click on frame to see logs Using Fl::wait(0.1) during pipe reading waits. > Added diagnostics (-dlog a) for job dumping to help trace delays in windows version during dumping. > rush/var/lastjobid file included in release Helps scripts that try to read this file to predict the next jobid will work after a new install or upgrade. > A keyhit will now close help windows Supports use of focus box and spacebar to open windows > Added /MD compile flag to ensure multithreaded DLL > irush: On exit, kills any pending operations This prevents delays when choosing close, as it would wait until other operations would complete. Release Notes for 102.31d - 10/28/01 Simple Features/Fixes -------------------------------------------------------------------------- > Windows rush now supports donemail rush.conf must have 'smtpserver' and 'smtpfrom' configured for donemail to work under windows. > Admin can control column formatting of 'rush -lj / -laj' via rush.conf Customers can now change the output format of -lj and -laj via these new rush.conf commands: jobheader1, jobheader2, jobfmt, alljobsheader1, alljobsheader2, alljobsfmt. > rush(1): added "-t <tcp_timeout>" flag to control tcp timeouts Rewrote TCP library to use non-blocking sockets. That was fun. (CENTROPOLIS) > Fixed rushtop bug where MANY windows would open if typo on command line. If user specified incorrect hostnames on command line, caused rushtop to open multiple error windows. > Added 'tcptimeout' to the rush.conf file, to control the default This setting affects the default for both daemon (rushd) and client (rush). > irush: windows resize behavior modified when grey window open When window is resized, if grey tty area is present, it sizes with the screen. If it's not present, then the white tty resizes. This also corrects a problem where a resize could cause the tty area to run into the button area. > rush on windows: squelch 'connection reset by peer' messages in -laj. These messages are from machines up but not running rush. MS doesn't give the return address, so it's a useless error. > irush: jobids on command line overrides RUSH_JOBID variable Also: when jobid set, title of window changes to jobid WITHOUT the distracting irush version info. > input(1) now supports creating simple popup boxes -p and -t options added. > rushtop: added -s command line argument to control update speed (CENTROPOLIS) > All GUI's now have icon names (Fl_Window::xclass("name")) This allows icons to be assigned to windows (CENTROPOLIS) > rushtop -help GP fault under windows fixed Release Notes for 102.31c - 10/20/01 Important Bugfix/Features -------------------------------------------------------------------------- > Fixed stray pointer bug that affects dependon in Windows Modified String::SetFieldSep() (VINTON) > rushd closes all unused sockets/files before spawning render This prevented rushd restarts when orphaned renders were still running. Unix and Windows. (CENTROPOLIS) > irush/rushtop/onrush modified to not eat Xwindows colormap Added Fl::visual() to main, prevents Fl_Pixmap() from razing the colormap to the ill effect of other X programs (CENTROPOLIS) > rushtop(1): corrected reporting of ram for linux Wasn't subtracting out kernel buffers and caches from used memory, causing rushtop(1) to show more ram in use than was necessary. (ICT) > irush: added Fl_Window::xclass("irush") to support icons > rush -push verifies remote Close()ed correctly Release Notes for 102.31b - 10/16/01 Important Bugfix/Features -------------------------------------------------------------------------- > Avoid bind() errors during daemon restarts. Stop/Starting the daemon causes it to start immediately, avoiding 1 or 2 minute Added new rush.conf option 'tcplistener.reuseaddr' > Added daemon lock file, to prevent multiple instances of daemon Prints error if starting extra daemon, eg: # /etc/init.d/rush start rush start: rushd: daemon already running > Fix for logdir creation in NFS directories not exported to root This fix should really work this time, unlike 102.30e. (GVFX) > IsFile_NET() includes character devices as files now. Important fix to bug introduced in 102.31 wrt /dev/null changing from a character device to a normal file when logfile is /dev/null (ie. logging is disabled), esp when using 'rush -reserve'! Release Notes for 102.31a - 10/13/01 Features/Fixes -------------------------------------------------------------------------- > rushtop(1) indicates dead machines by drawing white "////"s over cpu bar > rushtop(1) now properly shows cpu activity for dual proc linux hosts cpu0 always showed 0 activity, while cpu1 showed correctly. Fixed. > Windows rushd closes CreateProcess() handles hThread and hProcess during process kills. The rushd.exe "handles" count was increasing whenever processes were Killed. Fixed. > rush.conf defaults modified, as per Centropolis experiments: maxnewtaskmsgs: changed from 20 to 30 jobupdatethrottle: changed from 30 to 10 > rushtop(1) now sorts all hosts alphabetically > rushtop(1) on unix now backgrounds itself unless new -nofork flag specified. > rushtop(1) new flags added: -d and -nofork > Fixed these windows specific problems: o Fixed rushtop(1) so as not to leave behind orphaned 'rush.exe' processes. o rushd(1) now backgrounds process kills. Improves speed on slow or loaded machines. o Fixed release scripts: rush wasn't killing processes because the new killpid.exe program was released to examples\bin instead of etc\bin. o Fixed rushd(1) so both cpus of dual proc windows machines show up in rushtop(1). o Fixed problem where hitting 'Send' caused an error in the TTY window about the "2>&1" redirection. Release Notes for 102.31 - 10/01/01 MAJOR FEATURES RELEASE -------------------------------------------------------------------------- > 102.31 RUSH ENHANCEMENTS: o New 'rushtop' gui shows realtime graphs of cpu, memory and swap for all machines running rush daemons. Similar to SGI's 'gr_osview(1) but for all processors on the net, not just one machine.

rushtop(1) screenshots. Bars update once per second.

o New 'rushadmin' GUI simplifies remote admin of rush config files. This program lets you modify rush config files, and quickly distribute them out to all the other machines.
o Added 'os=unix' and 'os=windows' prefixes to rush.conf This allows a single 'rush.conf' file to be maintained across platforms. The 'os=..' command can be used as a prefix to any rush.conf command. See docs for details. o Added new job paused state 'LicPause', and new submit command 'licpausesecs' to set number of seconds before job unpauses. Useful for handling render license errors. o New 'rush -push' simplifies distributing rush hosts/license/config files. New administrative command simplifies distribution of common rush files easy, esp. on multiple platform networks. o Added Cpu/Memory/Swap fields to 'rush -status' reports This supplies cpu/memory info to the new rushtop(1) gui, which shows cpu and memory load on remote processors. o Added 'allowpush' to rush.conf. Enables/disables new sysadmin feature that allows license, hosts and config file to be easily distributed to the network (similar to 'yppush'). o Added MaxCpus; 'rush -maxcpus', irush "Job Edit" updated (But probably not yet recommended for use) o Added -lhg (list host groups) and -lhc (list host criteria). Also added these options to irush in "Networks -> Show All Criteria" and "Networks -> Show All Hostgroups" o 'rush -log' now complains if no frames specified; was silent. o Some rush return values in 'rush -log' were -1 instead of 1 o Serv2Port_NET() modified to handle port numbers in the context of service names. (if service name's first char is digit). o Serv2Port_NET() returns _host_ order port number instead of net. All code modified to support change. o iface errors improved to show in netstat format "(ip.ip.ip.ip:port)" o Udp overhauled to be more generic for bidirectional transmissions o Udp GetRemotePort() made portable o Updated email: -> o (internal) Consolidated all xpm's to one xpm dir o Added "Title:" to rush's frame log headers. o Udp 'connection refused' now reports remote hostname, if any > 102.31 RUSH FIXES: o malloc()s, strdup()s and 'new' never fail to allocate memory. Errors are logged to the rushd.log. Prevents daemons from dumping when machine is in near-death swapping during rendering. o Fixed 'not in process table' error messages o Conf file reload causes killcommand.Clear() o Now announces uid/gid problems with remotes in 'rush -lc' reports. 'newtasknak' messages added. PROTOCOL INCOMPATIBLE WITH 102.30e and lower. (GVFX/EMERSON) o When logdir isn't accessible on a remote machine, the error is now added to the cpus report, instead of just the rushd.log > 102.31 IRUSH ENHANCEMENTS: o Added 'Down' button to frames/cpus/hosts control bar so users can interactively invoke 'rush -down' to indicate rush remote hosts are down. o Double clicking a frame shows log for that frame (as well as ImgCommand, if any.) o Job reports show 'LicPause' jobs in dark cyan o Added 'LicPause' to 'Job Controls' window o Added 'licpausesecs' to 'Job Edit' window o Fixed tabbing order for 'Job Edit' input prompts o ALT-L hotkey: invokes 'Logs' in frames report o Jobid and version number now shown in title bar. o "Logs" button rellocated slightly; some users complained it was too close to the relatively destructive 'Que' button. (STEAMBOAT) o Added 'Log Flags' chooser to job editor o Added 'Daemon Logs' button to 'Frames' 'All Hosts' and 'Cpus' reports shows logs with color high lighting o Holds last scrolled position in framelist for operations such as view 'logs' and 'try'. Similarly, in large cpu reports when doing operations such as changing priorities, removing cpus, etc. > 102.31 IRUSH FIXES: o Fixed broken 'Cpus -> Nevercpus' errors that surfaced in 102.30e. > 102.31 INPUT ENHANCEMENTS: ('input' is the GUI behind the submit-generic/submit-maya scripts) o and now let you save/retrieve your input fields to/from a file. Windows are also resizable now. input(1): Added new 'menubar' command to window{} block, which adds the 'File' menubar to the interface, letting users save/load their data entries. (525/KWCC/DIGITALLAB) o AlertMessage windows now resize to text specified (input, etc) > 102.31 INPUT GUI FIXES: o Input had bug with printing error messages (Insert(0,msg) instead of Insert(msg,0)). Affected debugging of 'input' based programs, caused them to coredump on an error. o now appends an 'exit' to commands if the shell is DOS-Batch, to ensure the exit code of the last command is returned. (MEGIDDO) > 102.31 MISC: o Fixed help windows from getting stuck on screen if user moves mouse out of window before it is created. (Under Windows, if you drag right or down, still leaves window up. But that's an fltk problem) o .render and .submit added to NT for csh users o NT version default 'taskcleanuphour' was 19 instead of 5 o manpage for rushd added o Tutorial improved; add Frame Logs, Pausing Jobs. o NT install.bat does a pushd to the bin dir, so script can be run with rsh as a single command. Release Notes for 102.30h - 08-01-01 -------------------------------------------------------------------------- > During submit, ensure can't add same frame# to a job twice, eg: frames 1-10 5 Job::Addframes() was modified. Release Notes for 102.30g - 07-10-01 -------------------------------------------------------------------------- > FIX: (linux) mac address was ignored if dummy interface installed. Affects only linux machines acting as license servers. Release Notes for 102.30f - 06-02-01 -------------------------------------------------------------------------- > FIX: rush -status not honoring -s [secs] due to mods made in 102.30e. This affected esp. onrush, causing onrush to eat cpu because 'rush -status' was spooling out so much data. Release Notes for 102.30e - 05-30-01 -------------------------------------------------------------------------- > FIX: rush -status not honoring -s [secs] due to mods made in 102.30e. This affected esp. onrush, causing onrush to eat cpu because 'rush -status' was spooling out so much data. > FIX: submit fails if root can't access the log directory. eg. '[pathname]: not a directory' even though it IS a directory, just not accessible by root.(WDTV) > FIX: daemons now detect changed license file automatically. Prevents need to reboot daemons to see new license file. Also fixed maxhosts counter -- was failing with n-1 hosts instead of n. > FIX: GetIdent() in Lic-LINUX close() sock and fopen()'s. > ENHANCE: rush -lac/-laj/-status now complete as soon as all hosts requested have responded; ie. doesn't keep waiting '-s <secs>' unless one or more hosts haven't responded yet. > ENHANCE: 'rush -jobnotes' now reads from stdin if no notes are supplied on the command line. This also helps irush edit jobnotes that contain special characters or blank lines. > FIX: rush(1) help; updated help (removed -lajq and other obsolete flags) Release Notes for 102.30d - 05-20-01 -------------------------------------------------------------------------- > ENHANCE: IRUSH: Job reports show in colors (CENTROP) > FIX: 'List All Jobs' (-laj) wasn't showing new Done/Fail states for jobs. Release Notes for 102.30c - 05-07-01 -------------------------------------------------------------------------- > ENHANCE: Added new submit script option 'maxtime' which lets one configure a maximum time for rendering frames, before the frame is automatically requeued. See MaxTime docs. (CENTROP/525) > ENHANCE: irush: added colors to frame reports (Fail shows red, Run shows green, etc). Colors can be turned on and off via "Edit->Preferences->Use Colors", which is saved in your ~/.irushrc file. (CENTROP) > ENHANCE: irush: added column sorts. Click on headings to sort by that heading. (3DSITE/WDTV) > ENHANCE: Popup help documentation added to onrush. > FIX: irush: o Added new 'maxtime' value to Job Edit window o Dump/End/Pause/Continue makes proper job controls appear, regardless of previous context o Fixed tabing traversal problem in Job Edit; with DoneCommand and ImgCommand. o Help windows pop up quicker o Fixed problem with help windows constraining within irush o Help appears on button *release*, preventing stuck open wins. o irush now uses common HelpWindow class o split bar position no longer lost when window resized. Added call to Fl_Group::init_sizes() whenever split bar moved. > FIX: irush/onrush/input: HelpWindow no longer has bug where sometimes opens constrained within the irush window, instead of over it. Prevented delete/create for each popup by adding resizable() to HelpWindow(). Modified MyInput/onrush/irush. > ENHANCE: 'input' (used by, etc) modified to: o Allow colors to be specified for buttons o Single buttons that can run simple commands directly o A way to specify simple system() calls vs. piped output o Can optionally specify 'showfail' on a per-widget basis > RELEASE: documentation is now separate from the distribution Release Notes for 102.30b - 05-02-01 -------------------------------------------------------------------------- > FIX: irush/windows only: PipeCommand fixed buffer overrun during ReadFile() operations that was breaking \r handling. > FIX: rush operations no longer modify the user's frame notes, but may append message output to the frame notes field in reports. (internally, new 'rushnotes' field added to Frame.[CH], which is now maintained separately) > ENHANCE: New submit script 'frameflags keepnotes' allows controlling the behavior of whether frame notes are auto-cleared or not. Release Notes for 102.30a - 04-28-01 -------------------------------------------------------------------------- (eval release to megiddo) > FIX: irush: "** NO RESPONSE FROM" messages ignored during cpu/job selections (ie. 'select all') > FIX: irush: when multiple jobids are set and you hit 'Jobs', all jobs for each UNIQUE machine are shown. This prevents redundant reports for the same machines. (GVFX) > FIX: irush should now handle \r's properly. Old behavior can still be gotten via 'irush -nofix', an option that will become obsolete. (MEGGIDO) (eval release below this point) > FIX: stuck 'Strt' state frames fixes. o Ignores stale DONE messages for previous frames. Added check to verify not only sequence numbers, but frame numbers as well. o Ignores re-reaping process if already in DONE state. Included checks for multiple active processes with same PID. > FIX: 'JOBPASS ignored/state already JOBPASS' messages are now handled. > FIX: bug fixed where it was getting notes from all jobs on the machine, instead of just the one in progress. > FIX: optimization for 200 'single frame' jobs all submitted at once. Manifest: o Added 'maxnewtaskmsgs' to rush.conf files o Optimized sending newtaskmessages to prevent storming. New 'maxnewtaskmsgs' throttles back outbound messages to controllable amounts. > ENHANCE: Job reports show job state to be "Done" when all the frames are Done, 'Fail' when one or more frames have failed and the rest are done. > ENHANCE: Benign messages about sequence ids are squelched. Can be enabled via 'rush -dlog q' > INTERNALS: In Job.C, references to 'state' -> 'GetState()' Release Notes for 102.30 - 04-23-01 -------------------------------------------------------------------------- > ENHANCE: Added 'nice' as an option to the submit script, and lowered the default to 10. The old default seemed to have a profound effect on render times under i386/RedHat 6.1. > FIX: 'Imgcommand' in submit scripts was only getting the first word. Release Notes for 102.21b - 04-17-01 -------------------------------------------------------------------------- > ENHANCE: Created 'onrush' gui to control online/offline state of rush daemon > ENHANCE: All daemon state changes are now logged > ENHANCE: Added to NT release > FIX: Misc tweaks to and > FIX: fixed problem w/WINNT only: bumped/getoffed frames were "Fail"ing instead of requeueing. > INTERNALS: rush/common directory created, irush/onrush/input programs now all use common libs. Release Notes for 102.21a - 04-10-01 -------------------------------------------------------------------------- > FIX: www-rush brought up to date with 'List All Hosts', Change Priority, supports new '.' jobid separator, etc. > ENHANCE: Boot script handles more graceful shutdown when renders are running. Also, INIT.D messages added to rushd.log for clarity. > ENHANCE: made more generic. > ENHANCE: 'input' program now supports new 'showfail' flag, to control whether failure popups are displayed, in addition to the error windows. > ENHANCE: Added 'rush -cp' to allow changing of priorities on the fly > ENHANCE: 'PRI' column added to 'rush -lc' reports, eg: From: "STATE FRM PID JOBTID ELAPSED NOTES"; To: "STATE FRM PID JOBTID PRI ELAPSED NOTES"; ^^^^^^^^^^^^^ > ENHANCE: irush supports changing priorities on the fly with new -cp option. See 'Priority' button/input control in 'Cpus' report. > ENHANCE: Added 'Uping' buttons to "Cpu Controls" and "Host Controls" > ENHANCE: Added 'All Hosts Full' to main reports window > FIX: Priority value sanity checks didn't prevent bad values from taking place. Rewrote Priority::SetPriorityStr(const String& s). > FIX: irush missing on-line help for "Cpu Controls" and "Host Controls" > INTERNAL: Cpus_TCPCMD() [rushd.C] mods: From: #define EMSG "FAIL/NEVERHOSTS" To: #define EMSG "FAIL/CPUS" ^^^^ From: msg << "expected '" << cmdname << " <jobid> <fu> <specs..>', " To: msg << "expected '" << cmd << " <jobid> <fu> <specs..>', " ^^^ > INTERNAL: All comments refering to 'ChangeRequest()' [*.C,*.H] changed to 'Task::JobChanged()' Release Notes for 102.21 - 04-02-01 -------------------------------------------------------------------------- > ENHANCE: added tcpsockopt to rush.conf file, including 'TCP_NODELAY' which is now set by default > FIX: WINNT not removing C:/TEMP/.RUSH_TMP directories correctly. "RMDIR /Q /S" replaced with recursive FindFiles()/DeleteFile()/RemoveDirectory() > FIX: Changed RUSH_ISDAEMON to include pid of daemon, so render scripts invoking rush(1) don't print those 'reloading hosts file' messages. > FIX: WINNT error messages #32 and #33 fixed to show descriptive messages > ENHANCE: Windows NextPort() now called every tcp connect, rather than just when a program starts. ('static unsigned int alport' -> 'unsigned int alport') > included in unix releases Release Notes for 102.20g - 03-30-01 -------------------------------------------------------------------------- > FIX: 'connection refused' problem fixed in rresvport() for all UNIX platforms. The Windows fix (101.81) was now brought into compiles for all platforms. Release Notes for 102.20e - 03-24-01 -------------------------------------------------------------------------- > ENHANCE: irush backgrounds the 'imgcommand' using CreateProcess() on NT, and a fork()/system() on unix. > FIX: WINNT: socket()'s are all set to be non-inheritable, so child processes don't inherit TCP/UDP sockets, which can cause daemon restart difficulties if child renders with bound sockets become orphaned. (525) > FIX: Rewrote daemon redirection code; includes O_NOINHERIT for NT so daemon's log not inherited by child processes. Should also prevent all problems with NT daemon's log becoming silent. (525) Release Notes for 102.20d - 03-20-01 -------------------------------------------------------------------------- > ENHANCE: NT only: Special >CONSOLE_BREAK_EVENT< added to rush.conf's 'killcommand', so one can enable the internal kill mechanism if desired. Used to be this was ALWAYS used, preceding any configured killcommands. But this prooved to be troublesome, since in some cases it orphaned renders before the better perl kill scripts could do it a better way. (525) > ENHANCE: Submit process optimized, to prevent unnecessary destructor/constructor activity; submits of jobs with large frame lists should be snappier. > ENHANCE: Added 'jobidsep' to rush.conf file. Allows sysadmin to change jobid separator character if needed. Only '.' and '-' are recommended. Some companies may find '.' avoids problems on networks with hostnames like 'nt-3' (525) > FIX: UDPBUFSIZE set to 65000 for rush -laj/-lac/-status.. these Udp oriented reports had a 1000 character limit. (GVFX) > FIX: IRUSH 'Job Edit' wasn't handling multiple jobids for WaitFor and DependOn, and wasn't checking for trailing commas needed by the command line. > DEBUG: MyMalloc setup to use LinkList over array for increased speed during debug testing Release Notes for 102.20c - 03-16-01 -------------------------------------------------------------------------- > ENHANCE: If an 'imgcommand' is configured for a job, irush will invoke the command when you double click on a frame in the frame list. > ENHANCE: irush 'try' count reset added to 'Frame Controls' > ENHANCE: irush 'JOB EDIT' now has prompt for LogDir > ENHANCE: irush REPEAT button now highlights all repeatable buttons > ENHANCE: irush JOB EDIT, DUMP and END buttons repositioned, to avoid accidental DUMPs. > ENHANCE: windows install script makes sure C:\TEMP exists (525) > ENHANCE: 'rush -que run|start|die' added > ENHANCE: Added 'ImgCommand' to submit script, 'rush -imgcommand' for irush. > FIX: (525 Studios) fixed problem where jobs get cpus stuck in 'Done' state in cpu reports.. Job server wasn't reverting on duplicate messages. > FIX: A job is now done when dumped/ended if all its cpus (rush -lc) are not busy. This, as opposed to checking the framelist. (Works around stuck 'Strt' frames so job can still be dumped) > FIX: Reboot logging, and setuid() logging was missing CRLF's. > INTERNAL: 'X' debugging now simulates duplicate udp packets as well Release Notes for 102.20b - 03-03-01 -------------------------------------------------------------------------- > EXAMPLES: Included works in progress for R&D purposes only: ${RUSH_DIR}/examples/bin/input ${RUSH_DIR}/examples/ ${RUSH_DIR}/examples/ > ENHANCE: gethostname() errors fixed, use NETERR instead of SYSERR, etc. > ENHANCE: new rush.conf command 'killcommand', used ** by NT only **, allows one to set their own command used to kill process ids. Useful for killing stubborn CSH that comes with houdini, eg: killcommand csh -c "kill -HUP %ld" > FIX: Check for host dot-notation now uses %d.%d check instead of isdigit(hostname[0]) to avoid numeric hostname situations such as > FIX: Local host lookups now use ipaddr by default to avoid customer hostname(1) output not matching contents of rush hosts list. Use 'oldlocalhost' rush.conf flag to disable this feature. Release Notes for 102.20a - 03-01-01 -------------------------------------------------------------------------- > FIX: Workaround for irix fork()/setpgid() SGI panic on multiproc origin w/6.5.8 Use 'irixsetpgid' rush.conf flag to disable this workaround. Release Notes for 102.20 - 02-17-01 -------------------------------------------------------------------------- > ENHANCE: The behavior for 'rush -lac' has been moved to 'rush -lah', since it 'Lists All Hosts'. 'rush -lac' now lists the status of all cpus on the network, which is more reasonable behavior. > ENHANCE: 102.17c's new options -lajq/lacq has been converted to -laj/-lac, To access the old rush behavior for these flags, use: setenv RUSH_PRE102_20 1 > ENHANCE: irush modified: 'All Hosts' added, help improved. > ENHANCE: get_ether added to win/nt Release Notes for 102.17c - 02-05-01 -------------------------------------------------------------------------- > ENHANCE: rush -lajq (List All Jobs Quick) added. Helps get listings of all jobs *quickly* on large networks. Includes 'no response' summary. > ENHANCE: rush -lacq (List All Cpus Quick) added. Helps get listings of all jobs *quickly* on large networks. Includes 'no response' summary. > ENHANCE: irush o Added buttons for new 'all jobs/cpus quick' commands. o Added 'Select All Frames' to Frame Controls' "Select All..." choices. > ENHANCE: rush -status now reports machines that didn't respond in a small summary at the bottom of the report. > FIX: rush tmp dirs are now removed as root, incase pre-existing tmp directories owned by another user was left behind. (GVFX) > FIX: daemons clean up stale tasks automatically by reawakening tasks in JobPass/CpuPass states, based on hours specified in rush.conf: taskcleanhours #[,#..] Includes anti-network storming timer to offset the cleanup up to 40 minutes after the hour, based on each host's index in the host list. (BLUESKY) > ENHANCE: Added pid to cpu.acct logs. See cpu.acct for details. Release Notes for 102.17b - 02-02-01 -------------------------------------------------------------------------- > *FIX: jobtids/cputids are now uniquely assigned, even through daemon reboot. This fix prevents problems with 'stuck frames' after a daemon is rebooted, followed by a job quickly submitted to it. Release Notes for 102.17a - 01-26-01 -------------------------------------------------------------------------- > ENHANCE: Host groups can now expand to include ALL CPUS on each host. This is configurable via rush.conf's new 'expandallcpus' flag. > ENHANCE: rush.conf: added 'expandcpus' flag. > *FIX: During submit, job's ram value was not getting set properly for host group specifications. During task creation stage of host group expansions, ram was not being set. Release Notes for 102.17 - 01-18-01 -------------------------------------------------------------------------- > 'rush -logdir' added > 'rush -logflags' added Release Notes for 102.16c - 01-13-01 -------------------------------------------------------------------------- > NEW: major irush gui fixes: IRUSH 0.90; Help mostly done Repeat Run menu working, and running commands Winnt thread bug fixed; String declaration moved INSIDE locking code > ENHANCE: setenv RUSH_JOBID "tahoe-34 tahoe-35 erie-15"; rush -lj ..will now list jobs on "tahoe" and "erie", instead of local workstation. > FIX: 'rush -status' percentages now match 'rush -lj' Release Notes for 102.16b - 01-04-01 -------------------------------------------------------------------------- > NEW: irush gui now included in releases > ENHANCE: 'rush -lf' causes daemon to fork child to handle sending data > ENHANCE: 'rush -lf' and all other long reports now come up quickly (esp. sgi) due to improved TCP buffering while reading 'line at a time' data. -- added TcpFgetsNoCRLF() with recv() buffering > *FIX: 'rush -log' now uses TCPSENDEXIT() instead of TCPSEND() to do an Exit instead of a return. Problem: dupe forked daemon created if client killed during log transmission. (UNIX ONLY) > Various fixes to irush gui and www-rush for ISI.EDU install. Release Notes for 102.16a - 12-16-00 -------------------------------------------------------------------------- > ENHANCE: 'rush -uping' defaults to one ping sent, and waits only 5 secs. (Previous default behavior was 5 pings, 10 second waits) > ENHANCE: 'rush -af' now sorts frames into list, rather than appending. You can use reorder if you want to append them. Release Notes for 102.16 - 12-12-00 -------------------------------------------------------------------------- > FIX: 'rush -lj tahoe tahoe' would cause a 'list range error'; intertwined for() loop variables [t] and [r] repaired. > INTERNAL: $G_frames by default is disabled in www-rush > INTERNAL: Frand_NET() does one time srand() > INTERNAL: Added File and Lic classes, license system modified > ADDITION: 'rushd -hostid' and 'rushd -validate' Release Notes for 102.15b - 12-04-00 -------------------------------------------------------------------------- > FIX: Added <<ERR>> to all TCP message parsing errors, so exit status is returned to user. Release Notes for 102.15a - 12-04-00 -------------------------------------------------------------------------- > FIX: MS version of code only: a bug introduced in 102.14 (addition of 'rush -reserve') caused CreateProcess() not to check error codes. rushd.log contains errors "WaitForSingleObject(0): The handle is invalid." > FIX: 'rush -jobnotes -' will clear jobnotes. You couldn't clear them previously. > BUILD: Makefile's and build scripts use VERSION file now > NOTE: irush gui in alpha -> beta transition state. Release Notes for 102.15 - 11-27-00 -------------------------------------------------------------------------- > minor release bumped for BlackMountain eval. Release Notes for 102.14a - 11-15-00 -------------------------------------------------------------------------- > ADDITION: 'rush -log' created > ENHANCE: 'rush -ljf' now reports bad jobids, instead of ignoring them > ENHANCE: 'rush -lff' added line breaks between frames > ENHANCE: 'Jobid' column added to 'rush -lf' > ENHANCE: If a uid outside the uid range is used, rush complains right away. (unix only) > ENHANCE: www-rush: added an 'End' button to the Jobs screen, added docs for the Job Controls screen, added a 'Help' message at the top of the www-rush screen. 'Frames' version now officially supported. > ENHANCE: if RUSH_JOBID is set to "", behaves as if not set at all. (To support behavior in irush) > NOTES: irush (GUI) is being written. Tweaks to rush for support. Release Notes for 102.14 - 11-15-00 -------------------------------------------------------------------------- > BUGFIX: percentages in -lfi/-lj reports now shows percentages where 0<x<1 are shown as 1, and 100>x>99 are shown as 99. > ADDITION: cpu.acct includes exit code/signal number of process > BUGFIX/OPTIMIZATION: First job took ~30secs to start; tasks in IDLE/NAK. Was occuring when job server was both not serving any jobs AND not rendering any frames, and someone submits the first job. > ADDITION: 'rush -reserve' added. Lets people reserve cpus, eg. 'rush -reserve tahoe=2@200'. Optional 'ram' value can be included to reserve a particular amount of ram as well. > ENHANCE: rush -dump/pause/cont takes 'username[@host]' as argument, eg. 'rush -dump fred' dumps all jobs on localhost owned by fred. and 'rush -dump fred@host' dumps fred's jobs on a particular host > ENHANCE: rush -lj +any prints "hostname\r" if stdout isatty. Similar to 'rush -laj' so you can see which hosts it gets stuck on. > ENHANCE: rush -ac/-rc/-an/-rn all include jobid in output report, and 'extra blank line' report output bug fixed with -rc. > BUGFIX: Fixed help message for 'rush -rc'; included '.tid' syntax Release Notes for 102.13a - 11-0?-00 -------------------------------------------------------------------------- > ENHANCE: -deltaskfu cleans up stuck frames (it didn't before) > BUGFIX: Fixed help messages for -deltaskfu > ADDITION: rush -usend added for admin use only. Release Notes for 102.13 - 10-15-00 -------------------------------------------------------------------------- > ADDITION: Added "host:iface" to rush hosts file so one can specify which network iface to use, eg. use ethernet iface instead of default atm. > BUGFIX: chdir(tmpdir) after tmpdir created (UNIX) > BUGFIX: WAIT for fork()ed rmdir to finish before creating new copy Release Notes for 102.12a - 10-1?-00 -------------------------------------------------------------------------- > FIX: 'rush -criteria -' disables any previous criteria > FIX: Fixed some usage errors in 'rush -help' docs > ENHANCE: Added 'rush -fullhelp' > FIX: Daemon installs as 'chmod 4750' instead of 4755 (to prevent accidental execution by TDs) Release Notes for 102.12 - 10-11-00 -------------------------------------------------------------------------- > FIX: Fixed 'waitfor' field in 'Job Attributes'; was being ignored > FIX: Fixed 'waitfor'; wasn't kicking in frames once job entered RUN state. Job::SetState() now wakes up all JobPass tasks. Release Notes for 102.11 - 10-08-00 -------------------------------------------------------------------------- > FIX: Fixed problem with 'rush -title' not changing title in tasks (job was ok) > FIX: 'rush -command' and 'rush -donecommand' were not working; fixed > FIX: Fixed multiple retransmissions of CpuPass (during "No Available Ram") in Sched::_AdvertiseIdlePriGroup() causing these numerous ALERTs in logs: ALERT Ignored Frame Arbitration 'j2c-frmarb vaio-488 3 2 2 2 CpuPass1 "Ram unavailable on nt (150>106)" ': seqid mismatch [..] ..Skips non-IDLE tasks in second loop, where Sched::CpuPass() changes state of task, but does not remove it from tsorts array. In small amounts these msgs are benign; they just mean the task chaged state (frm got done) between the msg transmission and the remote ack. > 'rush -down' now removes tasks from remote schedulers (tasklist) since now JobTasks et al. never time out. > Changed CpuPass acking: was jobserver acked w/CPUPASS1, now CPUPASS2 > Fix for error "Task 'CpuPass2' ignored for non-existent frame 0" if cpuserver rejects a new task before a frame is assigned. > All methods in Job.C refering to cpus[].GetTasks() were moved to Cpu class to aid in centralizing GetTasks() references for "cpus-busy" dumps. > TODO: Reboot of a job server should notify all remote tasklists that the job is no longer valid, to flush inactive JobPass/CpuPass tasks from the scheduler. Currently you must 'rush -down' to clean them up. Release Notes for 102.10 - 09/29/00 -------------------------------------------------------------------------- > Added 'State' to rush -ljf > add -waitfor and -dependon > Added 'rush -cat[o]log' to rush & www-rush > Added 'rush -try' > Fix to String.C: mallocsize=0, List library bug > Tweaked rush exit codes values: -1 -> 1 Version Description ------- ------------------------------------------------------------------ 102.00 -- 09/27/00 -- Added 'dependon' -- Added Averages and ETAs -- Fixed %d -> %lu for elapsed time string conversions -- 'endl's added to SECURITY messages (eg. uid range errors) causing long lines in the logs. -- You can now -dump or -end a job in the Wait state (you had to pause it first) Also fixed related error messages. -- Added rush -command, -donecommand so these can now be tweaked on the fly while a job is running. -- Added hostname to daemon boot log messages, to catch problems if hostname changed while daemon running. 101.84d -- String.C tweaked for ignorecase in hostnames -- JobPass no longer has a timer; job re-awakens via UnPass messages -- DNS: fixed issue with local hostname being, but only 'foo' configured in rush hosts. -- During 'rush -online', ensure jobs rescheduled more quickly -- www-rush: o Popen() now reports errors o fixes for add/remove cpus o new docs o JobModification: menu and all submits have docs now 101.84c -- 09/12/00 -- -- Fix: DNS CNAME's are now cached on the fly. Host.C modified. -- Added 'rush -lacf' 101.84b -- 09/10/00 -- -- Added ntrushuid/gid to control uid/gid values when jobs submit from NT *and* run under unix. -- Strengthening. Added double checks of min/max uid/gid's. No problem existed, just being paranoid. -- 'rush -d a' now precedes conf file loading, so debugging can be applied to the conf file loading process. Also, logflags commented out from conf file, to avoid overriding command line. 101.84a -- Fix for microsoft log rotation; G_conf.log was being closed but not re-attached() -- Fix: 'rush -que 1-10' changes didn't wake up JobPass state on cpu servers. 101.84 -- 09/06/00 -- -- Added 'rush -rc .<jobtid>' -- Added JobTid to 'rush -lc' report % rush -lc CPUSPEC[HOST] STATE FRM PID JOBTID ELAPSED NOTES vaio=3@11 Busy 0001 4659 1 00:00:07 ^^^^^^ -- www-rush: Fixed bug with Job Modification -> Cpus -> (all screens) where multiline text caused embedded \r\n's in 'rush -opt' commands. -- www-rush: Fixed bug with Reports -> Cpus -> Remove Cpus removing entire specs, instead of individual specs. -- FIXED 'PAUSE/CONT' PRIORITY BUG (GVFX). When a high priority job is paused, then later continued, it was not being sorted back into the list; it remained at the bottom. -- FIXED LOW PRIORITY SNEAK BUG. A single job in single priority grouping with multiple tasks only issued one task, instead of all of them. Thus, lower pri jobs would sneak in. 101.83 -- 08/26/00 -- -- Removed 'REPORT= +Frames+' message from www-rush -- 'disablefu' added to rush.conf (BLACK LOGIC). -- Added 'prioritystr' to Process.[CH], so -status can output priority for running processes -- '-status -s secs'; secs checked if >=1, else error -- Fixed jobs with single frame not rendering right away. If killer process has enough ram to use a machine, but cpu(s) are busy with indefeatable cpus, frame will take, and then requeue quickly. On single frame jobs, this means the single frame won't render for a few minutes. ** BLUESKY DECALPHA RENDERFARM FIXES ** -- Added # busy frames to 'j' field of 'rush -status' -- Add 1.13d input buffer absorption to rushd.C, and tweaks for 'inmaxmsg' to Conf.[CH] and etc/rush.conf -- Truncate domain names from framelist -- Fix problem where sometimes frame gets DONE without showing retries or pid. This was due to RUN sometimes being missed, then process completes. So frame goes straight from START -> DONE. Moved retry increment to Frame::Done(), and added pid as argument, so pid doesn't get lost. -- Added UnPass state after JobPass/CpuPass timer expirations. solves silly messages about sequid mismatches after a job completes, eg: >> ALERT Ignored Frame Arbitration 'j2c-frmarb va-12 2 3 697 1332 Idle ': seqid mismatch May also fix problem with occasional stuck Start states. -- Fixed problem with single frame renders not 'taking' (BLUESKY) -- rush -status tweaks: 'h' host record added 'p' records appear for idle cpus (fields '-'ed out) 'p' records now include priority 'd' record includes #cpus configured '-s secs' the secs value if <1 returns an error 101.82a -- (CENTROPOLIS) outbound socket()s now bind() to localhost iface. To ensure packet srcaddr same as localhost's, esp. on hosts with multiple (ethernet/hippi/fddi, etc) interfaces. -- Fixed WINNT bug with /dev/null -> nul; "logdir -" yields: /dev/null: The system can not find the path specified. 101.82 -- 'rush -exitbat <code>' for MSDOS batch scripts to use -- 'rush -an/-rn' takes host groups for arguments -- S99rush script added -- www-rush: cpus modification screen added -- www-rush: 'rush -status' screen format improved -- 08/05/00 -- 101.81 -- The -tasklist report fields have been better aligned -- Added automatic log rotation; 'logrotatehour' to rush.conf file -- When submitted job asks for cpus that are offline, shows 'offline' in "rush -lc" report. (Modified "newtaskack" to include a msg arg) -- Fixed 'rush -status'; > memcpy() dest/src swap > added #cpus total to 'd' report > 4 digit padding for frame number -- save offline/online state in reboot file -- Added system("kill <pid>") to microsoft code to ensure killing chalice correctly. -- Supported -uping and -status under WinNT -- Fixed hostname alignment in -uping -- Fixed bug in -ramlist report for total ram (Sched.C) -- Heavy mods to Tcp.C; added rresvport() support under WinNT, added an MS compat version of rresvport() -- Fixed MS error messages 101.80 -- rush -lj/ljf can now use host *OR* jobid 101.71 -- fixed close() vs closesocket() in NT version, which caused slow mouse, and left frames QUE in middle of job -- UPING is now only using one port. Phased out the 'clientport/serverport' stuff. 101.70 -- fixed 'echo ID:; id -a' debug msgs in etc/template -- NT version handles log file redirection