We’re toying with the idea of jumping ship from Pixar’s Tractor to Deadline based on its ability to burst to the cloud out of the box. However, I’m running into a few issues getting it to work with our pipeline.
First question:
I took the default Deadline Nuke plugin and created a copy, modified the .param file to fit the Nuke executable version we had installed (10.5v4 instead of v1) and told it to grab the arguments we send rather than having it build for us. However, I get the following error in Deadline Monitor (submitted through python API) (note: asterisked out certain information; the rest of the output is copy-paste):
[code]=======================================================
Error
Error: Error: Empty path name is not legal. (System.ArgumentException)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream…ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Deadline.IO.PathMappingUtils.b(String A_0, String A_1, String A_2, String[] A_3, String[] A_4, MappedOSPath[] A_5, Boolean A_6, DataController A_7, GenericDelegate11 A_8, String A_9) at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String[] stringsToReplace, String[] newStrings, DataController dataController, GenericDelegate1
1 logFunction, String regionID, Boolean readFileAsBytes)
at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String forceSeperator, String[] stringsToReplace, String[] newStrings, DataController dataController, GenericDelegate11 logFunction, String regionID) at Deadline.IO.PathMappingUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings, DataController dataController, GenericDelegate1
1 logFunction, String regionID)
at Deadline.Scripting.RepositoryUtils.CheckPathMappingInFileAndReplace(String inFileName, String outFileName, String[] stringsToReplace, String[] newStrings)
at Python.Runtime.Dispatcher.TrueDispatch(ArrayList args)
at Python.Runtime.Dispatcher.Dispatch(ArrayList args)
at FranticX.Processes.ManagedProcess.PreRenderTasks()
at FranticX.Processes.ManagedProcess.Execute(Boolean waitForExit)
at Deadline.Plugins.PluginWrapper.StartJob(String& outMessage, AbortLevel& abortLevel)
=======================================================
Type
RenderPluginException
=======================================================
Stack Trace
at Deadline.Plugins.SandboxedPlugin.a(DeadlineMessage A_0)
at Deadline.Plugins.SandboxedPlugin.StartJob(Job job)
at Deadline.Slaves.SlaveRenderThread.a(TaskLogWriter A_0)
=======================================================
Log
2017-07-07 16:00:54: 0: Loading Job’s Plugin timeout is Disabled
2017-07-07 16:00:56: 0: Executing plugin command of type ‘Sync Files for Job’
2017-07-07 16:00:56: 0: All job files are already synchronized
2017-07-07 16:00:56: 0: Synchronizing Plugin mpsNuke from \deadline.ldschurch.org\opt\Thinkbox\DeadlineRepository9\plugins\mpsNuke took: 0 seconds
2017-07-07 16:00:56: 0: Done executing plugin command of type ‘Sync Files for Job’
2017-07-07 16:00:56: 0: Executing plugin command of type ‘Initialize Plugin’
2017-07-07 16:00:56: 0: INFO: Executing plugin script ‘C:\Users*\AppData\Local\Thinkbox\Deadline9\slave*\plugins\59600490c0854163063b9e58\mpsNuke.py’
2017-07-07 16:00:57: 0: INFO: About: Nuke Plugin for Deadline
2017-07-07 16:00:57: 0: INFO: Render Job As User disabled, running as current user '********’
2017-07-07 16:00:57: 0: INFO: The job’s environment will be merged with the current environment before rendering
2017-07-07 16:00:57: 0: Done executing plugin command of type ‘Initialize Plugin’
2017-07-07 16:00:57: 0: Start Job timeout is disabled.
2017-07-07 16:00:57: 0: Task timeout is disabled.
2017-07-07 16:00:57: 0: Loaded job: *************** (59600490c0854163063b9e58)
2017-07-07 16:00:57: 0: Executing plugin command of type ‘Start Job’
2017-07-07 16:00:57: 0: INFO: Prepping OFX cache
2017-07-07 16:00:57: 0: INFO: Checking Nuke temp path: C:\Users************\AppData\Local\Temp\nuke
2017-07-07 16:00:57: 0: INFO: Path already exists
2017-07-07 16:00:57: 0: INFO: OFX cache prepped
2017-07-07 16:00:57: 0: INFO: Starting monitored managed process Nuke
2017-07-07 16:00:57: 0: INFO: Enable Path Mapping: True
2017-07-07 16:00:57: 0: Done executing plugin command of type ‘Start Job’
=======================================================
Details
Date: 07/07/2017 16:00:59
Frames: 1
Elapsed Time: 00:00:00:05
Job Submit Date: 07/07/2017 16:00:48
Job User: ***********
Average RAM Usage: 5248786432 (25%)
Peak RAM Usage: 5248786432 (25%)
Average CPU Usage: 3%
Peak CPU Usage: 5%
Used CPU Clocks (x10^6 cycles): 694
Total CPU Clocks (x10^6 cycles): 23115
=======================================================
Slave Information
Slave Name: **************
Version: v9.0.4.0 Release (1d07aab9e)
Operating System: Windows 10 Enterprise
Running As Service: No
Machine User: ************
IP Address: 10.88.104.241
MAC Address: 2C:44:FD:1C:78:3D
CPU Architecture: x64
CPUs: 12
CPU Usage: 13%
Memory Usage: 4.9 GB / 19.9 GB (24%)
Free Disk Space: 304.311 GB
Video Card: NVIDIA Quadro K4000
[/code]
Not sure what’s going on. The stack trace is only so helpful, as I can’t dig into Deadline’s actual code to figure out where the error actually is.
So I updated the default Nuke.param to the same Nuke 10.5v4 paths and tried to submit using the built-in Nuke submission script. The error is now that Deadline can’t find the executable, but still in the 10.5v1 path. How can I force the update to happen on the slave to make sure I can troubleshoot?
Thanks for any help!