AWS Thinkbox Discussion Forums

\ vs /

Hey Drafters

So I’ve been testing Draft on the Mac side of our render farm after Nuke jobs, and I just tried running a Maya job from windows. It errored out for not being able to read the path.

Mac path:

//pfcluster/PROJECTS/Systems_Test/DESIGN/NUKE/REN/Systems_Test/ProxyTest/SYS_ProxyTest_comp_XXX_v01_bg

Windows path:

\pfcluster\PROJECTS\Systems_Test\DESIGN\NUKE\REN\Systems_Test\ProxyTest\SYS_ProxyTest_comp_XXX_v01_bg

If memory serves, deadline has an automatic way of dealing with this.

Please advise, and thanks

Bill

Would it be possible for you to please post an error log? You can also submit your error log to us directly using our ticket system.

Looks like some of my problem (ie. Nuke now works on Windows farm nodes) was solved using this standard substitution info in Deadline (Mapped Path Setup):

thinkboxsoftware.com/deadlin … ssplatform

I’m attaching the job dir from the repository and here’s the error log from the Draft job:

=======================================================
Slave Log

0: Task timeout is disabled.
0: Loaded job: drafttest.nk (1/4) [DRAFT] (00j_100_005_75510cbd)
0: INFO: StartJob: initializing script plugin Draft
0: INFO: Found Draft python module at: ‘/Local/Farm11/Draft/Draft.so’
0: INFO: About: Draft Plugin for Deadline
0: Plugin rendering frame(s): 0
0: INFO: Draft job starting…
0: INFO: Stdout Handling Enabled: False
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Looking for bundled python at: ‘/Applications/Deadline/Resources/python/2.6.7/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python’
0: INFO: Render Executable: “/Applications/Deadline/Resources/python/2.6.7/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python”
0: INFO: Render Argument: -u “/Local/Farm11/jobsData/1K_1_movieProxy.py” username=“billg” entity=“1K_1_movieProxy07.py” version="" width=2048 height=1556 frameList=33-35 startFrame=33 endFrame=35 inFile="/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/masterLayer_bg\dc_draft_test_43_masterLayer_bg.####.exr" outFile=“C:\pfcluster\Alphaville\PRODUCTION\01_JOYLUCK\RENDERS\3D_ELEMENTS\dc_draft_test_43\mov\dc_draft_test_43_masterLayer_bg…mov” deadlineJobID=003_100_00b_52f07fc9
0: INFO: Startup Directory: “/Local/Farm11/Draft”
0: INFO: Process Priority: BelowNormal
0: INFO: Process Affinity: default
0: INFO: Process is now running
0: STDOUT: /Local/Farm11/Draft/DraftParamParser.py:34: DeprecationWarning: the sets module is deprecated
0: STDOUT: import sets
0: STDOUT: Draft Beta v1.0.0.46764
0: STDOUT: Draft provides basic compositing functionality for Python scripts, and is designed for tight integration with the Deadline Render Management System.
0: STDOUT: ?Thinkbox Software 2010-2012
0: STDOUT: Developed by: Mike Yurick, Jon Gaudet, Ian Fraser
0: STDOUT: This software uses libraries from the FFmpeg project (ffmpeg.org) under the LGPLv2.1
0: STDOUT: This software also uses libraries from the ImageMagick project, attributed to ImageMagick Studio LLC (imagemagick.org)
0: STDOUT: 1.0.0.46764
0: STDOUT: Command line args:
0: STDOUT: username=billg
0: STDOUT: entity=1K_1_movieProxy07.py
0: STDOUT: version=
0: STDOUT: width=2048
0: STDOUT: height=1556
0: STDOUT: frameList=33-35
0: STDOUT: startFrame=33
0: STDOUT: endFrame=35
0: STDOUT: inFile=/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/masterLayer_bg\dc_draft_test_43_masterLayer_bg.####.exr
0: STDOUT: outFile=C:\pfcluster\Alphaville\PRODUCTION\01_JOYLUCK\RENDERS\3D_ELEMENTS\dc_draft_test_43\mov\dc_draft_test_43_masterLayer_bg…mov
0: STDOUT: deadlineJobID=003_100_00b_52f07fc9
0: STDOUT: Traceback (most recent call last):
0: STDOUT: File “/Local/Farm11/jobsData/1K_1_movieProxy.py”, line 52, in
0: STDOUT: inFrame = Image.ReadFromFile(inFile)
0: STDOUT: RuntimeError: Cannot read image file “/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/masterLayer_bg\dc_draft_test_43_masterLayer_bg.0033.exr”. No such file or directory.
0: INFO: Process exit code: 1
00j_100_005_75510cbd.zip (6.35 KB)

Thanks! I think this should fix it.

Please open \repository\events\Draft\Draft.py with a text editor. Find these lines:[code] scriptArgs += 'inFile="%s" ’ % Path.Combine( outputDirectory, outputFileName )

				scriptArgs += 'outFile="%s" ' % draftOutput[/code]

and add “.replace( ‘\’, ‘/’ )” immediately after them:

[code] scriptArgs += 'inFile="%s" ’ % Path.Combine( outputDirectory, outputFileName ).replace( ‘\’, ‘/’ )

				scriptArgs += 'outFile="%s" ' % draftOutput.replace( '\\', '/' )

[/code]

Hi Paul

I did that but then got this error in the submit confirmation window:

Deadline Command 5.1 [v5.1.0.46398 R]
Submitting to Repository: /Volumes/DeadlineRepository
Submission Contains the Following:

  1. Auxiliary File #1 ("/Users/billg/Deadline/temp/nuke_plugin_info1.job")
  2. Auxiliary File #2 ("/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/2D_PROJECTS/NUKE/PRJ/billg/drafttest.nk")
    Events plugin ‘backup’ could not be loaded from the repository because: Could not open event plugin configuration “/Volumes/DeadlineRepository/events/backup/backup.dlinit” because: could not read hashtable file (Deadline.Events.DeadlineEventPluginException)
    Result=Success
    JobID=003_100_00b_1240fb97

and this error in the Draft farm render:


=======================================================
Error Message

Exception during render: An error occurred in RenderTasks(): Error in CheckExitCode(): Renderer returned non-zero error code, 1. Check the log for more information.
at Deadline.Plugins.ScriptPlugin.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage)

=======================================================
Slave Log

0: Task timeout is disabled.
0: Loaded job: drafttest.nk (2/2) [DRAFT] (00j_100_005_3d4a4b1d)
0: INFO: StartJob: initializing script plugin Draft
0: INFO: Found Draft python module at: ‘C:\Users\rush\AppData\Local\Thinkbox\Deadline\slave\Winfarm45\Draft\Draft.pyd’
0: INFO: About: Draft Plugin for Deadline
0: Plugin rendering frame(s): 0
0: INFO: Draft job starting…
0: INFO: Stdout Handling Enabled: False
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Looking for bundled python at: ‘C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\python.exe’
0: INFO: Render Executable: “C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\python.exe”
0: INFO: Render Argument: -u “C:/Users/rush/AppData/Local/Thinkbox/Deadline/slave/Winfarm45/jobsData/1K_1_movieProxy.py” username=“billg” entity=“1K_1_movieProxy07.py” version="" width=2048 height=868 frameList=33-35 startFrame=33 endFrame=35 inFile="/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/WINmasterLayer_bg/dc_draft_test_43_masterLayer_bg.####.exr" outFile="/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/WINmasterLayer_bg/Draft/dc_draft_test_43_masterLayer_bg…mov" deadlineJobID=003_100_00b_1240fb97
0: INFO: Startup Directory: “C:\Users\rush\AppData\Local\Thinkbox\Deadline\slave\Winfarm45\Draft”
0: INFO: Process Priority: BelowNormal
0: INFO: Process Affinity: default
0: INFO: Process is now running
0: STDOUT: Checking for license at @virtual04
0: STDOUT: C:\Users\rush\AppData\Local\Thinkbox\Deadline\slave\Winfarm45\Draft\DraftParamParser.py:34: DeprecationWarning: the sets module is deprecated
0: STDOUT: import sets
0: STDOUT: Draft Beta v1.0.0.46764
0: STDOUT: Draft provides basic compositing functionality for Python scripts, and is designed for tight integration with the Deadline Render Management System.
0: STDOUT: ©Thinkbox Software 2010-2012
0: STDOUT: Developed by: Mike Yurick, Jon Gaudet, Ian Fraser
0: STDOUT: This software uses libraries from the FFmpeg project (ffmpeg.org) under the LGPLv2.1
0: STDOUT: This software also uses libraries from the ImageMagick project, attributed to ImageMagick Studio LLC (imagemagick.org)
0: STDOUT: 1.0.0.46764
0: STDOUT: Command line args:
0: STDOUT: username=billg
0: STDOUT: entity=1K_1_movieProxy07.py
0: STDOUT: version=
0: STDOUT: width=2048
0: STDOUT: height=868
0: STDOUT: frameList=33-35
0: STDOUT: startFrame=33
0: STDOUT: endFrame=35
0: STDOUT: inFile=/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/WINmasterLayer_bg/dc_draft_test_43_masterLayer_bg.####.exr
0: STDOUT: outFile=/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/WINmasterLayer_bg/Draft/dc_draft_test_43_masterLayer_bg…mov
0: STDOUT: deadlineJobID=003_100_00b_1240fb97
0: STDOUT: Traceback (most recent call last):
0: STDOUT: File “C:/Users/rush/AppData/Local/Thinkbox/Deadline/slave/Winfarm45/jobsData/1K_1_movieProxy.py”, line 52, in
0: STDOUT: inFrame = Image.ReadFromFile(inFile)
0: STDOUT: RuntimeError: Cannot read image file “/pfcluster/Alphaville/PRODUCTION/01_JOYLUCK/RENDERS/3D_ELEMENTS/dc_draft_test_43/WINmasterLayer_bg/dc_draft_test_43_masterLayer_bg.0033.exr”. No such file or directory.
0: INFO: Process exit code: 1


Again, this is happening when trying to run it on windows, but not on OS X

Sorry I did miss that.

Could you please make a backup copy of \repository\events\Draft\Draft.py, and then try replacing it with version inside this ZIP file?

Please note that this Draft.py is missing the mov directory changes you made earlier.
Draft_event_script_with_path_mapping.zip (2.05 KB)

I made this change but it still doesn’t seem to be picking up on windows machines. It seems to come down to whether either the machine that the original job (Maya, Nuke, AE) was submitted to Deadline is OS X or Windows, OR, if the processor that kicks off the Draft job is OS X or Windows. I can’t really tell.

Here’s what I got when an AE job tried to run the Draft post-process (no new Draft jobs kicked off in the queue):


=======================================================
Log Message

Checking job for Draft settings…
Found Draft Template: ‘\pfcluster\PROJECTS_Pipeline\draft\python\1K_1_movieProxy.py’
Preparing Draft Job for output 1/1: \pfcluster\Alphaville\PRODUCTION\06_LOGO\RENDERS\COMPS\previz\DC_LOGO_comp_animatic v015_ah/DC_LOGO_comp_animatic v015_ah.mov
Submitting Draft Job to Deadline…

=======================================================
Log Details

Log Date/Time = Mar 28/12 20:52:04
Frames = (no task)

Slave Machine = (No Slave)
Slave Version = (no slave)

Plugin Name = Draft

My Nuke jobs that kick off in OS X work fine. The Draft group is all Mac farm machines. My Maya jobs run on Windows but then vanish (like above) when they try to run Draft (on OS X). The AE job was kicked off on a Windows machine into the Winfarm group, ie. all windows render nodes.

Not sure how to proceed. Any suggestions on how to troubleshoot stuff like this would be super appreciated.

Thanks

Bill

Hey Bill,

Paul and I have discussed this, and I think we figured out a solution for this. I’ll need to do a bit of coding for it, but I’ll upload the results here and let you know when I’m done.

In the meantime, I would recommend being careful with the Path Mapping stuff you added in Deadline. The inFile and outFile arguments currently aren’t getting passed through it anyways (though the script file itself should be), and I seem to recall that using our Path Mapping function to map “/pfcluster” to “\pfcluster” would result in triple slashes in some cases for you guys (which could muck up other renders). At least, that’s what I remember from a support thread with Andrew and Drew; just thought I’d give you a heads up :slight_smile:

Cheers,

  • Jon

HI Guys.

Just wanted to confirm that the changes you made to the other ‘plugin scripts’ that we use, have been implemented for draft. We had to have you adjust the maya, ae, cinema scripts to work, for our pathing setup. let us know if you want me to send an example back to you.

thanks.

Thanks for looking into this, Jon. BTW, the above post is from Drew Rosen, drew@prologue.com.

That’s part of what I was looking into here; the scripts I’m attaching to this post (and which will be part of the next Deadline release) should account for that.

Speaking of which, below are the updated scripts I’ve fixed up (four of them). The Draft plugin will now perform Path Mapping swaps on all arguments, as well as make sure paths only start with a single ‘/’ on Linux/OSX (instead of 2). Note that these scripts do not include any changes Paul may have suggested/provided for you guys, so you might have to edit these scripts to re-implement some of those (I haven’t been keeping track of them).

I’ve listed the appropriate location for each of these scripts in their file comments; these are all relative to the Repository’s root path. It’s particularly important that you extract them to the right spot, since there’s two of the zipped files that are named the same (Draft.py), but they go in different spots.

Let me know if you have any other questions.

Cheers,

Jon & crew!

Thanks so much for these! Based upon early testing, they’re working great!

Now for the next chapter…

:wink:

Bill

Privacy | Site terms | Cookie preferences