While I'm debugging the above, there's something else that I would love to get your help with.
When running a TOPs dependency tree using “Submit Graph as Job” I'm running into 2 problems:
- custom Python modules don't get picked up
- custom environment variables are not being passed along
We're always launching our Houdini scenes in a specific show/sequence/shot environment.
The “PYTHONPATH” env variable specifies where to pick up custom Python modules and we're also passing some env variables such as “$SHOW”, “$SEQ”, “$SHOT” and so on.
If I run the same TOPs graph using “Dirty and cook selected mode”, it works just fine.
Here's a log in which I have a custom OTL in the /OUT/ context that imports some custom modules, on top of that I have a Python Script TOP printing some environment variables using "print os.environ for example.
Can I please get your feedback on this? Is there something that I'm doing wrong on my side?
=======================================================
Error
=======================================================
Error: Process returned non-zero exit code: 1
at Deadline.Plugins.PluginWrapper.RenderTasks(String taskId, Int32 startFrame, Int32 endFrame, String& outMessage, AbortLevel& abortLevel)
=======================================================
Type
=======================================================
RenderPluginException
=======================================================
Stack Trace
=======================================================
at Deadline.Plugins.SandboxedPlugin.d(DeadlineMessage arh)
at Deadline.Plugins.SandboxedPlugin.RenderTask(String taskId, Int32 startFrame, Int32 endFrame)
at Deadline.Slaves.SlaveRenderThread.c(TaskLogWriter ahl)
=======================================================
Log
=======================================================
2019-09-20 12:27:09: 0: Loading Job's Plugin timeout is Disabled
2019-09-20 12:27:11: 0: Executing plugin command of type ‘Sync Files for Job’
2019-09-20 12:27:11: 0: All job files are already synchronized
2019-09-20 12:27:11: 0: Synchronizing Plugin PDGDeadline from P:/stormborn/tst/wow/wow_0050/houdini/pdgtemp/18860/plugins\PDGDeadline took: 0 seconds
2019-09-20 12:27:11: 0: Done executing plugin command of type ‘Sync Files for Job’
2019-09-20 12:27:11: 0: Executing plugin command of type ‘Initialize Plugin’
2019-09-20 12:27:12: 0: INFO: Executing plugin script ‘C:\Users\Stormripper01\AppData\Local\Thinkbox\Deadline10\slave\stormripper01\plugins\5d85280829c0293e6ccadb10\PDGDeadline.py’
2019-09-20 12:27:12: 0: INFO: *********** PDGDeadline InitializeProcess
2019-09-20 12:27:12: 0: INFO: About: PDG Plugin for Deadline
2019-09-20 12:27:12: 0: INFO: Render Job As User disabled, running as current user ‘Stormripper01’
2019-09-20 12:27:12: 0: INFO: The job's environment will be merged with the current environment before rendering
2019-09-20 12:27:12: 0: Done executing plugin command of type ‘Initialize Plugin’
2019-09-20 12:27:12: 0: Start Job timeout is disabled.
2019-09-20 12:27:12: 0: Task timeout is disabled.
2019-09-20 12:27:12: 0: Loaded job: PDG tst_wow_0050_wrk_pdgDeadlineTest_v001 (5d85280829c0293e6ccadb10)
2019-09-20 12:27:12: 0: Executing plugin command of type ‘Start Job’
2019-09-20 12:27:12: 0: INFO: Executing global job preload script ‘C:\Users\Stormripper01\AppData\Local\Thinkbox\Deadline10\slave\stormripper01\plugins\5d85280829c0293e6ccadb10\GlobalJobPreLoad.py’
2019-09-20 12:27:12: 0: INFO: Looking for AWS Portal File Transfer…
2019-09-20 12:27:12: 0: INFO: Looking for File Transfer controller in C:/Program Files/Thinkbox/S3BackedCache/bin/task.py…
2019-09-20 12:27:12: 0: INFO: Could not find AWS Portal File Transfer.
2019-09-20 12:27:12: 0: INFO: AWS Portal File Transfer is not installed on the system.
2019-09-20 12:27:12: 0: Done executing plugin command of type ‘Start Job’
2019-09-20 12:27:12: 0: Plugin rendering frame(s): 0
2019-09-20 12:27:12: 0: Executing plugin command of type ‘Render Task’
2019-09-20 12:27:12: 0: INFO: StartFrame: 0
2019-09-20 12:27:12: 0: INFO: Startup Directory: P:/stormborn/tst/wow/wow_0050/houdini/pdgtemp/18860
2019-09-20 12:27:12: 0: INFO: Looking for task file: P:/stormborn/tst/wow/wow_0050/houdini/pdgtemp/18860/job_16b1c15bc93844828ed0837ccdb46a28\task_0.txt
2019-09-20 12:27:12: 0: INFO: Setting PATH: C:\Program Files\Thinkbox\Deadline10\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Python27;C:\python27\lib\site-packages;C:\Python27\Scripts;C:\Program Files\MongoDB\Server\3.4\bin;C:\Program Files\Sublime Text 3;C:\Program Files\Git\cmd;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Users\Stormripper01\AppData\Local\Microsoft\WindowsApps;C:\Users\Stormripper01\AppData\Local\GitHubDesktop\bin;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps;;C:/houdini/17.5.384/bin
2019-09-20 12:27:12: 0: INFO: $HYTHON mapped to: C:/houdini/17.5.384/bin/hython.exe
2019-09-20 12:27:12: 0: INFO: Task Executable: C:/houdini/17.5.384/bin/hython.exe
2019-09-20 12:27:12: 0: INFO: Task Arguments: P:/stormborn/tst/wow/wow_0050/houdini/pdgtemp/18860/scripts/top.py –report none –hip P:/stormborn/tst/wow/wow_0050/houdini/tst_wow_0050_wrk_pdgDeadlineTest_v001.hip –toppath /obj/topnet1
2019-09-20 12:27:12: 0: INFO: Invoking: Run Process
2019-09-20 12:27:19: 0: STDOUT: Running Houdini 17.5.384
2019-09-20 12:27:19: 0: STDOUT: Loading .hip file P:/stormborn/tst/wow/wow_0050/houdini/tst_wow_0050_wrk_pdgDeadlineTest_v001.hip.
2019-09-20 12:27:23: 0: STDOUT: Error running event handler:
2019-09-20 12:27:23: 0: STDOUT: Traceback (most recent call last):
2019-09-20 12:27:23: 0: STDOUT: File “opdef:/storm:river/deadlineoutsubmitter::0.5?PythonModule”, line 10, in <module>
2019-09-20 12:27:23: 0: STDOUT: File “Z:\tools\python\deadline\HoudiniJobInterpreter.py”, line 24, in <module>
2019-09-20 12:27:23: 0: STDOUT: from sbHou import sbException, sbCam, sbShotInfo, sbNaming
2019-09-20 12:27:23: 0: STDOUT: ImportError: No module named sbHou
2019-09-20 12:27:23: 0: STDOUT: Given Node ‘topnet1’, Cooking Node ‘objectTest’
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 OnStartCook()
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 PDGMQ as separate task: False
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Local Working Dir: P:/stormborn/tst/wow/wow_0050/houdini
2019-09-20 12:27:24: 0: STDOUT: Remote Working Dir: P:/stormborn/tst/wow/wow_0050/houdini
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Starting deadline command process
2019-09-20 12:27:24: 0: STDOUT: Checking ENV variables ———————————————-
2019-09-20 12:27:24: 0: STDOUT: client:
2019-09-20 12:27:24: 0: STDOUT: Checking ENV variables ———————————————-
2019-09-20 12:27:24: 0: STDOUT: client:
2019-09-20 12:27:24: 0: STDOUT: Checking ENV variables ———————————————-
2019-09-20 12:27:24: 0: STDOUT: client: 12:27:23 onStopCook()
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Cancelling tick timer
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Stopping shared servers
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 No root job running in onStopCook
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Stopping MQ Relay server
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 MQ Relay stopped
2019-09-20 12:27:24: 0: STDOUT: 12:27:23 Stopping deadline command process
2019-09-20 12:27:24: 0: STDOUT: From node pythonscript1:
2019-09-20 12:27:24: 0: STDOUT: pythonscript1 failed to run script: Traceback (most recent call last):
2019-09-20 12:27:24: 0: STDOUT: File “pythonscript1_script”, line 13, in <module>
2019-09-20 12:27:25: 0: STDOUT: File “C:/houdini/17.5.384/python27\lib\os.py”, line 425, in __getitem__
2019-09-20 12:27:25: 0: STDOUT: return self.data
2019-09-20 12:27:25: 0: STDOUT: KeyError: ('CLIENT',)
2019-09-20 12:27:25: 0: STDOUT: pythonscript1_2 failed to run script: Traceback (most recent call last):
2019-09-20 12:27:25: 0: STDOUT: File “pythonscript1_script”, line 13, in <module>
2019-09-20 12:27:25: 0: STDOUT: File “C:/houdini/17.5.384/python27\lib\os.py”, line 425, in __getitem__
2019-09-20 12:27:25: 0: STDOUT: return self.data
2019-09-20 12:27:25: 0: STDOUT: KeyError: ('CLIENT',)
2019-09-20 12:27:25: 0: STDOUT: pythonscript1_1 failed to run script: Traceback (most recent call last):
2019-09-20 12:27:25: 0: STDOUT: File “pythonscript1_script”, line 13, in <module>
2019-09-20 12:27:25: 0: STDOUT: File “C:/houdini/17.5.384/python27\lib\os.py”, line 425, in __getitem__
2019-09-20 12:27:25: 0: STDOUT: return self.data
2019-09-20 12:27:25: 0: STDOUT: KeyError: ('CLIENT',)
2019-09-20 12:27:25: 0: STDOUT: Traceback (most recent call last):
2019-09-20 12:27:25: 0: STDOUT: File “P:/stormborn/tst/wow/wow_0050/houdini/pdgtemp/18860/scripts/top.py”, line 223, in <module>
2019-09-20 12:27:25: 0: STDOUT: exit(1)
2019-09-20 12:27:25: 0: STDOUT: File “C:/houdini/17.5.384/python27\lib\site.py”, line 351, in __call__
2019-09-20 12:27:25: 0: STDOUT: raise SystemExit(code)
2019-09-20 12:27:25: 0: STDOUT: SystemExit: 1
2019-09-20 12:27:25: 0: Done executing plugin command of type ‘Render Task’
=======================================================
Details
=======================================================
Date: 09/20/2019 12:27:28
Frames: 0
Elapsed Time: 00:00:00:18
Job Submit Date: 09/20/2019 12:27:04
Job User: stormripper01
Average RAM Usage: 16131113984 (12%)
Peak RAM Usage: 16179605504 (12%)
Average CPU Usage: 7%
Peak CPU Usage: 11%
Used CPU Clocks (x10^6 cycles): 118088
Total CPU Clocks (x10^6 cycles): 1686969
=======================================================
Slave Information
=======================================================
Slave Name: STORMRIPPER01
Version: v10.0.9.4 Release (b6c080b1a)
Operating System: Windows 10 Pro
Running As Service: No
Machine User: Stormripper01
IP Address: 192.168.100.10
MAC Address: 00:0A:CD:2D:29:5C
CPU Architecture: x64
CPUs: 32
CPU Usage: 5%
Memory Usage: 15.0 GB / 127.9 GB (11%)
Free Disk Space: 1.406 TB (58.347 GB on C:\, 1.349 TB on D:\)
Video Card: NVIDIA GeForce GTX 1080