AWS Thinkbox Discussion Forums

Houdini deadline Rop Error

Versions of software:
Deadline Client Version: 10.1.9.2 Release (3d6a64d94)
Houdini 18.0.348

Using the Deadline Rop with 2 mantra outputs connected to it

I get the following error:

File “opdef:/Driver/deadline?PythonModule”, line 25, in SubmitToDeadline
File “//isln-smb/aw_config/Pipeline/Deadline/DeadlineRepository10/submission/Houdini/Main\SubmitDeadlineRop.py”, line 537, in SubmitToDeadline
dlSubmitter.submitJobs()
File “//isln-smb/aw_config/Pipeline/Deadline/DeadlineRepository10/submission/Houdini/Main\SubmitDeadlineRop.py”, line 49, in submitJobs
job.submitJob()
File “//isln-smb/aw_config/Pipeline/Deadline/DeadlineRepository10/submission/Houdini/Main\SubmitDeadlineRop.py”, line 419, in submitJob
jobDeps = SHTDFunctions.SubmitRenderJob( self.rop, jobProperties, “,”.join( renderDependencies ) )
File “//isln-smb/aw_config/Pipeline/Deadline/DeadlineRepository10/submission/Houdini/Main\SubmitHoudiniToDeadlineFunctions.py”, line 592, in SubmitRenderJob
homeDir = subInfo[“UserHomeDir”]
KeyError: ‘UserHomeDir’

So in that file I find:

591 subInfo = json.loads( hou.getenv(“Deadline_Submission_Info”) )
592 homeDir = subInfo[“UserHomeDir”]

when I run hou.getenv(“Deadline_Submission_Info”) in the same file :

Python 2.7.15 (default, Jul 21 2019, 06:30:31) [MSC v.1916 64 bit (AMD64)] on win32
Houdini 18.0.348 hou module imported.
Type “help”, “copyright”, “credits” or “license” for more information.

hou.getenv(“Deadline_Submission_Info”)
‘{“Pools”: [“none”, “aw”, “common”, “critical”, “keyshot”, “sgm”, “test”, “thr3d”],
“RepoDirs”: {“submission/Houdini/Main”: “\\\\isln-smb\\aw_config\\Pipeline\
\Deadline\\DeadlineRepository10\\submission\\Houdini\\Main”, “draft”: “\\
\\isln-smb\\aw_config\\Pipeline\\Deadline\\DeadlineRepository10\\draft”,
“submission/Integration/Main”: “\\\\isln-smb\\aw_config\\Pipeline\\Deadli
ne\\DeadlineRepository10\\submission\\Integration\\Main”}, “MaxPriority”: 10
0, “Groups”: [“none”, “128gb”, “64gb”, “cloud_aw”, “cloud_thr3d”], “TaskLimit”: 5000
}’

I dont see anything about user home dir in that output. Any ideas?

After trying a bunch of stuff. I found moving to Houdini 18.0.566 did not have the problem and every is working.

1 Like

I have also just had this occur for us. It looks like the PreFirstCreate part of the deadline hda doesn’t get executed sometimes and this causes the default values to be loaded without the UserHomeDir key.

It is not every time that it doesn’t work, it looks like it’s something in the file we’re loading that is causing the PreFirstCreate to not run.

I found two solutions to this:

  1. Reload the file in the same Houdini session, for some reason it then correctly sets the “Deadline_Submission_Info” variable.

  2. Add some code to the SubmitToDeadline function in the PythonModule to check for the value and load it:

def SubmitToDeadline():
    import json
    sub_info = json.loads(hou.getenv("Deadline_Submission_Info"))
    if "UserHomeDir" not in sub_info:
        # If 'IS_HOUDINI_RENDERING' is 'TRUE', don't sync file from deadline repository.  We don't need these files during rendering time.
        if hou.getenv('IS_HOUDINI_RENDERING') != 'TRUE':
            if "CallDeadlineCommand" in sys.modules:
                subInfo = json.loads( CallDeadlineCommand( [ "-prettyJSON", "-GetSubmissionInfo", "Pools", "Groups", "MaxPriority", "TaskLimit", "UserHomeDir", "RepoDir:submission/Houdini/Main", "RepoDir:submission/Integration/Main", "RepoDirNoCustom:draft", "RepoDirNoCustom:submission/Jigsaw", ] ) )    
            else:
                subInfo = { "result" : { "Pools": ["none"], "Groups":["none"], "MaxPriority": 100, "TaskLimit": 5000, "UserHomeDir":"", "RepoDirs":{ "submission/Houdini/Main":"", "submission/Integration/Main":"", "draft":"", "submission/Jigsawegration/Main":"", "submission/Jigsaw":"" } } }
            
            hou.putenv( "Deadline_Submission_Info", json.dumps( subInfo["result"] ) )

1 Like
Privacy | Site terms | Cookie preferences